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:
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. 1
Mengapa kita perlu melakukan ? Dalam regresi linier standar, kami tidak memilikinya, kami hanya meminimalkan residu. Mengapa kita membutuhkannya di sini?
regression
machine-learning
loss-functions
Catur kecil
sumber
sumber
Jawaban:
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 / m m
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
Lebih tepatnya, oleh Hukum Bilangan Besar yang Kuat, kita memiliki dengan probabilitas 1.
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θ|θ ∈ Θ }
sumber
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 .
Yakin. Kumpulan data Anda adalah kumpulan titik data . Setelah Anda memiliki model , kesalahan kuadrat terkecil dari pada titik data tunggal adalahh h{ xsaya, ysaya} h h
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
tetapi jika kita membagi dengan jumlah puncak kita mendapatkan kesalahan rata - rata per titik data
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} { x′saya, y′saya}
sumber