Saya seorang penggemar pemrograman dan pembelajaran mesin. Hanya beberapa bulan yang lalu saya mulai belajar tentang pemrograman pembelajaran mesin. Seperti banyak orang yang tidak memiliki latar belakang ilmu kuantitatif saya juga mulai belajar tentang ML dengan bermain-main dengan algoritma dan dataset dalam paket ML yang banyak digunakan (caret R).
Beberapa waktu yang lalu saya membaca sebuah blog di mana penulis berbicara tentang penggunaan regresi linier dalam ML. Jika saya ingat benar dia berbicara tentang bagaimana semua pembelajaran mesin pada akhirnya menggunakan semacam "regresi linier" (tidak yakin apakah dia menggunakan istilah yang tepat ini) bahkan untuk masalah linear atau non-linear. Waktu itu saya tidak mengerti apa yang dia maksudkan dengan itu.
Pemahaman saya menggunakan pembelajaran mesin untuk data non-linear adalah dengan menggunakan algoritma non linear untuk memisahkan data.
Ini adalah pemikiran saya
Katakanlah untuk mengklasifikasikan data linear, kami menggunakan persamaan linear dan untuk data non linier kami menggunakan persamaan non-linear, katakanlahy = s i n ( x )
Gambar ini diambil dari situs web belajar sikit mesin dukungan vektor. Dalam SVM kami menggunakan kernel yang berbeda untuk tujuan ML. Jadi pemikiran awal saya adalah kernel linear memisahkan data menggunakan fungsi linear dan kernel RBF menggunakan fungsi non-linear untuk memisahkan data.
Tapi kemudian saya melihat blog ini di mana penulis berbicara tentang jaringan saraf.
Untuk mengklasifikasikan masalah non linier pada subplot kiri, jaringan saraf mengubah data sedemikian rupa sehingga pada akhirnya kita dapat menggunakan pemisahan linier sederhana ke data yang ditransformasikan dalam sub-plot kanan
Pertanyaan saya adalah apakah semua algoritma pembelajaran mesin pada akhirnya menggunakan pemisahan linier untuk klasifikasi (linear / non-linear dataset)?
Jawaban:
Jawabannya adalah No. user20160 memiliki jawaban yang sempurna, saya akan menambahkan 3 contoh dengan visualisasi untuk menggambarkan ide tersebut. Catatan, plot ini mungkin tidak membantu Anda untuk melihat apakah "keputusan akhir" dalam bentuk linear tetapi memberi Anda beberapa pengertian tentang pohon, meningkatkan dan KNN.
Kami akan mulai dengan pohon keputusan. Dengan banyak perpecahan, ini adalah batas keputusan non-linear. Dan kita tidak bisa berpikir semua pemisahan sebelumnya adalah "transformasi fitur" dan ada garis keputusan akhir di akhir.
Contoh lain adalah model peningkatan, yang mengumpulkan banyak "pengklasifikasi lemah" dan batas keputusan akhir tidak linier. Anda dapat menganggapnya sebagai kode / algoritma yang rumit untuk membuat prediksi akhir.
Akhirnya, pikirkan tentang K Nearest Neighbors (KNN). Ini juga bukan fungsi keputusan linear pada lapisan akhir. selain itu, tidak ada "transformasi fitur" di KNN.
Berikut adalah tiga visualisasi dalam ruang 2D (Tree, Boosting, dan KNN dari atas ke bawah). Kebenaran dasar adalah 2 spiral mewakili dua kelas, dan subplot kiri adalah prediksi dari model dan subplot kanan adalah batas keputusan dari model.
EDIT: Jawaban @ ssdecontrol dalam posting ini memberikan perspektif lain.
Itu tergantung pada bagaimana kita mendefinisikan "transformasi" .
sumber
spirals
banyak dalam eksperimen saya). Saran: plot batas keputusan sebagaiimage
, dan mungkin menambahkan tingkat probabiliity (jika Anda menggunakan output probabilistik) dengancontour
.Beberapa algoritma menggunakan hyperplane (fungsi linear) untuk memisahkan data. Contoh yang menonjol adalah regresi logistik. Lainnya menggunakan hyperplane untuk memisahkan data setelah transformasi nonlinear (misalnya jaringan saraf dan mesin dukungan vektor dengan kernel nonlinear). Dalam hal ini, batas keputusan nonlinear dalam ruang data asli, tetapi linear dalam ruang fitur mana data dipetakan. Dalam kasus SVM, formulasi kernel mendefinisikan pemetaan ini secara implisit. algoritma lainnya menggunakan beberapa hyperplanes membelah di daerah lokal ruang data (pohon misalnya keputusan). Dalam hal ini, batas keputusan piecewise linear (tapi nonlinear secara keseluruhan).
Namun, algoritma lain memiliki batas keputusan nonlinier, dan tidak dirumuskan dalam hal hyperplanes. Contoh yang menonjol adalah k klasifikasi tetangga terdekat. Pengklasifikasi ensemble (mis. Diproduksi dengan meningkatkan atau mengantongi pengklasifikasi lain) umumnya nonlinier.
sumber