Apakah L2-normalisasi regresi ridge menghukum intersep? Jika tidak, bagaimana cara mengatasi turunannya?

8

Saya baru mengenal ML. Saya diberitahu bahwa L2-normalisasi regresi ridge tidak menghukum intersepsi . Seperti dalam fungsi biaya: Istilah normalisasi L2 \ lambda \ sum_ { j = 1} ^ {n} {\ theta_ {j} ^ {2}} hanya jumlah dari j = 1 ke n , bukan dari j = 0 ke n . Saya juga membaca itu:θ0

θJ(θ)=12i=1m(hθ(x(i))y(i))2+λj=1nθj2
λj=1nθj2j=1nj=0n

dalam kebanyakan kasus (semua kasus?), Anda lebih baik tidak mengatur θ0 , karena itu tidak mungkin untuk mengurangi overfitting dan menyusut ruang fungsi yang dapat diwakili

yang berasal dari jawaban terakhir dari user48956 dari Mengapa model regresi linear mencegat nol memprediksi lebih baik daripada model dengan mencegat?

Saya bingung bagaimana menyelesaikan turunan dari fungsi biaya, karena:

θJ(θ)=12XθYTXθY+λ(θ)Tθ,
mana θ=[θ1θ2...θn] , θ=[θ0θ1...θn] dan X=[1X1(1)X2(1)...Xn(1)1X1(2)X2(2)...Xn(2)...1X1(m)X2(m)...Xn(m)] .

θ dan berbeda. Karena itu mereka tidak dapat dicampur dari sudut pandang saya. Dan turunannya adalah tentang, yang berisi . Setelah googling dan melihat pertanyaan di forum ini, masih belum ada cara bagi saya untuk mendapatkan solusinya: Adakah yang bisa memberi saya petunjuk? Terima kasih sebelumnya atas bantuan Anda!θθθ

θ=(XTX+λI)1XTY

Namun, saya pikir ada dua perbaikan cepat untuk masalah ini:

Pertama-tama, kita tidak menambahkan kolom semua 1 ke . Yaitu . Artinya kita tidak memasukkan intersep sama sekali dalam model: Saya percaya metode ini diadopsi dalam buku klasik Machine Learning in Action oleh Peter Harrington yang saat ini saya baca. Dalam penerapan regresi ridge (P166 dan P177 jika Anda juga memiliki buku), semua dilewatkan ke regresi ridge tidak memiliki semua 1 kolom.XX=[X1(1)X2(1)...Xn(1)X1(2)X2(2)...Xn(2)...X1(m)X2(m)...Xn(m)]

y=θ1X1+θ2X2+...+θnXn.
X

Kedua, intersep juga dihukum dalam kenyataan.

Regresi logistik scikit mengatur pengaturan intersepsi secara default.

yang sekali lagi datang dari jawaban terakhir dari user48956 dari Mengapa model regresi linear mencegat nol memprediksi lebih baik daripada model dengan mencegat?

Kedua perbaikan cepat ini mengarah ke solusi

θ=(XTX+λI)1XTY.

Jadi bisakah turunan L2-normalisasi regresi ridge benar-benar diselesaikan atau hanya diselesaikan dengan perbaikan cepat?

Naomi
sumber
2
Lihat juga stats.stackexchange.com/questions/86991 . Jawaban untuk Q Anda adalah bahwa semuanya dapat diselesaikan: cukup uraikan term pertama ke theta_0 dan theta_prime. Anda dapat segera memecahkan untuk theta_0 optimal: itu rata-rata keseluruhan. Mengarah ke "perbaikan cepat # 1" Anda sebagai solusi yang tepat untuk theta_prime pada data rata-rata yang dikurangi.
amoeba
3
Solusi kedua secara universal dianggap salah. Hukuman intersep adalah salah satu dari beberapa kesalahan desain di sklearn.
Matthew Drury
1
@MatthewDrury Saya pikir saya menyebutkan hack untuk "memperbaiki" ini dan membuat Anda sedih. Tapi saya ingin memberi tahu OP bahwa peretasan ini membuat intersepsi yang sangat besar, seperti 1e9. Kemudian regularisasi tidak banyak berpengaruh padanya.
Haitao Du
1
Yah, kamu ingat dengan benar, setiap kali aku melakukan itu aku mati di dalam sedikit.
Matthew Drury
@amoeba Terima kasih banyak! Saya mencari solusi dalam jawaban saya di bawah bimbingan Anda. Bisakah Anda membantu saya memeriksanya? Terlebih lagi, saya menemukan bahwa Machine Learning in Action mengurangi makna dari dan tidak menambahkan semua 1 kolom ke yang merupakan cara yang tepat untuk digunakan. Namun, ketika melakukan standarisasi fitur, ia membagi dengan varians bukan dengan deviasi standar! Saya mengajukan pertanyaan lain untuk ini: bukan dengan standar deviasi. Dapatkah Anda membantu saya lagi dalam pertanyaan ini? Terima kasih! YXXμ
Naomi

Jawaban:

3

Elemen Pembelajaran Statistik oleh Hastie et al. menunjukkan dalam P63 bahwa:

