Matematika Dibalik Support Vector Machine – Menuju AI — Teknologi, Sains, dan Teknik Terbaik

Pengarang: Bassem Essam

Matematika

Foto oleh Matthew Henry di Unsplash

Algoritme pembelajaran mesin dapat digunakan sebagai kotak hitam, tetapi ini adalah cara terburuk untuk menggunakannya. Sangat penting untuk memahami cara kerjanya. Poin utama untuk memahami model pembelajaran mesin apa pun adalah, bagaimana model cocok dengan data, apa hyperparameter yang digunakan dalam model dan bagaimana model memprediksi data uji?
Di blog ini, kita akan mencoba memahami algoritma “Support Vector Machine” dan matematika yang dibangun dari algoritma tersebut.

Apa itu Mesin Vektor Pendukung?
Support Vector Machine adalah algoritma ML klasifikasi terawasi yang digunakan untuk mengklasifikasikan titik data menjadi dua kelas dengan mencari jarak antara kelompok titik data dan memaksimalkan jarak di antara mereka.

Algoritme ML terawasi berarti bahwa kumpulan data yang digunakan untuk melatih model sudah diberi label dan tugas utama model adalah mengklasifikasikan titik data, tidak seperti algoritme tanpa pengawasan, yang didasarkan pada kumpulan data tidak berlabel, dan menemukan kategori dari klasifikasi dengan hubungan antar fitur.

Mari kita asumsikan bahwa kita memiliki titik data seperti yang ditunjukkan pada diagram di bawah ini. Untuk mempermudah, kita asumsikan bahwa kita hanya memiliki dua variabel bebas.
Hyperplan adalah bidang dalam ruang yang digunakan untuk memisahkan dua kelas titik data. Tugas utama model SVM adalah menemukan hyperplan terbaik untuk mengklasifikasikan titik data.

Klasifikasi data dengan support vector machine (SVM). Dari Research Gate (tautan dalam referensi)

Hyperplan dapat dinyatakan dengan persamaan berikut.

W adalah vektor konstanta yang mewakili kemiringan denah. Dalam contoh ini, vektor dapat direpresentasikan dengan dua konstanta [-1 and 0]. Sekarang, mari kita ambil dua titik data, satu dari setiap kelas, dan temukan proyeksinya ke hyper-plan. Dengan asumsi bahwa hyper-plan melewati titik asal, b = 0.
Untuk titik data pertama (x1 = 4, x2 = 4), setelah disubstitusikan ke persamaan hyper-plan, kami menemukan bahwa nilai y negatif.

y = -1 * 4 + 0 * 4 = -4 → negatif

Untuk titik data kedua (x1 = -4, x2 = -4), nilai y akan positif.

y = -1 * -4 + 0* -4 = 4 → positif
Kami melihat bahwa proyeksi setiap titik data di satu sisi hyper-plan selalu positif dan di sisi lain selalu negatif. Pada titik ini, kita dapat mengklasifikasikan titik-titik data dengan memproyeksikannya ke hyper-plan dan menemukan kelas dari setiap titik.

Sekarang, kita perlu menemukan persamaan hyper-plan dan margin di kedua sisi hyper-plan untuk mengklasifikasikan titik data. Juga, kita perlu menemukan fungsi optimasi yang digunakan untuk menemukan vektor terbaik untuk hyper-plan.
Untuk mencari garis margin, kita akan mengasumsikan bahwa garis margin melewati titik terdekat di setiap kelas. jadi, persamaan garis margin (atau denah) adalah sebagai berikut.

Untuk menemukan jarak antara dua garis margin, kami mengurangi dua titik data, dan karenanya, kami menemukan persamaan berikut.

Dari persamaan yang ditunjukkan di atas, kita perlu memaksimalkan fungsi ini untuk menemukan rencana margin terbaik yang menjamin bahwa tidak ada titik data yang salah diklasifikasikan (ini berarti jumlah titik data minimum harus ditempatkan di area margin dan tidak ada titik data yang terletak di kelas lain).
Model harus menemukan nilai w dan b yang memaksimalkan fungsi berikut.

Hal ini dapat diungkapkan dengan cara yang lebih sederhana seperti di bawah ini.

Hal ini dapat dinyatakan sebagai fungsi meminimalkan seperti di bawah ini.

Perhatikan bahwa, istilah penjumlahan kesalahan telah ditambahkan ke fungsi optimasi untuk mengatasi masalah over-fitting.

Dalam kumpulan data kehidupan nyata, titik data tidak dapat diklasifikasikan menggunakan hyperplan sederhana, tetapi pengklasifikasi yang lebih kompleks digunakan. Teknik kernel trick dan soft margin digunakan untuk menentukan persamaan classifier dan threshold.

Di blog ini, kami membahas konsep sederhana SVM dan matematika di baliknya. Di blog berikut, kita akan menyelam lebih dalam ke teknik yang lebih canggih seperti kernel polinomial dan trik kernel.

Terima kasih telah membaca!
Silakan hubungi saya untuk umpan balik atau pertanyaan apa pun melalui profil tertaut saya.

https://www.linkedin.com/in/bassemessam/

Referensi:

https://www.researchgate.net/figure/Classification-of-data-by-support-vector-machine-SVM_fig8_304611323

Mathematics Behind Support Vector Machine awalnya diterbitkan di Towards AI on Medium, di mana orang-orang melanjutkan percakapan dengan menyoroti dan menanggapi cerita ini.

Diterbitkan melalui Menuju AI