welcome
to my blog.. ;)

Jumat, 14 Oktober 2011

SUPPORT VECTOR MACHINE (SVM) dan APLIKASINYA

Support Vector Machine (SVM) dikembangkan oleh Boser, Guyon, Vapnik, dan pertama kali dipresentasikan pada tahun 1992 di Annual Workshop on Computational Learning Theory. Konsep dasar SVM sebenarnya merupakan kombinasi harmonis dari teoriteori komputasi yang telah ada puluhan tahun sebelumnya, seperti margin hyperplane (Duda & Hart tahun 1973, Cover tahun 1965, Vapnik 1964, dsb.), kernel diperkenalkan oleh Aronszajn tahun 1950, dan demikian juga dengan konsep-konsep pendukung yang lain. Akan tetapi hingga tahun 1992, belum pernah ada upaya merangkaikan komponen – komponen tersebut. Prinsip dasar SVM adalah linear classifier, dan selanjutnya dikembangkan agar dapat bekerja pada problem non-linear. dengan memasukkan konsep kernel trick pada ruang kerja berdimensi tinggi.
Support Vector Machine (SVM) juga dikenal sebagai teknik pembelajaran mesin (machine learning) paling mutakhir setelah pembelajaran mesin sebelumnya yang dikenal sebagai Neural Network (NN). Baik SVM maupun NN tersebut telah berhasil digunakan dalam pengenalan pola. Pembelajaran dilakukan dengan menggunakan pasangan data input dan data output berupa sasaran yang diinginkan. Pembelajaran dengan cara ini disebut dengan pembelajaran terarah (supervised learning). Dengan pembelajaran terarah ini akan diperoleh fungsi yang menggambarkan bentuk ketergantungan input dan outputnya. Selanjutnya, diharapkan fungsi yang diperoleh mempunyai kemampuan generalisasi yang baik, dalam arti bahwa fungsi tersebut dapat digunakan untuk data input di luar data pembelajaran.

Konsep SVM dapat dijelaskan secara sederhana sebagai usaha mencari hyperplane terbaik yang berfungsi sebagai pemisah dua buah class pada input space.
Gambar 1a memperlihatkan beberapa pattern yang merupakan anggota dari dua buah
class : positif (dinotasikan dengan +1) dan negatif (dinotasikan dengan –1). Pattern
yang tergabung pada class negatif disimbolkan dengan kotak, sedangkan pattern pada
class positif, disimbolkan dengan lingkaran. Proses pembelajaran dalam problem
klasifikasi diterjemahkan sebagai upaya menemukan garis (hyperplane) yang
memisahkan antara kedua kelompok tersebut. Berbagai alternatif garis pemisah
(discrimination boundaries) ditunjukkan pada Gambar 1a.


Hyperplane pemisah terbaik antara kedua class dapat ditemukan dengan mengukur
margin hyperplane tsb. dan mencari titik maksimalnya. Margin adalah jarak antara
hyperplane tersebut dengan data terdekat dari masing-masing class. Subset data
training set yang paling dekat ini disebut sebagai support vector. Garis solid pada
Gambar 1b menunjukkan hyperplane yang terbaik, yaitu yang terletak tepat pada
tengah-tengah kedua class, sedangkan titik kotak dan lingkaran yang berada dalam
lingkaran hitam adalah support vector. Upaya mencari lokasi hyperplane optimal ini
merupakan inti dari proses pembelajaran pada SVM.
Data yang tersedia dinotasikan sebagai sedangkan label masing-masing
dinotasikan  untuk i = 1,2,…,l , yang mana l adalah banyaknya data.
Diasumsikan kedua class –1 dan +1 dapat terpisah secara sempurna oleh hyperplane
berdimensi d , yang didefinisikan:

Sebuah pattern yang termasuk class –1 (sampel negatif) dapat dirumuskan
sebagai pattern yang memenuhi pertidaksamaan:

sedangkan pattern yang termasuk class +1 (sampel positif):





Margin terbesar dapat ditemukan dengan memaksimalkan nilai jarak antara
hyperplane dan titik terdekatnya, yaitu . Hal ini dapat dirumuskan sebagai
Quadratic Programming (QP) problem, yaitu mencari titik minimal persamaan (4),
dengan memperhatikan constraint persamaan (5).





Problem ini dapat dipecahkan dengan berbagai teknik komputasi, di antaranya
Lagrange Multiplier sebagaimana ditunjukkan pada persamaan (6)





