Keturunan gradien atau tidak untuk regresi linier sederhana


9

Ada sejumlah situs web yang menggambarkan penurunan gradien untuk menemukan parameter untuk regresi linier sederhana (di sini adalah salah satunya). Google juga menjelaskannya dalam kursus ML baru (untuk umum) mereka.

Namun di Wikipedia , rumus berikut untuk menghitung parameter disediakan:

α^=y¯β^x¯,β^=i=1n(xix¯)(yiy¯)i=1n(xix¯)2

Juga, scikit-belajar LinearRegression fungsi, tidak memiliki n_iter_(jumlah iterasi) atribut seperti halnya untuk banyak fungsi belajar lainnya, yang saya kira menunjukkan gradient descent tidak digunakan?

Pertanyaan:

  1. Apakah situs web yang menggambarkan penurunan gradien untuk regresi linier sederhana hanya melakukan itu untuk mengajarkan konsepnya pada model ML paling dasar? Apakah rumus di Wikipedia apa yang kebanyakan perangkat lunak statistik akan gunakan untuk menghitung parameter (setidaknya scikit-learn tampaknya tidak menggunakan gradient descent)?
  2. Apa yang biasanya digunakan untuk regresi linier berganda?
  3. Untuk jenis model pembelajaran statistik apa gradient descent biasanya digunakan untuk menemukan parameter dibandingkan metode lain? Yaitu apakah ada beberapa aturan praktis?

Jawaban:


8
  1. Regresi linier umumnya digunakan sebagai cara untuk memperkenalkan konsep gradient descent.

  2. Faktorisasi QR adalah strategi yang paling umum. SVD dan faktorisasi Cholesky adalah opsi lain. Lihat Apakah kita memerlukan gradient descent untuk menemukan koefisien model regresi linier

Secara khusus, perhatikan bahwa persamaan yang Anda tulis dapat menunjukkan kondisi numerik yang buruk dan / atau menjadi mahal untuk dihitung. Faktorisasi QR kurang rentan terhadap masalah pengkondisian (tetapi tidak kebal) dan tidak terlalu mahal.

  1. Jaringan saraf adalah contoh yang paling menonjol dari penggunaan gradient descent yang diterapkan, tetapi jauh dari satu-satunya contoh. Contoh lain dari masalah yang memerlukan pembaruan berulang adalah regresi logistik, yang tidak memungkinkan untuk solusi langsung, jadi biasanya Newton-Raphson digunakan. (Tapi GD atau variannya mungkin juga digunakan.)

Di tautan yang Anda berikan, apakah # 3: "Persamaan normal", merujuk ke persamaan dalam pertanyaan saya di sini? Jika tidak, apa istilah teknis untuk persamaan ini?
Oliver Angelil

1
@OliverAngelil "Persamaan normal" memang istilah jargon untuk sistem linear persamaan yang merupakan kondisi urutan pertama untuk masalah optimasi kuadrat terkecil biasa.
Matthew Gunn

Jadi, apakah "persamaan normal" digunakan dalam perangkat lunak statistik ketika hanya ada 1 variabel prediktor? Untuk n = 100, saya mendapatkan koefisien b0 dan b1 yang identik (ke 6 desimal) ketika saya menggunakan persamaan normal vs fungsi LinearRegression di scikit-learn. Meskipun saya bingung: # 3 di tautan menyatakan bahwa "persamaan normal" adalah gagasan "TERRIBLE" ??
Oliver Angelil

1
6 tempat desimal lebih dari cukup bagi saya!
Oliver Angelil

2
@ anu Memecahkan regresi logistik dengan cara non-iteratif membutuhkan meminimalkan sistem persamaan non-linear; secara umum, ini sulit! Situasi ini analog dengan teorema Abel-Ruffini (tidak ada solusi aljabar untuk akar polinomial tingkat 5): kita tidak memiliki metode perhitungan langsung untuk menyelesaikan sistem dengan tepat. IIRC, ini dibahas dalam bab Elemen Pembelajaran Statistik tentang regresi logistik. Mungkin ada utas di suatu tempat di stats.SE tentang itu juga, tapi aku kesulitan menemukan yang bagus.
Sycorax berkata Reinstate Monica
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.