informasi kontak saya
Surat[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Support vector machine (SVM) adalah algoritma pembelajaran terawasi efisien yang banyak digunakan dalam masalah klasifikasi dan regresi. Ini membedakan berbagai kategori titik data dengan menemukan hyperplane optimal dalam ruang fitur. Tujuannya adalah untuk memaksimalkan interval antara dua jenis titik data, sehingga meningkatkan kemampuan generalisasi model. Konsep utama SVM mencakup hyperplane, interval, vektor pendukung, dan fungsi kernel. Fungsi kernel memungkinkan SVM menangani masalah nonlinier dan menemukan hyperplane yang dapat dipisahkan secara linier dengan memetakan data ke ruang berdimensi lebih tinggi. Selain itu, teknik margin lunak dan regularisasi digunakan untuk menangani keterpisahan linier data yang tidak lengkap sekaligus mengontrol kompleksitas model dan mencegah overfitting. Implementasi SVM melibatkan pemilihan fungsi kernel yang sesuai, membangun dan memecahkan masalah pemrograman kuadrat cembung, dan mengevaluasi serta menerapkan model yang dilatih. Keunggulannya adalah modelnya sederhana, mudah diimplementasikan, dan memiliki kemampuan generalisasi yang baik, namun memiliki kompleksitas komputasi yang tinggi, peka terhadap fungsi kernel dan pemilihan parameter, dan mungkin mengalami hambatan kinerja saat memproses kumpulan data skala besar.
🏘️🏘️个人主页:Menggunakan gunung dan sungai sebagai hadiah。
🎖️🎖️:Kreator Rising Star di Bidang Python, Sertifikasi Rising Star CSDN, Mitra Konten CSDN, Blogger Pakar Komunitas Alibaba Cloud, Mentor Program Rising Star, dan Analis Data Pekerjaan.
💕💕悲索之人烈焰加身,堕落者不可饶恕。永恒燃烧的羽翼,带我脱离凡间的沉沦。
jenis | Kolom |
---|---|
Dasar-dasar piton | Pengantar dasar-dasar Python—versi detail |
Python tingkat lanjut | Pengantar Dasar-dasar Python—Edisi Modul |
Python Tingkat Lanjut | Python网络爬虫从入门到精通🔥🔥🔥 |
Pengembangan tumpukan penuh web | Memulai dengan Dasar-Dasar Django |
Pengembangan tumpukan penuh web | Pengantar Dasar-Dasar HTML dan CSS |
Pengembangan tumpukan penuh web | Memulai Dasar-Dasar JavaScript |
Analisis data Python | Python数据分析项目🔥🔥 |
pembelajaran mesin | 机器学习算法🔥🔥 |
AI | AI |
Support Vector Machine (SVM) adalah algoritma pembelajaran mesin yang kuat yang terutama digunakan untuk memecahkan masalah klasifikasi dan regresi. Hal ini didasarkan pada prinsip minimalisasi risiko struktural dalam teori pembelajaran statistik dan membedakan kategori data yang berbeda dengan menemukan batas keputusan yang optimal, yaitu hyperplane, dalam ruang fitur. Pemilihan hyperplane ini bertujuan untuk memaksimalkan jarak terpendek dari titik data ke hyperplane yang disebut dengan margin. Semakin besar intervalnya, biasanya semakin baik kemampuan generalisasi modelnya.
Inti dari SVM adalah support vector, yaitu sekumpulan titik data yang sangat penting untuk menentukan posisi dan arah hyperplane. Jika data tidak dapat dipisahkan secara linier, SVM memetakan data asli ke ruang berdimensi lebih tinggi dengan memperkenalkan fungsi kernel dan menemukan hyperplane yang dapat dipisahkan secara linier di ruang baru ini. Fungsi kernel yang umum digunakan meliputi kernel linier, kernel polinomial, kernel fungsi basis radial (RBF), dll.
Untuk mengatasi noise dan outlier dalam data, SVM memperkenalkan konsep soft margin, yang memungkinkan beberapa titik data salah diklasifikasikan sebagai imbalan atas kinerja generalisasi yang lebih baik. Pada saat yang sama, kompleksitas model dikendalikan melalui ketentuan regularisasi untuk menghindari overfitting. Proses pelatihan SVM biasanya melibatkan penyelesaian masalah pemrograman kuadrat cembung untuk menemukan parameter hyperplane yang optimal.
Lihat gambar di bawah. Dalam lingkungan dua dimensi, titik R, S, G dan titik lain yang dekat dengan garis hitam tengah dapat dianggap sebagai vektor pendukung. Titik tersebut dapat menentukan parameter spesifik pengklasifikasi, yaitu hitam garis.
Vektor dukungan dan hyperplanes adalah konsep inti dalam algoritma support vector machine (SVM). Di bawah ini saya akan menjelaskan kedua konsep tersebut secara detail:
Dalam matematika, hyperplane adalah subruang linier yang memiliki satu dimensi lebih rendah dari ruang tempatnya berada. Misalnya, dalam ruang dua dimensi, bidang hiper adalah garis lurus; dalam ruang tiga dimensi, bidang tersebut adalah bidang; dalam ruang dimensi yang lebih tinggi, bidang tersebut masih merupakan batas linier, namun mungkin sulit untuk dipahami secara intuitif.
Dalam SVM, hyperplane digunakan untuk mengklasifikasikan data ke dalam kategori yang berbeda. Untuk ruang dua dimensi, Anda dapat membayangkan hyperplane sebagai garis lurus yang membagi ruang menjadi dua bagian, masing-masing bagian berisi satu kategori titik data. Untuk ruang berdimensi lebih tinggi, hyperplane adalah batas linier berdimensi lebih tinggi yang juga memisahkan titik data.
Vektor pendukung adalah titik data yang terletak paling dekat dengan hyperplane. Ini adalah titik data utama yang digunakan oleh SVM selama pelatihan untuk menentukan lokasi hyperplane. Jika Anda menghilangkan salah satu titik ini, posisi dan orientasi hyperplane akan berubah.
Vektor pendukung penting karena menentukan batas (yaitu interval) antar titik data. Tujuan dari SVM adalah untuk menemukan hyperplane yang memaksimalkan jarak (interval) antara support vector terdekat (yaitu titik data yang paling dekat dengan hyperplane) dan hyperplane. Besar kecilnya interval ini merupakan indikator penting kemampuan generalisasi model.
Dalam aplikasi nyata, data mungkin tidak dapat dipisahkan secara linear. Saat ini, SVM dapat menggunakan teknik kernel untuk mengatasi masalah nonlinier. Fungsi kernel dapat memetakan data asli ke ruang berdimensi lebih tinggi dan menemukan hyperplane yang dapat dipisahkan secara linier di ruang baru. Fungsi kernel yang umum digunakan meliputi kernel linier, kernel polinomial, kernel fungsi basis radial (RBF), dll.
Saat menangani data nyata, mungkin tidak mungkin menemukan hyperplane sempurna yang benar-benar memisahkan semua titik data. Pada saat ini, SVM memperkenalkan konsep soft margin, yang memungkinkan beberapa titik data salah diklasifikasikan sebagai imbalan atas kemampuan generalisasi yang lebih baik. Pada saat yang sama, kompleksitas model dikendalikan melalui istilah regularisasi (biasanya norma vektor normal) untuk menghindari overfitting.
Rumus jarak point-to-hyperplane digunakan untuk menghitung jarak terpendek dari suatu titik ke hyperplane tertentu. Hyperplane dapat dinyatakan dengan persamaan berikut dalam ruang berdimensi n:
di dalam:
w adalah vektor normal berdimensi n, tegak lurus terhadap bidang hiper.
x adalah titik berdimensi n yang terletak di ruang angkasa.
b adalah suku bias dari hyperplane.
Jarak vertikal d dari titik x ke hyperplane ini dapat dihitung dengan rumus berikut:
这个公式的几何意义是:从点 𝑥 向超平面作垂线,垂足到点 𝑥的距离就是𝑑这个距离也代表了点 𝑥到超平面的“间隔”。在支持向量机中,间隔的大小是非常重要的,因为它与模型的泛化能力有关。SVM的目标是找到这样一个超平面,使得间隔最大化,即所有数据点到这个超平面的距离之和最大。
Model optimasi dalam kasus yang dapat dipisahkan secara linier
Ketika data dapat dipisahkan secara linier, yaitu terdapat hyperplane yang dapat memisahkan berbagai kategori titik data dengan sempurna, tujuan SVM adalah menemukan hyperplane sedemikian rupa sehingga dua titik data terdekat (yaitu vektor pendukung) berada ke hyperplane Maksimalkan jarak. Jarak ini disebut margin.
Hyperplane dapat dinyatakan sebagai:
Masalah Optimasi Margin Maksimum
Fungsi tujuan SVM adalah memaksimalkan interval, yang dapat dinyatakan sebagai:
Memperkenalkan pengganda Lagrange
masalah ganda
Dalam mendukung mesin vektor (SVM), variabel kendur (Slack Variables) adalah mekanisme yang diperkenalkan untuk menangani situasi pemisahan non-linier dalam kumpulan data. Dalam situasi ideal, jika data dapat dipisahkan secara linier, SVM dapat menemukan hyperplane yang benar-benar memisahkan berbagai kelas titik data sekaligus memaksimalkan margin. Namun, di dunia nyata, banyak kumpulan data yang tidak sepenuhnya dapat dipisahkan secara linier, sehingga memerlukan penggunaan variabel slack agar beberapa titik data dapat salah klasifikasi, sehingga meningkatkan kemampuan generalisasi model.
这里的 𝐶是一个正的调节参数,用于控制模型对误分类的惩罚程度。𝐶的值越大,模型对误分类的惩罚越重,越倾向于找到没有误分类的解;𝐶的值越小,模型对误分类的容忍度越高,越容易找到间隔更大的解,即使这意味着更多的误分类。
Bahkan dalam kasus keterpisahan nonlinier, dengan menggunakan trik kernel untuk memetakan data ke dalam ruang berdimensi tinggi, dikombinasikan dengan variabel slack, SVM masih dapat menemukan hyperplane dengan margin maksimum.
Fungsi kernel adalah alat penting dalam mendukung mesin vektor (SVM), yang memungkinkan SVM menangani masalah nonlinier secara efektif dalam ruang berdimensi tinggi. Ide dasar dari fungsi kernel adalah memetakan data asli dari ruang berdimensi rendah ke ruang berdimensi tinggi melalui pemetaan, dan mencari keterpisahan linier data dalam ruang berdimensi tinggi tersebut.