adalah Lagrange multipliers, yang bernilai nol atau positif . Nilai optimal
dari persamaan (6) dapat dihitung dengan meminimalkan L terhadap w dan b , dan
memaksimalkan L terhadap . Dengan memperhatikan sifat bahwa pada titik
optimal gradient L =0, persamaan (6) dapat dimodifikasi sebagai maksimalisasi
problem yang hanya mengandung saja , sebagaimana persamaan (7).

Dari hasil dari perhitungan ini diperoleh yang kebanyakan bernilai positif. Data
yang berkorelasi dengan yang positif inilah yang disebut sebagai support vector.




Karakteristik SVM
1. Secara prinsip SVM adalah linear classifier
2. Pattern recognition dilakukan dengan mentransformasikan data pada input
space ke ruang yang berdimensi lebih tinggi, dan optimisasi dilakukan pada
ruang vector yang baru tersebut. Hal ini membedakan SVM dari solusi pattern
recognition pada umumnya, yang melakukan optimisasi parameter pada ruang
hasil transformasi yang berdimensi lebih rendah daripada dimensi input space.
3. Menerapkan strategi Structural Risk Minimization (SRM)
4. Prinsip kerja SVM pada dasarnya hanya mampu menangani klasifikasi dua
class.




Kelebihan Dan Kekurangan SVM
Dalam memilih solusi untuk menyelesaikan suatu masalah, kelebihan dan
kelemahan masing-masing metode harus diperhatikan. Selanjutnya metode yang
tepat dipilih dengan memperhatikan karakteristik data yang diolah. Dalam hal SVM,
walaupun berbagai studi telah menunjukkan kelebihan metode SVM dibandingkan
metode konvensional lain, SVM juga memiliki berbagai kelemahan.




Kelebihan SVM antara lain sebagai berikut :
1. Generalisasi
Generalisasi didefinisikan sebagai kemampuan suatu metode (SVM, neural network, dsb.) untuk mengklasifikasikan suatu pattern, yang tidak termasuk data yang dipakai dalam fase pembelajaran metode itu. Vapnik menjelaskan bahwa generalization error dipengaruhi oleh dua faktor: error terhadap training set, dan satu faktor lagi yang dipengaruhi oleh dimensi VC (Vapnik-Chervokinensis). Strategi pembelajaran pada neural network dan umumnya metode learning machine difokuskan pada usaha untuk meminimimalkan error pada training-set. Strategi ini disebut Empirical Risk Minimization (ERM). Adapun SVM selain meminimalkan error pada training-set, juga meminimalkan faktor kedua. Strategi ini disebut Structural Risk Minimization (SRM), dan dalam SVM diwujudkan dengan memilih hyperplane dengan margin terbesar. Berbagai studi empiris menunjukkan bahwa pendekatan SRM pada SVM memberikan error generalisasi yang lebih kecil daripada yang diperoleh dari strategi ERM pada neural network maupun metode yang lain.




2. Curse of dimensionality
Curse of dimensionality didefinisikan sebagai masalah yang dihadapi suatu metode pattern recognition dalam mengestimasikan parameter (misalnya jumlah hidden neuron pada neural network, stopping criteria dalam proses pembelajaran dsb.) dikarenakan jumlah sampel data yang relatif sedikit dibandingkan dimensional ruang vektor data tersebut. Semakin tinggi dimensi dari ruang vektor informasi yang diolah, membawa konsekuensi dibutuhkannya jumlah data dalam proses pembelajaran. Pada kenyataannya seringkali terjadi, data yang diolah berjumlah terbatas, dan untuk mengumpulkan data yang lebih banyak tidak mungkin dilakukan karena kendala biaya dan kesulitan teknis. Dalam kondisi tersebut, jika metode itu “terpaksa” harus bekerja pada data yang berjumlah relatif sedikit dibandingkan dimensinya, akan membuat proses estimasi parameter metode menjadi sangat sulit. Curse of dimensionality sering dialami dalam aplikasi di bidang biomedical engineering, karena biasanya data biologi yang tersedia sangat terbatas, dan penyediaannya memerlukan biaya tinggi. Vapnik membuktikan bahwa tingkat generalisasi yang diperoleh oleh SVM tidak dipengaruhi oleh dimensi dari input vector. Hal ini merupakan alasan mengapa SVM merupakan salah satu metode yang tepat dipakai untuk memecahkan masalah berdimensi tinggi, dalam keterbatasan sampel data yang ada.




3. Feasibility
SVM dapat diimplementasikan relative mudah, karena proses penentuan support vector dapat dirumuskan dalam QP problem. Dengan demikian jika kita memiliki library untuk menyelesaikan QP problem, dengan sendirinya SVM dapat diimplementasikan dengan mudah. Selain itu dapat diselesaikan dengan metode sekuensial sebagaimana penjelasan sebelumnya.




