Mesin Vektor Dhukungan (SVM) minangka algoritma pembelajaran sing diawasi kuat sing digunakake kanggo tugas klasifikasi lan regresi. Tujuan utama SVM yaiku nemokake hyperplane optimal sing paling apik misahake titik data saka kelas sing beda-beda ing ruang dimensi dhuwur. Klasifikasi pesawat fitur ing SVM rumiyin disambungake kanggo fungsi kaputusan, utamané tandha, kang peran wigati ing nentokake kang sisih hyperplane titik data tartamtu tumiba ing.
Fungsi Keputusan ing SVM
Fungsi kaputusan kanggo SVM bisa ditulis minangka:
ngendi:
- yaiku vektor bobot sing nemtokake orientasi hyperplane.
- yaiku vektor fitur saka titik data sing diklasifikasikake.
- yaiku istilah bias sing ngganti hyperplane.
Kanggo klasifikasi titik data , tandha saka fungsi kaputusan digunakake:
Tandha iki nemtokake sisih hyperplane sing ana titik data.
Peran saka Klasifikasi mlebu
Tanda fungsi keputusan () langsung nemtokake label kelas sing ditugasake menyang titik data
. Mangkene cara kerjane:
1. Tandha Positif: Yen , tandha saka fungsi kaputusan positif. Iki tegese titik data
dumunung ing sisih hyperplane ngendi kelas positif dumunung. Mulane,
diklasifikasikaké minangka kagolong kelas positif (biasane dituduhake minangka +1).
2. Tandha Negatif: Yen , tandha saka fungsi kaputusan negatif. Iki nuduhake yen titik data
dumunung ing sisih hyperplane ngendi kelas negatif dumunung. Mula,
diklasifikasikaké minangka kagolong kelas negatif (biasane dituduhake minangka -1).
3. Zero: Ing kasus langka ngendi , titik data
dumunung persis ing hyperplane. Skenario iki bisa sacara teoritis nanging praktis langka amarga sifat data sing ana regane nyata.
Interpretasi Geometris
Interpretasi geometris saka fungsi kaputusan penting kanggo mangerteni carane SVMs klasifikasi TCTerms data. Hyperplane ditetepake dening tumindak minangka wates kaputusan antarane rong kelas. Orientasi lan posisi hyperplane iki ditemtokake dening vektor bobot
lan istilah bias
.
1. wates: Margin yaiku jarak antarane hyperplane lan titik data sing paling cedhak saka saben kelas. SVM duwe tujuan kanggo nggedhekake wates iki kanggo mesthekake yen hyperplane ora mung misahake kelas nanging uga kanthi jarak paling gedhe saka titik data sing paling cedhak. Titik data sing paling cedhak iki dikenal minangka vektor dhukungan.
2. Dhukungan Vektor: Vektor dhukungan minangka titik data sing paling cedhak karo hyperplane. Dheweke kritis kanggo nemtokake posisi lan orientasi hyperplane. Sembarang owah-owahan ing posisi vektor dhukungan iki bakal ngowahi hyperplane.
Conto
Coba conto prasaja ing ngendi kita duwe ruang fitur rong dimensi kanthi titik data saka rong kelas. Ayo nuduhake kelas positif kanthi +1 lan kelas negatif kanthi -1. Upaminipun vektor bobot lan istilah bias
.
Kanggo titik data , kita bisa ngitung fungsi keputusan kaya ing ngisor iki:
wiwit , tandha saka fungsi kaputusan positif, lan kanthi mangkono, titik data
kagolong kelas positif (+1).
Kanggo titik data liyane , kita ngitung fungsi keputusan minangka:
maneh, , supaya tandha positif, lan
kagolong kelas positif (+1).
Saiki, nimbang titik data :
Ing kasus iki, , supaya tandha negatif, lan
kagolong kelas negatif (-1).
Formulasi Matematika
Rumus matematika SVM kalebu ngrampungake masalah optimasi kanggo nemokake optimal lan
sing nggedhekake wates nalika nggolongake data latihan kanthi bener. Masalah optimasi bisa dituduhake minangka:
ngendi yaiku label kelas titik data
, lan watesan kasebut njamin yen kabeh titik data diklasifikasikake kanthi bener kanthi wates paling sethithik 1.
Trik Kernel
Ing akeh aplikasi praktis, data bisa uga ora bisa dipisahake sacara linear ing ruang fitur asli. Kanggo ngatasi masalah iki, SVM bisa ditambah menyang klasifikasi non-linear nggunakake trick kernel. Fungsi kernel implicitly peta data menyang spasi luwih-dimensi ngendi pamisahan linear bisa. Fungsi kernel sing umum digunakake kalebu kernel polinomial, fungsi basis radial (RBF), lan kernel sigmoid.
Fungsi kaputusan ing SVM kernelized dadi:
ngendi punika multipliers Lagrange dijupuk saka wangun dual saka masalah Optimization.
Implementasi Python
Ing Python, perpustakaan `scikit-Learn` nyedhiyakake implementasi SVM kanthi langsung liwat kelas `SVC`. Ing ngisor iki conto carane nggunakake `SVC` kanggo nggolongake set data:
python from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn.svm import SVC from sklearn.metrics import accuracy_score # Load the dataset iris = datasets.load_iris() X = iris.data y = iris.target # Select only two classes for binary classification X = X[y != 2] y = y[y != 2] # Split the dataset into training and testing sets X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42) # Create an SVM classifier with a linear kernel clf = SVC(kernel='linear') # Train the classifier clf.fit(X_train, y_train) # Predict the class labels for the test set y_pred = clf.predict(X_test) # Calculate the accuracy of the classifier accuracy = accuracy_score(y_test, y_pred) print(f'Accuracy: {accuracy * 100:.2f}%')
Ing conto iki, kelas `SVC` digunakake kanggo nggawe klasifikasi SVM karo kernel linear. Klasifikasi dilatih ing set latihan, lan akurasi dievaluasi ing set tes. Klasifikasi set fitur ing SVM dhasar gumantung marang tandha fungsi keputusan. . Tandha nemtokake ing sisih endi hyperplane titik data dumunung, saéngga ditugasake menyang kelas sing cocog. Fungsi kaputusan, proses optimasi kanggo nemokake hyperplane optimal, lan potensial nggunakake fungsi kernel kanggo nangani separability non-linear kabeh komponen penting SVMs. Ngerteni aspek kasebut menehi tampilan lengkap babagan cara SVM beroperasi lan aplikasi ing macem-macem tugas machine learning.
Pitakonan lan jawaban anyar liyane babagan Sinau Mesin EITC/AI/MLP karo Python:
- Kepiye parameter b ing regresi linier (nyegat-y saka garis pas paling apik) diitung?
- Apa peran vektor support kanggo nemtokake wates kaputusan saka SVM, lan carane padha dikenali sak proses latihan?
- Ing konteks optimasi SVM, apa pentinge vektor bobot `w` lan bias `b`, lan kepiye carane ditemtokake?
- Apa tujuane metode `visualize` ing implementasi SVM, lan kepiye carane mbantu ngerteni kinerja model kasebut?
- Kepiye cara metode `prediksi` ing implementasi SVM nemtokake klasifikasi titik data anyar?
- Apa tujuan utama Mesin Vektor Dhukungan (SVM) ing konteks pembelajaran mesin?
- Carane perpustakaan kayata scikit-sinau digunakake kanggo ngleksanakake klasifikasi SVM ing Python, lan apa fungsi tombol melu?
- Nerangake pinunjul saka watesan (y_i (mathbf{x}_i cdot mathbf{w} + b) geq 1) ing optimasi SVM.
- Apa tujuane masalah optimisasi SVM lan kepiye cara dirumusake kanthi matematis?
- Apa peran saka persamaan hyperplane (mathbf{x} cdot mathbf{w} + b = 0) ing konteks Support Vector Machines (SVM)?
Ndeleng pitakonan lan jawaban liyane ing EITC/AI/MLP Machine Learning karo Python