Fungsi biaya dalam regresi linier OLS

32

Saya agak bingung dengan kuliah tentang regresi linier yang diberikan oleh Andrew Ng pada Coursera tentang pembelajaran mesin. Di sana, ia memberikan fungsi biaya yang meminimalkan jumlah kuadrat sebagai:

12msaya=1m(hθ(X(saya))-Y(saya))2

Saya mengerti dari mana berasal. Saya pikir dia melakukannya sehingga ketika dia melakukan turunan pada istilah kuadrat, 2 dalam kuadrat akan dibatalkan dengan setengahnya. Tapi saya tidak mengerti dari mana berasal. 1121m

Mengapa kita perlu melakukan ? Dalam regresi linier standar, kami tidak memilikinya, kami hanya meminimalkan residu. Mengapa kita membutuhkannya di sini?1m

Catur kecil
sumber
1 / 2m membantu untuk menemukan kesalahan rata-rata per titik data dan m mewakili total pengamatan atau jumlah pengamatan.
Krishnan Achary

Jawaban:

33

Seperti yang Anda sadari, kita tentu tidak membutuhkan faktor untuk mendapatkan regresi linier. Minimizer tentu saja akan persis sama, dengan atau tanpa itu. Salah satu alasan umum untuk dinormalisasi oleh adalah agar kita dapat melihat fungsi biaya sebagai perkiraan "kesalahan generalisasi", yang merupakan kerugian kuadrat yang diharapkan pada contoh baru yang dipilih secara acak (bukan dalam set pelatihan):m1/mm

Misalkan dijadikan sampel iid dari beberapa distribusi. Maka untuk besar kita mengharapkan m 1(X,Y),(X(1),Y(1)),...,(X(m),Y(m))m

1msaya=1m(hθ(X(saya))-Y(saya))2E(hθ(X)-Y)2.

Lebih tepatnya, oleh Hukum Bilangan Besar yang Kuat, kita memiliki dengan probabilitas 1.

limm1msaya=1m(hθ(X(saya))-Y(saya))2=E(hθ(X)-Y)2

Catatan: Masing-masing pernyataan di atas adalah untuk tertentu , yang dipilih tanpa melihat set pelatihan. Untuk pembelajaran mesin, kami ingin pernyataan ini berlaku untuk beberapa dipilih berdasarkan kinerja yang baik pada set pelatihan. Klaim ini masih dapat berlaku dalam kasus ini, meskipun kami perlu membuat beberapa asumsi pada himpunan fungsi , dan kami akan membutuhkan sesuatu yang lebih kuat daripada Hukum. sejumlah besar. θ { h θθθ^{hθ|θΘ}

DavidR
sumber
1
@StudentT Ini mungkin alasan terbaik untuk menggunakan kesalahan rata-rata dari total. Penjelasan saya benar-benar hanya konsekuensi tingkat permukaan dari alasan DavidR yang lebih dalam.
Matthew Drury
29

Anda tidak harus melakukannya. Fungsi kerugian memiliki minimum yang sama apakah Anda menyertakan atau menekannya. Jika Anda memasukkannya, Anda mendapatkan interpretasi yang bagus untuk meminimalkan (satu setengah) kesalahan rata - rata per titik data. Dengan kata lain, Anda meminimalkan kesalahan tingkat bukannya total kesalahan.1m

Pertimbangkan untuk membandingkan kinerja pada dua set data dengan ukuran yang berbeda. Jumlah kesalahan baku kuadrat tidak sebanding secara langsung, karena dataset yang lebih besar cenderung memiliki lebih banyak kesalahan total hanya karena ukurannya. Di sisi lain, kesalahan rata-rata per titik data adalah .

Bisakah Anda sedikit menjelaskan?

Yakin. Kumpulan data Anda adalah kumpulan titik data . Setelah Anda memiliki model , kesalahan kuadrat terkecil dari pada titik data tunggal adalahh h{xsaya,ysaya}hh

(h(xsaya)-ysaya)2

ini, tentu saja, berbeda untuk setiap titik data. Sekarang, jika kita simpulkan kesalahannya (dan kalikan dengan setengah untuk alasan yang Anda jelaskan), kami mendapatkan kesalahan total

12saya(h(xsaya)-ysaya)2

tetapi jika kita membagi dengan jumlah puncak kita mendapatkan kesalahan rata - rata per titik data

12msaya(h(xsaya)-ysaya)2

Manfaat dari rata-rata kesalahan adalah bahwa jika kita memiliki dua dataset dan dari differeing ukuran , maka kita dapat membandingkan kesalahan rata-rata tetapi tidak total kesalahan. Karena jika kumpulan data kedua, katakanlah, sepuluh kali ukuran yang pertama, maka kita akan mengharapkan total kesalahan sekitar sepuluh kali lebih besar untuk model yang sama. Di sisi lain, kesalahan rata-rata membagi efek dari ukuran kumpulan data, dan jadi kami berharap model kinerja serupa memiliki kesalahan rata-rata yang sama pada kumpulan data yang berbeda.{xsaya,ysaya}{xsaya,ysaya}

Matthew Drury
sumber
1
Saya bisa mengikuti Anda, bisakah Anda sedikit menjelaskan? Maaf, saya baru belajar mesin!
SmallChess
@StudentT Saya mencoba klarifikasi dalam jawaban saya.
Matthew Drury
1
Hal yang sama juga berlaku jika Anda bereksperimen dengan ukuran mini-batch saat melakukan penurunan gradien stokastik, yang merupakan tipe penurunan gradien linier yang paling umum ketika bekerja dengan kumpulan data besar: Anda dapat lebih mudah membandingkan kesalahan.
jasonzhao