intersep telah ditinggalkan dari hukumanθ0

Lebih jauh, dikatakan:

Solusi punggungan tidak sama dalam penskalaan input, dan oleh karena itu orang biasanya menstandarisasi input sebelum menyelesaikan (3,41) (3,41 adalah fungsi biaya). Dapat ditunjukkan (Latihan 3.5) bahwa solusi untuk (3.41) dapat dipisahkan menjadi dua bagian, setelah reparametrization menggunakan input terpusat: setiap akan digantikan oleh Kami memperkirakan dengan Koefisien yang tersisa dapat diperkirakan dengan regresi punggungan tanpa mencegat, menggunakan berpusat . Untuk selanjutnya kami menganggap bahwa pemusatan ini telah dilakukan, sehingga matriks input memilikiXj(i)Xj(i)xj¯.θ0y¯=1mi=1my(i)Xj(i)Xn(daripada ) kolom.n+1

Meskipun saya bertanya-tanya mengapa Elemen Pembelajaran Statistik pertama menyarankan standardisasi fitur dan kemudian hanya fitur centering dilakukan. Mungkin setuju dengan Latihan 3.5 yang hanya menggunakan fitur pemusatan fitur.

Bagaimanapun, saya percaya itu benar untuk menerapkan standardisasi z-skor untuk fitur. Jadi saya sekarang mencoba untuk menyelesaikan turunan dari fungsi biaya regresi ridge mengikuti saran dari amoeba komentator di atas. Terima kasih banyak padanya!

Pertama, fungsi biaya: mana adalah rata-rata dari atribut dan adalah standar deviasi . Untuk membuatnya lebih singkat: Sekarang pertama-tama kita menghitung nilai

θJ(θ)=12i=1m(yiθ0X1(i)X1¯σ1θ1X2(i)X2¯σ2θ2...Xn(i)Xn¯σnθn)2+λj=1nθj2,
Xj¯XjσjXj
θJ(θ)=12i=1m(yiθ0j=1nXj(i)Xj¯σjθj)2+λj=1nθj2
θ0dalam ekspresi di atas dengan menetapkan turunan terhadap sama dengan nol. Karena tidak memiliki , kita mendapatkan: Yaitu: As (karena adalah berarti atribut ), jadi sekarang kita memilikiθ0λj=1nθj2θ0
θ0J(θ)=i=1m(yiθ0j=1nXj(i)Xj¯σjθj)=0
i=1m(yiθ0)i=1mj=1nXj(i)Xj¯σjθj=0
i=1mj=1nXj(i)Xj¯σjθj=0
Xj¯Xj
i=1m(yiθ0)=0,
jelas:
θ0=y¯=1mi=1my(i)

Jadi intersepsi dari regresi ridge yang distandarisasi fitur selalu . Karenanya jika kita memusatkan terlebih dahulu dengan mengurangi rerata (dapatkan untuk data contoh ), tidak termasuk semua 1 kolom dalam , dan kemudian lakukan standarisasi fitur pada (get untuk dari contoh data ) , fungsi biaya hanya akan menjadi Yaitu y¯Y(yi)iXX(Xj(i))Xji

θJ(θ)=12i=1m((yi)j=1n(Xj(i))θj)2+λj=1nθj2
θJ(θ)=12XθYTXθY+λ(θ)Tθ,
mana , tidak memiliki semua 1 kolom dan standar dari , berpusat terhadap . Sekarang (tanpa ) dapat diselesaikan dengan: Untuk fitur standar, model linear akan menjadi mana θ=[θ1θ2...θn]XXYYθθ0
θ=((X)TX+λI)1(X)TY
y=y¯+θ1X1+θ2X2+...+θnXn(1),
Xi=XiXi¯σi(2)
Jika kita menggunakan (2) in (1) seperti yang disarankan dalam jawaban Plasty Grove . Jadi untuk input data asal, model linier akan menjadi Itu adalah Itu sebabnya setelah kita menyelesaikan koefisien fitur standar, untuk mengembalikan koefisien dari data input asal (tidak standar) fitur), kita harus mengembalikan
y=y¯+X1X1¯σ1θ1+X2X2¯σ2θ2+...+XnXn¯σnθn
y=θ1σ1X1+θ2σ2X2+...+θnσnXn+y¯X1¯σ1θ1X2¯σ2θ2...Xn¯σnθn
θi/σi
Naomi
sumber
Contoh detail yang bagus. Beberapa komentar: Anda berkomentar tentang pengaruh pemusatan , tetapi untuk menghilangkan istilah intersep dan mendapatkan perkiraan yang benar, orang harus memusatkan semua fitur juga. Namun saya setuju contoh ini setuju dengan alasan untuk tidak menghukum istilah intersepsi (untuk mendapatkan kesimpulan yang konsisten). Kedua, intuisi harus melayani sesuatu di sini. Kita semua menerima bahwa memprediksi dengan rata-rata adalah mirip dengan model 0 parameter, sehingga untuk mendapatkan efek aditif dari dalam model, kita tidak harus menghukum istilah yang hanya menangkap efek-Y berarti di hadapan . YXYXX
AdamO