SVM memiliki kelemahan atau keterbatasan, antara lain:
1. Sulit dipakai dalam problem berskala besar. Skala besar dalam hal ini dimaksudkan dengan jumlah sample yang diolah.
2. SVM secara teoritik dikembangkan untuk problem klasifikasi dengan dua class. Dewasa ini SVM telah dimodifikasi agar dapat menyelesaikan masalah dengan class lebih dari dua, antara lain strategi One versus rest dan strategi Tree Structure. Namun demikian, masing-masing strategi ini memiliki kelemahan, sehingga dapat dikatakan penelitian dan pengembangan SVM pada multiclass-problem masih merupakan tema penelitian yang masih terbuka.








APLIKASI SUPPORT VECTOR MACHINE




Pengolahan Citra
Klasifikasi Citra Dengan Support Vector Machine
    Support Vector Machine (SVM) adalah salah satu teknik klasifikasi data
dengan proses pelatihan supervised learning). Salah satu ciri dari metode klasifikasi
SVM adalah menemukan hyperplane terbaik sehingga diperoleh ukuran margin yang
maksimal. Margin adalah jarak antara hyperplane tersebut dengan titik terdekat dari
masing-masing kelas. Titik yang paling dekat ini disebut dengan support vector.
Klasifikasi citra dengan menggunakan SVM mencapai akurasi sebesar
86.67%. Hasil klasifikasi tersebut selanjutnya digunakan untuk penemuan kembali
citra (image retrieval). Pada penelitian ini, temu kembali citra diujicobakan kedua
metode yang berbeda untuk melihat perbedaan tingkat keefektifan hasil temu
kembali citra. Dua metode ini adalah temu kembali citra tanpa menggunakan SVM
dan temu kembali citra menggunakan SVM. Hasil temu kembali citra tanpa
menggunakan SVM hanya didasarkan pada kemiripan ciri warna menggunakan
perhitungan jarak Euclidean. Contoh hasil temu kembali tanpa menggunakan SVM
dapat dilihat pada Gambar 3.







Gambar 3 memperlihatkaan bahwa citra hasil temu kembali tidak sepenuhnya
berasal dari jenis citra yang sama dengan citra kueri. Citra-citra tersebut cenderung
berwarna biru, berbeda sekali dengan warna citra kueri yang cenderung berwarna
hijau kekuningan. Hal ini dikarenakan sistem hanya menemukembalikan citra di
dalam basis data yang mempunyai tingkat kemiripan yang tinggi dengan citra kueri.
Kekurangan sistem ini diperbaiki oleh temu kembali citra menggunakan SVM yang
dapat dilihat pada Gambar 4.
Berdasarkan Gambar 4, dapat dilihat bahwa citra hasil temu kembali dengan
menggunakan SVM lebih baik Hal ini dikarenakan sistem mempunyai model
klasifikasi untuk memprediksi baik citra kueri maupun seluruh citra di dalam basis
data sehingga diperoleh kelas yang baru untuk setiap citra. Citra yang
ditemukembalikan adalah citra hasil klasifikasi di dalam basis data yang terdapat
dalam kelas citra yang sama dengan citra kueri dan citra dari kelas lain yang
memiliki tingkat kemiripan yang tinggi dengan citra kueri.
Dari hasil diatas dapatdisimpulkan bahwa rataan precision hasil temu kembali
citra menggunakan SVM cenderung lebih baik dibandingkan tanpa menggunakan
SVM untuk setiap nilai recall. Klasifikasi dengan SVM menghasilkan average precision sebesar 76,76% sedangkan tanpa menggunakan SVM mencapai 50,91%. Dengan demikian metode klasifikasi SVM dapat digunakan untuk sistem temu kembali citra.




Pengolahan Audio
Konten Berbasis Audio Klasifikasi dan pembukaan Menggunakan SVM Belajar
    Metode SVM digunakan untuk konten berbasis audio klasifikasi dan pengambilan. Seperti NFL, SVM yang memiliki kinerja yang baik dalam klasifikasi audio dan pengambilan, lebih baik daripada saat ini dicapai oleh sistem MuscleFish.
SVM Ketika diuji menggunakan pelatihan terpisah dan set test, lebih menguntungkan dibandingkan NFL dalam hal pengambilan efisiensi- menunjukkan perusahaan kata generalisasi kemampuan untuk diklasifikasikan. Sify pola tak terlihat pada training set. Namun, SVM membutuhkan waktu lama untuk melatih, dan saat ini, dan kebutuhan untuk memilih kernel fungsi dan parameter di dalamnya yang saat ini dipraktekkan oleh trial and error.




