Baru-baru ini, sebuah proyek yang saya gunakan menggunakan perceptron linier untuk regresi berganda (21 prediktor). Dulu stokastik GD. Apa bedanya dengan regresi linier OLS?
regression
machine-learning
Simon Kuang
sumber
sumber
Perceptron
kelas Anda link ke adalah untuk classifier (output biner) daripada regressor (output terus menerus). Apakah itu kode aktual yang Anda gunakan? Jika demikian, itulah bedanya. :)SGDRegressor
; apakah ini setara dengan regresi linier?SGDRegressor(loss='squared_loss', penalty='none')
, itu adalah OLS.Jawaban:
kelas scikit-learn
Perceptron
(setara denganSGDClassifier(loss="perceptron", penalty=None, learning_rate="constant", eta0=1)
) menggunakan fungsi objektif berikut:Regresi kuadrat terkecil, sebaliknya, menggunakan Berikut dapat setiap nyata; Anda dapat memberikannya target klasifikasi di jika Anda mau, tetapi itu tidak akan memberi Anda model yang sangat bagus. Anda dapat mengoptimalkan ini dengan jika Anda mau.
SGDRegressor(loss="squared_loss", penalty=None)
Keduanya menentukan model yang berbeda secara mendasar: perceptron memprediksi label kelas biner dengan , sedangkan regresi linier memprediksi nilai riil dengan . Jawaban ini berbicara tentang mengapa mencoba menyelesaikan masalah klasifikasi dengan algoritma regresi bisa menjadi masalah.sign(wTxi) wTxi
sumber