Derivasi Fungsi Biaya Regresi Linier Regularisasi per Kursus Pembelajaran Mesin Coursera

12

Saya mengambil kursus Andrew Ng "Pembelajaran Mesin" melalui Coursera beberapa bulan yang lalu, tidak memperhatikan sebagian besar matematika / derivasi dan bukannya berfokus pada implementasi dan kepraktisan. Sejak itu saya mulai kembali mempelajari beberapa teori yang mendasarinya, dan telah meninjau kembali beberapa kuliah Prof. Ng. Saya membaca ceramahnya tentang "Reguler Linear Regression", dan melihat bahwa ia memberikan fungsi biaya sebagai berikut:

J(θ)=12m[saya=1m(hθ(x(saya))-y(saya))2+λj=1nθj2]

Kemudian, ia memberikan gradien berikut untuk fungsi biaya ini:

θjJ(θ)=1m[saya=1m(hθ(x(saya))-y(saya))xj(saya)-λθj]

Saya sedikit bingung tentang bagaimana dia mendapat dari satu ke yang lain. Ketika saya mencoba melakukan derivasi sendiri, saya mendapatkan hasil sebagai berikut:

θjJ(θ)=1m[saya=1m(hθ(x(saya))+y(saya))xj(saya)+λθj]

Perbedaannya adalah tanda 'plus' antara fungsi biaya asli dan parameter regularisasi dalam rumus Prof. Ng berubah menjadi tanda 'minus' dalam fungsi gradiennya, sedangkan itu tidak terjadi pada hasil saya.

Secara intuitif saya mengerti mengapa itu negatif: kita mengurangi parameter theta oleh angka gradien, dan kami ingin parameter regularisasi mengurangi jumlah parameter yang kami ubah untuk menghindari overfitting. Saya hanya sedikit terjebak pada kalkulus yang mendukung intuisi ini.

FYI, Anda dapat menemukan dek di sini , pada slide 15 dan 16.

wellington
sumber
1
Dalam hasil Anda, Anda memiliki " + " sebelum y ^ (i) - apakah itu salah ketik?
Steve S

Jawaban:

12

J(θ)=12m[saya=1m(hθ(x(saya))-y(saya))2+λj=1nθj2]

Sekarang

θj(hθ(x(saya))-y(saya))2=2[(hθ(x(saya))-y(saya))θj{hθ(x(saya))}]

Perhatikan bahwa dalam model linear (sedang dibahas pada halaman yang Anda sebutkan),θj(hθ(x(saya))=[x(saya)]j

θjλj=1nθ2=2λθj

Jadi untuk kasus linier

θjJ(θ)=1m[saya=1m(hθ(x(saya))-y(saya))xj(saya)+λθj]

Sepertinya Anda dan Andrew mungkin memiliki kesalahan ketik. Ya, setidaknya dua dari kita bertiga tampaknya.

Glen_b -Reinstate Monica
sumber
itu dikonfirmasi, hanya salah ketik pada catatan Andrew, itu harus + tanda. Dan Prof dengan benar menjelaskan semuanya dengan benar termasuk intuisi θ (1-α (λ / m)) yang berarti setiap kali penyusutan ini θ kemudian minus bagian yang biasa sebelum regularisasi diperkenalkan.
Gob00st
4

Sebenarnya jika Anda memeriksa catatan kuliah tepat setelah video, itu menunjukkan rumus dengan benar. Slide yang telah Anda sebaris di sini menunjukkan slide video yang tepat.

masukkan deskripsi gambar di sini

Piyush
sumber
coursera.org/learn/machine-learning/supplement/pKAsc/… di sini tautannya ke catatan tepat setelah video menunjukkan formula yang benar.
Gob00st
1

Sebenarnya, saya pikir itu hanya kesalahan ketik.

Pada slide # 16 ia menulis turunan dari fungsi biaya (dengan istilah regularisasi) sehubungan dengan theta tapi itu dalam konteks algoritma Gradient Descent . Karenanya, dia juga mengalikan turunan ini dengan . Perhatikan: Pada baris kedua (slide 16) ia memiliki (seperti yang sudah Anda tulis), dikalikan dengan . Namun, pada baris ketiga istilah yang dikalikan masih negatif meskipun - jika baris kedua benar - tanda-tanda negatif akan dibatalkan.-α-λθ-α

Masuk akal?

Steve S
sumber