Tugas MKB (SVM)
Tugas MKB (SVM)
Support Vector Machine (SVM) adalah suatu teknik yang relatif baru (1995) untuk melakukan
prediksi, bai dalam kasus klasifikasi maupun regresi. Secara sederhana, SVM adalah
memaksimalkan margin, yang merupaan jarak pemisah antara kelas data. SVM mampu
bekerja pada dataset yang berdimensi tinggi dengan menggunakan kernel trik. SVM hanya
menggunakan beberapa titik data terpilih yang berontribusi (Support Vector) untuk
membentuk model yang akan digunakan dalam proses klasifikasi. Dibandingkan dengan
regresi logistik dan jaringan saraf, SVM terkadang memberi cara yang lebih baik untuk
mempelajari fungsi non-linear.
Tujuan Optimasi
Dengan regresi logisti kita dapat melihat bagaimana kita bisa memodifikasinya untuk
mendapatkan SVM.
Cost function dari Regresi Logistik adalah
𝑚 𝑛
1 𝜆
min [∑ 𝑦 (𝑖) (− log ℎ𝜃 (𝑥 (𝑖) )) + (1 − 𝑦 (𝑖) )((− log(1 − ℎ𝜃 (𝑥 (𝑖) )))] + ∑ 𝜃𝑗2
𝜃 𝑚 2𝑚
𝑖=1 𝑗=1
dengan parameter 𝜆 dan fungsi tujuan optimasi 𝐴 + 𝜆𝐵.
Cost function dari Support Vector Machine mirip dengan Regresi Logistik, hanya saja konstanta 𝑚
dihapus karena berapapun nilai 𝑚 tidak akan mempengaruhi nilai minimum 𝜃, lalu bentuk
(− log ℎ𝜃 (𝑥 (𝑖) )) diubah menjadi 𝑐𝑜𝑠𝑡1 (𝜃 𝑇 𝑥 (𝑖) ) dan ((− log(1 − ℎ𝜃 (𝑥 (𝑖) ))) diubah menjadi
1
𝑐𝑜𝑠𝑡0 (𝜃 𝑇 𝑥 (𝑖) ), dan dikalikan dengan 𝐶 = 𝜆. Bentuknya menjadi
𝑚 𝑛
(𝑖) 𝑇 (𝑖) (𝑖) 1
𝑇 (𝑖)
min 𝐶 [∑ 𝑦 𝑐𝑜𝑠𝑡1 (𝜃 𝑥 ) +(1 − 𝑦 ) 𝑐𝑜𝑠𝑡0 (𝜃 𝑥 )] + ∑ 𝜃𝑗2
𝜃 2
𝑖=1 𝑗=1
dengan parameter 𝐶 dan fungsi tujuan optimasi 𝐶𝐴 + 𝐵.
Hipotesis dari Support Vector Machine adalah ℎ𝜃(𝑥) = 1 jika 𝜃 𝑇 𝑥 ≥ 0 dan ℎ𝜃(𝑥) = 0 jika
𝜃𝑇 𝑥 < 0
.....................................................................................
Memilih Landmark
Cara pertama yang harus kita lakukan adalah memplot setiap training example (𝑋) dari
dimensi yang lebih rendah kedalam bentuk 𝜙(𝑋) dengan dimensi yang lebih tinggi.
𝑋2 𝑋1 𝜙(𝑋2) 𝜙(𝑋1)
Gambar 3: training sample 𝑋1 dan 𝑋2 dari dimensi 2 dan bentuk 𝜙(𝑋1) dan 𝜙(𝑋2) dalam
dimensi 3
Dari gambar 3 diatas dapat terlihat jelas bahwa training sample 𝑋1 dan 𝑋2 dari dimensi 2
sudah diplot dalam bentuk 𝜙(𝑋1) dan 𝜙(𝑋2) dalam dimensi 3. Untuk letak penentuan
landmark yang dibuat adalah sama letaknya dengan training sample yang ada di dimensi 2.
Parameter SVM
1
C=𝜆
dimana untuk nilai C yang besar akan menghasilkan bias yang rendah dan variansi yang
tinggi, namun apabila nilai C yang kecil akan menghasilkan bisa yang tinggi dan variansi
yang rendah.
σ2
untuk nilai σ2 yang besar maka features Fi memiliki bentuk yang smooth dengan bias yang
tinggi dan variansi yang rendah, tetapi apabila nilai σ2 kecil akan terbentuk Fi yang tidak
smooth dengan bias yang rendah dan variansi yang tinggi.
Implementasi dan Penggunaan
Kali ini digunakan paket perangkat lunak SVM (misalnya liblinear, libsvm) untuk
memecahkan parameter 𝜃. Maka perlu ditentukan parameter 𝐶 dan kernel. Jika n kecil
dan/atau m besar misalnya dimensi 2 training set yang besar maka perlu menerapkan fungsi
kernel (jika menggunakan kernel Gaussian).
Misalkan diprediksikan 𝑦 = 1 jika (𝜃 𝑇 𝑥) ≥ 0 jadi tidak ada vektor 𝑓 dan didapatkan
classifier linier standar. Artinya jika n besar dan m kecil maka banyak fitur untuk beberapa
contoh dan tidak cukup data - risk overfitting dalam ruang fitur berdimensi tinggi.
Tidak semua fungsi kesamaan yang dikembangkan adalah kernel yang valid. Maka harus
memenuhi Teorema Merecer untuk SVM menggunakan trik optimasi numerik. Berarti
pengoptimalan tertentu bisa dilakukan, tapi harus mengikuti teorema.
Kernel polinomial
Kita mengukur kesamaan x dan l dengan melakukan salah satu dari
(𝑥 𝑇 𝑙)2
(𝑥 𝑇 𝑙)3
(𝑥 𝑇 𝑙 + 1)3
Bentuk umumnya adalah
(𝑥 𝑇 𝑙 + 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡)𝑑𝑒𝑔𝑟𝑒𝑒
Jika mereka serupa maka produk dalam cenderung besar, tidak sering digunakan. Biasanya
Kernel polinomial hasilnya lebih buruk daripada kernel Gaussian saat x dan l keduanya tidak
negatif.
Lainnya terdapat Kernel string yaitu digunakan jika inputnya adalah string teks atau untuk
klasifikasi teks. Selain itu terdapat Kernel Chi-kuadrat dan Histogram Intersection kernel,
dll.