Data Mining
Aplikasi Data Mining Untuk Memprediksi Kelas Resiko Pemberian Kredit Menggunakan Support Vector Machine (Svm)
Didalam kegiatan perkreditan sering terjadi masalah kredit macet atau kredit bermasalah yang disebabkan oleh gagalnya pengembalian sebagian pinjaman yang diberikan kepada para peminjam. Masalah ini sebenarnya dapat diatasi, salah satunya dengan mengidentifikasi dan memprediksi nasabah dengan baik sebelum memberikan pinjaman dengan cara memperhatikan data historis pinjaman. SVM adalah suatu teknik dalam Data Mining yang dapat dipakai untuk melakukan klasifikasi. Dalam teknik SVM untuk masalah klasifikasi k-kelas , kita menemukan k fungsi pemisah . Kemudian kelas dari suatu data atau obyek baru kkbZwbZwbZw+++.,..., 1. 1 , 2 . 2 Z ditentukan berdasarkan nilai terbesar dari fungsi pemisah: =jclass of Z=. mmkmb+ w Z = argmax . 1,2,..., Hasil yang diperoleh dari Tugas Akhir ini adalah metode SVM dapat digunakan untuk memprediksi calon nasabah baru dengan melakukan pengenalan pola data historis.




Klasifikasi Dokumen Web
Penerapan Support Vector Machine untuk Ekstraksi Informasi dari Dokumen Teks
    Proses ekstraksi informasi (Information Extraction atau IE) adalah proses pengubahan dokumen teks tidak terstruktur dengan domain tertentu ke dalam sebuah struktur informasi yang relevan. Di dalam tugas akhir ini domain yang digunakan adalah lowongan pekerjaan. Kebanyakan iklan lowongan pekerjaan yang terdapat di berbagai website perusahaan maupun website khusus lowongan pekerjaan di Indonesia merupakan dokumen teks berbahasa campuran, Indonesia dan Inggris.
Pada proses ekstraksi informasi pada dataset berbahasa campuran, dengan menerapkan teknik pembelajaran mesin. Pendekatan pembelajaran mesin yang digunakan adalah pendekatan statistik, dengan metode klasifikasi token. Algoritma klasifikasi yang digunakan adalah Support Vector Machine (SVM) dengan uneven margin, yang didesain khusus untuk imbalanced dataset. Sedangkan strategi tagging yang digunakan adalah strategi Begin/End (BE) tagging. Adapun eksperimen yang dilakukan mencakup analisis performansi SVM dengan uneven margin untuk ekstraksi informasi pada dataset berbahasa campuran, pengujian parameter pembelajaran terbaik, dan perbandingan dengan algoritma klasifikasi lain, yaitu Naïve Bayes dan KNN.

Hasil eksperimen menunjukkan bahwa performansi SVM dengan uneven margin untuk ekstraksi informasi pada dataset lowongan pekerjaan berbahasa campuran sangat baik, dengan akurasi mencapai ±85%. Dengan demikian dapat disimpulkan bahwa sistem ekstraksi informasi yang diimplementasikan dapat diterapkan pada lingkungan bursa kerja di Indonesia. Selain itu, algoritma SVM dengan uneven margin juga memiliki performansi yang lebih unggul dibandingkan dengan kedua algoritma lainnya.




Peramalan (Forecasting)
Implementasi Kernel Wavelet Dan Support Vector Machine Untuk Prediksi Volatilitas
Salah satu permasalahan dalam hal prediksi kondisi volatilitas Dari pasar modal adalah dalam fungsi-fungsi kernel yang ada dalam metode Support Vector Machine (SVM) tidak bisa menangkap fiturfitur dari pengelompokan volatilitas secara akurat. Dan sementara itu, dalam fungsi wavelet terdapat fitur yang mendeskripsikan time series dari volatilitas.
Metode Support Vector Regression (SVR) yang hampir sama dengan SVM digunakan untuk memprediksi volalitas. Perbedaanya adalah SVM biasanya digunakan untuk masalah klasifikasi dan pada SVR digunakan untuk masalah regresi dan kernel yang digunakan adalah kernel wavelet. Pada pengimplementasian prediksi volatilitas dengan menggunakan SVR kernel wavelet, akan digunakan juga kernel lain sebagai pembanding yaitu kernel gaussian. Pengaplikasian untuk masalah prediksi volatilitas dilakukan melalui simulasi komputer dan percobaan dalam data di dunia nyata (data time series).




Originally Posted by RA. Toyyibatul Faihah