Regularisasi: mengapa dikalikan dengan 1 / 2m?

10

Dalam minggu 3 catatan kuliah dari kelas Coursera Machine Learning Andrew Ng , istilah ditambahkan ke fungsi biaya untuk melaksanakan regularisasi:

J+(θ)=J(θ)+λ2mj=1nθj2

Catatan kuliah mengatakan:

Kami juga dapat mengatur semua parameter theta kami dalam satu penjumlahan:

minθ 12m [i=1m(hθ(x(i))y(i))2+λ j=1nθj2]

12m kemudian diterapkan pada istilah regularisasi jaringan saraf :

Ingatlah bahwa fungsi biaya untuk regresi logistik yang diatur adalah:

J(θ)=1mi=1m[y(i) log(hθ(x(i)))+(1y(i)) log(1hθ(x(i)))]+λ2mj=1nθj2

Untuk jaringan saraf, ini akan menjadi sedikit lebih rumit:

J(Θ)=1mi=1mk=1K[yk(i)log((hΘ(x(i)))k)+(1yk(i))log(1(hΘ(x(i)))k)]+λ2ml=1L1i=1slj=1sl+1(Θj,i(l))2
  • Mengapa setengah konstan digunakan di sini? Sehingga dibatalkan dalam turunan ?J
  • Mengapa pembagian dengan contoh pelatihan? Bagaimana jumlah contoh pelatihan mempengaruhi banyak hal?m
Tom Hale
sumber
apakah Anda yakin 1 / m adalah pada regularisasi dan bukan pada J (theta) AFAIK @DikranMarsupial jawaban membuat asumsi ...... atau apakah J (theta) sendiri memiliki istilah 1 / m?
seanv507
Asumsi itu salah - diterapkan pada fungsi biaya yang tidak diatur dan ketentuan regularisasi. Saya telah memperbarui pertanyaan untuk memberikan formula lengkap. 12m
Tom Hale

Jawaban:

5

Misalkan Anda memiliki 10 contoh dan Anda tidak membagi biaya regularisasi L2 dengan jumlah contoh m . Maka "dominasi" dari biaya regularisasi L2 dibandingkan dengan biaya lintas-entropi akan menjadi 10: 1, karena setiap contoh pelatihan dapat berkontribusi pada keseluruhan biaya secara proporsional dengan 1 / m = 1/10.

Jika Anda memiliki lebih banyak contoh, katakanlah, 100, maka "dominasi" dari biaya regularisasi L2 akan menjadi sekitar 100: 1, jadi Anda perlu mengurangi λ yang sesuai, yang tidak nyaman. Lebih baik memiliki konstanta λ terlepas dari ukuran batch.

Pembaruan: Untuk membuat argumen ini lebih kuat saya membuat notebook jupyter .

yah
sumber
1
Hmm, tetapi bukankah tujuan faktor 1 / m sebelum fungsi biaya yang masing-masing contoh pelatihan memberikan kontribusi yang sama untuk biaya? Jadi, karena kita sudah rata-rata biaya individu, ini seharusnya tidak menjadi penyebab dominasi istilah L2. Namun, saya melihat dari simulasi hebat Anda bahwa faktor 1 / m juga sebelum istilah L2 membantu. Saya hanya belum mendapatkan intuisi di balik itu (belum).
Milania
Kenapa tidak nyaman ?? mudah untuk membagi biaya L2 dengan jumlah sampel. Saya pikir mungkin Anda mengatakannya dengan cara yang salah. Saya pikir Anda bermaksud mengatakan itu tidak nyaman untuk skala biaya L2 secara manual setiap kali, lebih baik untuk membagi dengan jumlah sampel sebagai bagian dari rumus untuk skala secara otomatis.
SpaceMonkey
6

J(θ)mλmJ(θ)mθ

Dikran Marsupial
sumber
mmλmmnm
Fungsi kerugian dalam pertanyaan adalah rata-rata dari semua contoh (yaitu dibagi dengan m), bukan jumlah, jadi saya tidak benar-benar melihat cara kerja jawaban ini.
Denziloe
@ Denziloe itu diterapkan pada istilah regularisasi juga.
Dikran Marsupial
2

Saya bertanya-tanya tentang hal yang sama persis ketika mengambil kursus ini, dan akhirnya meneliti sedikit ini. Saya akan memberikan jawaban singkat di sini, tetapi Anda dapat membaca ikhtisar yang lebih rinci dalam posting blog yang saya tulis tentang itu .

Saya percaya bahwa setidaknya sebagian dari alasan untuk koefisien penskalaan itu adalah bahwa regularisasi L² mungkin memasuki bidang pembelajaran mendalam melalui pengenalan konsep pembusukan berat badan yang terkait, tetapi tidak identik.

Faktor 0,5 kemudian ada untuk mendapatkan koefisien λ-satunya yang bagus untuk pembusukan berat dalam gradien, dan penskalaan dengan m ... well, setidaknya ada 5 motivasi berbeda yang saya temukan atau hasilkan:

  1. Efek samping dari penurunan gradasi batch: Ketika satu iterasi penurunan gradien diformalkan pada seluruh rangkaian pelatihan, menghasilkan algoritma yang kadang-kadang disebut batch gradient descent, faktor penskalaan 1 / m, diperkenalkan untuk membuat fungsi biaya sebanding di seluruh dataset ukuran yang berbeda, akan diterapkan secara otomatis ke istilah peluruhan berat
  2. Ubah skala menjadi satu contoh: Lihat intuisi grez yang menarik.
  3. Keterwakilan set pelatihan: Masuk akal untuk menurunkan regularisasi sebagai ukuran set pelatihan tumbuh, karena secara statistik, keterwakilan dari distribusi keseluruhan juga tumbuh. Pada dasarnya, semakin banyak data yang kita miliki, semakin sedikit regularisasi diperlukan.
  4. Membuat λ dapat diperbandingkan: Dengan semoga mengurangi kebutuhan untuk mengubah λ ketika m berubah, penskalaan ini membuat λ sendiri dapat dibandingkan di seluruh dataset ukuran yang berbeda. Ini membuat λ penduga yang lebih representatif dari tingkat regularisasi aktual yang diperlukan oleh model spesifik pada masalah pembelajaran tertentu.
  5. Nilai empiris: Notebook yang bagus grezmenunjukkan bahwa ini meningkatkan kinerja dalam praktik.
ShayPal5
sumber
0

Saya juga bingung tentang hal ini, tetapi kemudian dalam sebuah kuliah untuk pembelajaran mendalam. Andrew mengatakan ini hanyalah konstanta penskalaan:

http://www.youtube.com/watch?v=6g0t3Phly2M&t=2m50s

Mungkin ada alasan yang lebih dalam untuk menggunakan 1 / 2m tapi saya curiga itu hanyalah hiperparameter.

Keyan P
sumber
Ini tidak menjawab pertanyaan.
Michael R. Chernick