Corat-coret Anto S. Nugroho

Catatan kehidupan

  • Corat-coret Terbaru

  • Februari 2007
    S S R K J S M
    « Jan   Mar »
     1234
    567891011
    12131415161718
    19202122232425
    262728  
  • Kategori

  • Arsip

Diskusi Support Vector Machine (updated 18/Feb/2007)

Posted by Anto Satriyo Nugroho pada Februari 18, 2007

Berikut adalah catatan diskusi yang berlangsung di milis Komunitas Data Mining Indonesia ( indo-dm@yahoogroups.com ).

  1. Muh. Arief Bijaksana :
    Mas Anto,
    Pada hal 2 dikatakan:
    “Berbeda dengan strategi neural network yang berusaha mencari hyperplane pemisah antar class, SVM berusaha menemukan hyperplane yang terbaik pada input space”. Mohon penjelasan lebih lanjut terutama statement untuk neural network. Usulan, ada contoh2 penghitungan dengan data sederhana.
    - linearly separable.
    - lineraly non-separable.
    - non-linearUsulan: ada contoh2 coding dg matlab disertai komentarnya.
    Sec 4 (contoh aplikasi) dan 5 (referensi untuk memperlajari, sebaiknya komentar atas referensi misalkan apakah mudah dibaca atau tdk) belum ada
  2. Anto:
    Mas Arif dan rekan-rekan yth.
    Terima kasih atas masukan & pertanyaannya. Setelah saya periksa lagi, ternyata benar. Ada yang hilang dari kalimat saya, dan akibatnya jadi tidak bermakna. Maaf, akan saya perbaiki.> Pada hal 2 dikatakan: “Berbeda dengan strategi neural network yang berusaha mencari
    > hyperplane pemisah antar class, SVM berusaha menemukan hyperplane
    > yang terbaik pada input space”
    > Mohon penjelasan lebih lanjut terutama statement untuk neural
    > network.Saya coba jelaskan, maaf agak panjang.Kita imajinasikan, data dua buah kelas: positif dan negatif, yang kesemuanya tersebar pada ruang vektor berdimensi 2 (misalnya saja) dan terpisah secara linier. Garis lurus yang dapat ditarik memisahkan data kedua buah kelas ini tentunya tak terhingga banyaknya. Sebuah linear classifier dapat dilatih sedemikian rupa, agar menemukan sebuah diantara berbagai garis pemisah tadi.Ada berbagai strategi yang dipakai untuk mencari garis tersebut. Perceptron misalnya, berusaha menemukan garis tersebut dengan meminimalkan error atau selisih antara target value suatu sample pada training set dengan output yang dihasilkan oleh model tersebut (error correction method). Tetapi timbul pertanyaan lagi, apakah garis ini optimal ? Bagaimana kita mengetahui sebuah garis pemisah (hyperplane) itu optimal atau tidak ? Tolok ukur apa yang dipakai ?Untuk membahas hal ini, kita kembali ke tujuan utama proses training/pembelajaran. Tujuan utama proses training adalah memakai data training set untuk menemukan garis pemisah dua buah class, yang memiliki generalisasi baik.
    “Generalisasi baik” maksudnya mampu memberikan decision yang benar terhadap data baru yang tidak dilibatkan dalam proses training, dengan kata lain meminimisir tingkat error model yang dihasilkan terhadap test-sample.Berangkat dari pemahaman ini, kita dapat fahami bahwa proses training pada Perceptron tadi jelas hanya berusaha mencari garis pemisah data dari dua buah class training set, tetapi tidak mempertimbangkan tingkat generalisasinya terhadap data baru, dengan kata lain tidak ada jaminan bahwa garis pemisah yang diperoleh optimal.SVM menawarkan pendekatan baru, yaitu mencari garis pemisah optimal yang dievaluasi berdasarkan “margin” sebagai tolok ukur. Margin didefinisikan sebagai jarak terdekat dari hyperplane ke data sebuah class. Proses training SVM dilakukan dengan mencari garis pemisah/hyperplane yang memiliki margin terbesar. Garis pemisah yang ditemukan pada hakekatnya adalah yang tepat berada di tengah-tengah antara kedua buah kelas. Pembuktian matematika mengenai hal ini silakan merefer ke paper-paper Vapnik, atau membaca buku Cristianini:
    Nello Cristianini and John Shawe-Taylor. An Introduction to Support Vector Machines. Cambridge University Press, Cambridge, UK, 2000
    . Buku ini salah satu referensi penting SVM yang membahas metode ini perkonsep secara sistematis. Referensi lain dapat dilihat list-nya di web khusus SVM & Kernel Machines : http://www.kernel-machines.org/books/Kalau software SVM, saya rasa sudah cukup banyak yang bagus. Misalnya SVM-light nya Joachims (yang papernya mendapatkan award pada KDD 2006) saya lihat sering dipakai peneliti-peneliti SVM, dan dicantumkan di referensinya. Selengkapnya dapat dilihat di http://www.kernel-machines.org/software.htmlSaya sendiri tidak memakai Matlab maupun software-software di atas, melainkan membuat sendiri programnya memakai bahasa C. Saya khawatir kalau memakai salah satu software di atas, akan mendapat kesulitan kalau saja kelak riset saya akan dikomersialkan. Kebanyakan software di atas memberikan ijin pakai selama untuk scientific use. Tetapi untuk commercial use, perlu minta ijin ke authornya. Mungkin juga harus membayar royalty.Saya akan usahakan agar penjelasan algoritma yang tertulis di paper saya, cukup jelas sebagai bahan untuk membuat sendiri program SVM memakai berbagai bahasa pemrograman yg ada.

    Section 4 dan 5 Insya Allah segera saya susulkan.

  3. Budi Santosa
    Pak Anto dan pak Arif saya ingin menambahkan, Kalau peceptron memang hanya menemukan hyperplane pemisah. Tetapi kalau ANN secara umum, ingin menemukan hyperplane pemisah terbaik. Hanya, karena
    menggunakan metoda training yang tidak menjamin global optimality (newton,levenberg-marquart,gradient descent with momentum, dll), maka solusi yg dihasilkan (w,b) adalah local minimum. Ini berbeda dengan SVM yg
    menjamin solusi yg dihasilkan dari masalah optimasinya adalah global optimum.Bisa jadi suatu saat solusi ANN adalah global optimal. Begitu tambahan sedikit dari saya.
  4. Anto: Pak Budi, terima kasih atas penjelasannya. Dalam mencari hyperplane yang optimal, SVM berusaha memaksimalkan margin, yang secara matematika tercermin pada persamaan (4) (halaman 3)
    minimize || w ||^2
    Masalah ini disebut QP Problem (Quadratic Programming Problem), karena objective functionnya quadratic. Karakteristik dari fungsi seperti ini adalah
    (i) hanya memiliki sebuah solusi global optimum
    Ciri ini membedakannya dengan algoritma optimisasi lainnya yang umumnya banyak memiliki local optima, sehingga proses training pada SVM relatif lebih cepat.
    (ii) Decision function yang dihasilkan hanya ditentukan oleh data yang paling dekat dengan hyperplane, yang alfa-nya tidak sama dengan nol (halaman 4). Data ini disebut Support Vector.
  5. Yudi Agusta

    Mas Anto,
    Optimasi SVM mudah terkena problem overfitting gak?
    Regards,
  6. Anto:
    Pada penjelasan sebelumnya, saya asumsikan data pada training-setnya linearly separable. Solusi yang dihasilkan adalah Hard Margin SVM. Tetapi tidak semua data terdistribusikan linearly separable, misalnya jika ada data yang noisy. Ada kalanya data pada kelas positive masuk ke wilayah kelas negative, vice versa. Misalnya saja kita pakai fungsi kernel (penjelasan fungsi kernel silakan lihat pada Sec.3) yang bisa bekerja pada ruang berdimensi sangat tinggi, barangkali saja data itu akan bisa terpisahkan sempurna, tetapi terjadi overfitting sehingga tingkat generalisasinya dropped. Discrimination boundary yang dihasilkan tidak well-generalized. Jarak antara hyperplane dengan support vector menjadi sangat kecil, padahal seharusnya dibuat semaksimal mungkin.Untuk menghindari terjadinya hal ini, dipakai teknik regularisasi, yaitu dengan memodifikasi problem optimisasinya sebagaimana dijelaskan pada Sec.2.1 Soft Margin.Slack variable (Xi) merepresentasikan seberapa jauh sebuah data terdeviasikan dari posisi ideal. Data yang terletak pada posisi yang salah (kelas negative tapi terletak pada positive, vice versa), nilai Xi nya lebih dari 1. Total deviasi ini dapat dilihat pada suku kedua pada persamaan (10). C adalah parameter yang menentukan seberapa besar penalty diberikan kepada total deviasi itu. Semakin besar nilai C, semakin besar penalty yang diberikan pada setiap classification error, sehingga proses trainingnya berjalan ketat dan semakin mendekati hard margin SVM (resiko overfitting meningkat). Sebaliknya, jika nilai C dibuat kecil, berarti penalty terhadap classification error kecil. Akibatnya proses training “toleran” terhadap noise data, sehingga classification errornya meningkat, dan model yang dihasilkan semakin meningkat resiko underfitting.Nilai C ditentukan lewat eksperimen (coba-coba), atau bisa juga memakai strategi tertentu misalnya Design Of Experiments (DOE) [1].Demikian yg saya fahami mengenai kaitan antara SVM dan overfitting. Kalau ada kesalahan mohon agar dikoreksi.Referensi
    [1] http://www.hpl.hp.com/techreports/2002/HPL-2002-354R1.pdf
  7. Philips
    Pak Anto, saya mau tanya lagi tentang SVM. Apa beda tiap fungsi kernel? antara linear, polynomial, dan RBF kernel? Apakah kernel2 punya karakteristik tertentu dalam menyelesaikan masalah? Saya kurang tahu tentang hal ini, yg saya tahu umumnya orang menggunakan RBF kernel. Ini sepertinya lebih populer, mungkin hasilnya lebih general.
  8. Muh.Subianto:
    Bolehkah saya menjawab:
    Karatzoglou, A., D. Meyer, and K. Hornik (2006). Support VectorMachines in R. Journal of Statistical Software 15(9). http://www.jstatsoft.org/v15/i09/v15i09.pdf
    Pada halaman 6 disebutkan:
    “The Gaussian and Laplace RBF and Bessel kernels are general-purpose kernels used when there is no prior knowledge about the data. The linear kernel is useful when dealing with large sparse data vectors as is usually the case in text categorization. The polynomial kernel is popular in image processing and the sigmoid kernel is mainly used as a proxy for neural networks. The splines and ANOVA RBF kernels typically perform well in regression problems.”
    atau:
    Karatzoglou, A., A. Smola, K. Hornik, and A. Zeileis (2004). kernlab—An S4 Package for Kernel Methods in R. Journal of Statistical Software 11(9), 1–20. http://www.jstatsoft.org/v11/i09/v11i09.pdf
    Lihat pada halaman 5.
    Wassalam, Muhammad Subianto
  9. Anto
    Sebelum menanggapi pertanyaan Philips, saya ringkaskan dulu strategi SVM untuk memecahkan masalah klasifikasi non linear. Pertanyaan Philips saya bahas di No.5.

    1. Strategi SVM adalah sbb.
      (i) Data yang dipetakan ke ruang berdimensi tinggi sedemikian hingga akan terdistribusikan linearly separable
      (ii) Di ruang dimensi tinggi tsb. optimal hyperplane dicari dengan strategi yang sama (memaksimalkan margin).
      Berarti yg membedakan dengan Linear SVM hanyalah tahap ke-1, yaitu pemetaaan ke ruang berdimensi tinggi. Adapun tahap ke-2, persamaan yang dipecahkan sama tidak berubah. Hanya saja SVM itu bekerja pada ruang dimensi baru.
    2. Sebagaimana halnya Linear SVM, perhitungan di atas akan melibatkan dot product antar data (dual representation). Untuk mudahnya, dot product antara dua pattern x1 dan x2 dinotasikan sbg. <x1,x2>
      Berarti, kalau pattern x1 dipetakan ke X1 = F(x1) di ruang vektor berdimensi tinggi, dan pattern x2 dipetakan ke X2 = F(x2), maka dot product di ruang vektor yang baru dihitung sebagai <F(x1),F(x2)> = <X1,X2>.
    3. Di sinilah muncul konsep Kernel Trick, yaitu menghitung secara implisit nilai <X1,X2> tanpa mengetahui fungsi F, dan hanya memakai data asli yang berada di dimensi awal, yaitu x1 dan x2. K(x1,x2) = <X1,X2> = <F(x1),F(x2)>
    4. Syarat-syarat yang harus dipenuhi agar sebuah fungsi dapat dipakai sebagai kernel adalah symmetric, memenuhi pertaksamaan Cauchy-Schwarz, positive semi-definite sebagaimana dijelaskan oleh teori Mercer. Detail dari teori Mercer silakan dibaca dari buku SVM, a.l. Cristianini.
    5. Beberapa jenis fungsi kernel K yang sering dipakai adalah sigmoid, polynomial dan gaussian (RBF). Tiap fungsi kernel memiliki karakteristik yang berbeda dalam memetakan data dari original space ke high dimensional space. Kita bahas dulu Gaussian Kernel. Gaussian Kernel didefinisikan sbg.
      K(x1,x2) =exp( – || x1-x2 ||^2 / sigma2 )
      jelas nilainya tidak mungkin 0 atau negatif, melainkan positif ( > 0 ). Bagaimana interpretasinya ? Dot product tidak nol berarti dua vektor itu tidak orthogonal. Berarti kalau ada data di ruang vektor asal yang banyaknya tak berhingga (infinite) hasil pemetaan data-data itu akan membentuk ruang vektor baru yang dimensinya tak berhingga ! Ini adalah karakteristik dari Gaussian Kernel. Saya kira hal ini yang menyebabkan Gaussian Kernel sangat populer, karena semakin tinggi dimensi suatu ruang vektor, semakin besar kemungkinan menemukan bidang yang memisahkan data dua buah kelas secara linear atas dasar teori Cover sbb.
      Cover’s theorem on the separabilityof patterns (1965)
      A complex pattern classification roblem cast in a high dimensional space
      nonlinearly is more likely to be linearly separable than in a low-dimensional space
    6. Biasanya sifat pemetaan oleh fungsi F tidak mudah untuk diinterpretasikan, dengan kata lain karakteristik dari tiap fungsi kernel tidak mudah diinterpretasikan juga. Salah satu jalan untuk menganalisa karakteristik pemetaan itu (bagaimana distribusi data di ruang vektor yang baru) adalah menerapkan PCA (Principal Component Analysis) terhadap data-data di ruang vektor yang baru yang berdimensi tinggi itu [1].
    7. Tambahan lain adalah sebagaimana disitir Pak Muh.Subianto di email sebelumnya (Terima kasih Pak atas informasinya).
  10. Philips
    Pak Anto, ada pertanyaan lagi tentang SVM. Saya baca sekilas paper Joachims di KDD06 “Training Linear SVMs in
    Linear Time” bahwa Linear SVM merupakan salah satu teknik machine learning untuk data berdimensi tinggi yang sparse seperti pada text classification, word-sense disambiguation, dan drug design.
    Mungkin ada ciri2 data lain untuk masalah2 yang yang bisa diselesaikan dengan linear SVM ? Mungkin pak Anto punya pengalaman dengan linear SVM.Mungkinkah semua permasalahan dibawa/ditransformasikan ke dalam permasalahan linear SVM, mengingat linear SVM lebih cepat daripada nonlinear SVM?
    Sebelumnya, terima kasih atas jawabannya.
  11. Anto
    Philips,
    Good question. SSebenarnya saya belum membaca paper Joachims dengan teliti. Tetapi di paper itu (page 1, right column, top) tertulis kalau Linear SVM memberikan state-of-the art prediction accuracy dengan merefer referensi ke 10:
    T. Joachims. Text categorization with support vector machines: Learning with many relevant features. In Proceedings of the European Conference on Machine Learning, pages 137 – 142, Berlin, 1998. Springer.
    Saya coba mengikuti referensi yang ditunjukkan ke http://www.cs.cornell.edu/People/tj/publications/joachims_98a.pdf
    Tetapi di paper ini ternyata Joachim tidak memakai Linear SVM. Dia memakai polynomial & RBF kernel. Walau pun demikian dia jelaskan bahwa database yang dipakainya : Reuters-21578 dataset dan Ohsumed Corpus, keduanya linearly separable. Jadi saya merasa ada discrepancy/ketidaksesuaian pada paper ini. Bagaimana pendapat Philips dan rekan-rekan yg lain ?Pada prinsipnya SVM adalah Linear Classifier, bahkan untuk data yang non linear sekalipun. Data yang memiliki karakteristik non linear, oleh SVM akan ditransformasikan terlebih dulu ke dimensi yang tinggi, sehingga linearly separable, baru kemudian dicari optimal hyperplanenya oleh SVM secara linear. Jadi SVM tetap bekerja sebagai Linear Classifier, hanya saja pada ruang dimensi baru yang lebih tinggi.Kalau pertanyaannya diubah sedikit, bagaimana mengetahui sebuah data linearly separable atau tidak ? Maka algoritmanya cukup banyak, misalnyaHo-Kahsyap Algorithm. (Duda,Hart, Stork, Pattern Classification, 2nd Ed., p.251). Jika data yang diolah linearly separable, maka algoritma tsb. akan berhenti (konvergen) pada finite steps.

    Selama ini kebanyakan data yang saya olah (meteorological data, data klinis, handwriting character, dsb) selalu non-linear, dan sejauh ini saya belum pernah menemukan data dari “real-world domain” yang linearly separable. Anggapan saya, non linearity ini adalah satu hal yang wajar ditemukan pada data riil. Jadi sebuah metode yang hanya bisa bekerja untuk masalah linear, tidak cukup handal untuk dipakai dalam masalah praktis. Contoh terkenal terjadi
    pada Perceptron di dunia neural network. Minsky dan Papert tahun 1969 lewat bukunya “Perceptrons” membuktikan bahwa Perceptron hanya bisa bekerja pada linear problem. Temuan mereka memberikan pukulan serius pada dunia riset neural network, sehingga riset neural network pada era tersebut sempat tenggelam dan
    ditinggalkan. Baru setelah Rumelhart mengenalkan error backpropagation di buku PDP-nya (1986), perhatian pada neural network kembali meningkat. Dan saat itu riset neural network mulai menyentuh ke aplikasi seperti misalnya yang sangat terkenal masa itu adalah NetTalk nya Sejnowski-Rosenberg. Pada isu ini sebenarnya ada perdebatan hangat yang melatarbelakanginya, antara Minsky-Paper vs Rumelhart.

    Kembali ke SVM.

    Mungkinkah semua permasalahan dibawa/ditransformasikan ke dalam permasalahan linear SVM, mengingat linear SVM lebih cepat daripada nonlinear SVM?

    Kalau ditinjau dari effort yang dilakukan ada dua kemungkinan untuk mengolah data non linear :

    1. Mentransformasikan data agar linearly separable, baru kemudian diolah dengan Linear SVM
    2. Mengolah data non-linear dengan NonLinear SVM

    Kalau dibuat perbandingan yang fair, belum tentu effort yang diperlukan pada No.1 lebih kecil daripada No.2. Linear SVM mungkin cepat bekerjanya, tetapi proses transformasi agar data itu menjadi linearly separable tidak mudah.

    1. Kalau ditransformasikan ke ruang dimensi yang lebih rendah (misalnya dengan feature selection atau feature extraction), resikonya akan menghilangkan critical information yang penting untuk mengklasifikasikan data
    2. Tetapi kalau ditransformasikan ke dimensi yang lebih tinggi, apakah effort yg diperlukan tidak bertambah besar ? Justru non linear SVM menghindari perhitungan transformasi ke dimensi yg lebih tinggi ini dengan cara menghitung dot product secara implisit melalui fungsi Kernel.

    Jadi pendapat saya lebih baik data itu kalau sudah diketahui non linear, lebih baik diolah dengan Non Linear SVM saja. Mungkin ada tambahan / koreksi dari rekan-rekan yg lain ?

Referensi

  1. Koji Tsuda: “Apakah Support vector Machine itu ?”, Jurnal IEICE, Vol.83, No.6, pp. 460–466, 2000. (dalam bahasa Jepang)
About these ads

24 Tanggapan to “Diskusi Support Vector Machine (updated 18/Feb/2007)”

  1. zaky berkata

    assalamu’alaikum..
    Pak Anto yth, mohon advise-nya berkenaan dgn svm, sy tertarik untuk bahas svm dlm tesis sy (sy sedang studi s2-statistika semster akhir) tapi sy baru sedang mempelajari ttg itu.. smoga pak anto berkenan sy mohon informasi kiranya topik (aplikasi svm) apa yg layak sy angkat dlm tesis sy ? mohon sarannya.. terimakasih

  2. Udin berkata

    Saya sedang mengerjakan skripsi yang berkaitan dengan klasifikasi data dengan SVM. Akan tetapi saya bingung bagaimana penggunaan SVM. Rencananya saya akan menklasifikasi 2 jenis MP3 (1 asli, sedangkan yang satunya lagi telah disisipi informasi yang berupa file text di dalamnya /steganografi). Klasifikasi didasarkan pada 4 momen statistik (mean, variance, skewness dan kurtosis ) yang diperoleh dari hasil perhitungan kandungan frekuensi dari frame-frame masing-masing mp3. bagaimana saya harus melakukan proses klasifikasi menggunakan SVM. bagaimana langkah-langkah yang harus saya lakukan sedangkan saya baru mengenal SVM.

  3. rifaldi berkata

    Pak Anto, bisa menjelaskan bagaimana cara menyelesaikan atau mendapatkan lagrange multipliers menggunakan dual optimization problem menggunakan Support Vector Machine?terima kasih

  4. Devid berkata

    Pak anto, saya masih bingung memilih antara linear ato non linear. ini adalah kebutuhan skripsi saya menggunakan metode SVM untuk mengklasifikasi text. dan yang saya coba untuk di klasifikasi multi class classification, nah pertanyaan saya. apakah sudah pasti itu non-linear jika multi class classification…

  5. Mas Devid,
    Multi class classification pada SVM dilakukan dengan merepresentasikannya ke dalam beberapa modul binary classification memakai SVM. Masalahnya : untuk tiap modul apakah linear atau tidak. Umumnya masalah spt. ini berupa non linear, sehingga lazimnya orang memakai non linear SVM.

  6. Pak Rifaldi,
    Untuk mendapatkan lagrange multiplier bisa memakai beberapa cara. Yang populer dipakai adalah SMO-nya Platt, atau bisa juga memakai metodenya sekuensial-nya Vijayakumar
    S. Vijayakumar & S. Wu, “Sequential Support Vector Classifiers and Regression”, Int. Conf. Soft Computing, pp.610-619 (1999)
    Selengkapnya silakan membaca buku Cristianini mengenai SVM.

  7. Bpk Rifaldi berkata

    Pak Anto dan pak Budi yang terhormat, saya sudah mencoba mendapatkan nilai lagrange menggunakan software matlab yang saya download (Gunn 1998). namun lagrange yang diperloeh tidak memenuhi pembatas (Sigma lamda i x yi =0). yang saya tanyakan, apakah benar bahwa untuk data berukuran besar untuk memperoleh nilai lagrange menggunakan metode quadratic programming tidak pernah memenuhi persamaan (Sigma lamda i x yi =0)? bagaimana bila nilai semua output yi bernilai negatif semua?apakah bisa mendapatkan nilai lagrane yang memenuhi pembatas (Sigma lamda i x yi =0)? bisakah Pak Anto dan Pak Budi memberikan contoh sederhana saja (ukuran data 3 atau 4 baris) untuk mendapatkan nilai lagrange menggunakan Quadratic Programming atau SMO?(saat ini saya sedang menguji SVM untuk data dalam skala besar menggunakan kernel RBF dan polynomial). terima kasih atas perhatiannya

  8. rifaldi berkata

    pak ANto bisa menjelaskan mengenai konsep SMO untuk SVM?

  9. Silakan dipelajari sendiri dari situsnya, Pak.
    URL: http://research.microsoft.com/users/jplatt/smo.html

  10. yogi berkata

    Salam kenal bt pak anto dan rekan2 sekalian

    Rasanya menarik sekali diskusi yg ada di blog ini tentang svm. Sy baru aja belajar tentang svm, krn sy lagi berkutat tentang svm pada TA sy.
    Banyak hal yang baru sy ketahui. Jujur sy masih bingung tentang SVM itu sendiri.
    Sy mohon bantuan dari rekan2 sekalian terutama pak anto buat menjawab beberapa pertanyaan saya ini yg masih mendasar tentang svm ini :

    – Bagaimana sy tahu data sy linear atau non-linear? Mhon penjelasan ttg “Pada umumnya data bersifat non-linear”
    – Output data yg dihasilkan oleh SVM dlm proses training itu brupa apa ?
    – Sama kasusnya dengan mas devid ? Bagaimana dengan proses pengklasifikasian oleh SVm pada multiclass. Apakah labelnya masih tetap i dgn -1 atau 1,2,3,4,5, dst. Adakah yang bisa menjelaskan tentang multiclass ini lebih lanjut .

    Terima kasih pak anto dan reka2n sekalian

  11. Pak Yogi,

    Salam kenal juga. Sebenarnya lebih baik hal ini didiskusikan di milis sc-ina@yahoogroups.com agar banyak yang bisa memberikan masukan. Berikut jawaban ringkas saya :

    1. Untuk mengetahui data kita itu linear atau tidak, sudah saya jelaskan di point no.11. Umumnya data, apalagi yang berasal dari realworld domain, sifatnya non linear.

    2. Setelah proses training selesai, akan diperoleh informasi: subset dari training set yang disebut support vectors. Subset ini adalah bagian yang paling informatif, dan menentukan decision function dari SVM tsb.

    3. Ada dua strategi multiclassification dalam SVM : one vs one dan one vs rest. Misalnya kita punya 3 class (A,B dan C).
    Dalam one vs one, proses klasifikasi akan dipecah menjadi 3 buah modul, yang masing-masing berupa binary SVM. Tiap modul dilatih agar bisa mengklasifikasikan A vs B, A vs C dan B vs C. Hasil klasifikasi akhir adalah modul yang menghasilkan score tertinggi.
    Adapun untuk one vs rest, jumlah modul yang dilatih sama banyaknya dengan class, yaitu 3. Modul pertama dilatih untuk memisahkan A vs (B&C), modul kedua dilatih untuk memisahkan B vs (A&C), dan ketiga : C vs (A&B). Hasil klasifikasi akhir adalah modul yang menghasilkan score tertinggi.

    Hope it helps,

    Anto

  12. rifaldi berkata

    pak anto, saya pernah mendengar untuk menyelesaikan nilai lagrange bisa digunakan metode kernel adatron? namu saya masih ragu karen metode itu menggunakan metode pendekatan. hasil yang diharapkan menghasilkan error dan waktu komputasi yang besar. benarkah hal ini pak?

  13. iryanto berkata

    untuk SVM light, bagaimana mencobanya agar bisa jalan di windows??
    Saya sudah coba, tetapi pake interface MATLAB dan berhasil jalan. Untuk input data sebagai training dengan format “label feature:value”, nah saya kan mencoba mengenali suara manusia, misal feature saya beri “time” dan value saya beri “pitch” sudah sesuai belum ya???
    Definisi dari “feature” apa sih??
    terima kasih. saya butuh jawabnya

  14. yuz berkata

    assalamu’alaikum,Wr Wb
    mas Anto, sy mhsw s1 statistik yg sdg menyusun skripsi saat ini….sy mgambil topik ttg pbentukan model untuk keputusan kredit (diterima dan ditolak), prediktornya terdiri 22 variabel, semuanya bbentuk kategori. rencananya sy akan mbandingkan dua metode, yakni Analisis Diskriminan Diskrit dan SVM. hanya saja sy msh bingung lgkh2 dlm SVM (awl smp akhir)? bgmn kita bs tahu signifikansi variabel prediktornya? trs koefisien varbl prediktornya gmn? mohon bantuannya…. atas jawabannya sy ucapkan terima kasih.
    wassalam

  15. iswan berkata

    salam kenal buat Pak Anto
    Pak saya iswan mhs UIN Jakarta jur Teknik Informatika rencananya saya sedang ingin menyusun skripsi dengan judul Pendeteksian Wajah Dengan Metode Support Vector Machines Pak saya mohon penjelasan tentang SVM itu, terutama yang berkaitan dengan pendeteksian wajah dan apa kelebihannya dibandingkan dengan Metode Eigenedginess dan Metode Eigenfaces karena sekarang saya sedang membutuhkan sekali banyak referensi. atas jawabannya saya ucapkan terima kasih

  16. ryan berkata

    pak anto numpang tanya nih..
    kebetulan saya sedang skripsi dan membahas tentang pendeteksian wajah..
    tapi lebih di arahkan pada pemilihan kernel yang paling baik saja…
    dan kami memakai Least Square Support Vector Machines(LS-SVM)
    nah pertanyaannya..
    kalo di SVM sendiri sebenernya ada berapa macam kernel si???
    lalu kalo di LS-SVM bener ga cuman ada 3 kernel(polynomial,nlp,RBF)??
    lalu kenapa cuman 3 kernel itu yang masuk ke LS-SVM??
    sangat memohon bantuan pak anto..
    dan kalo ada reffnya pak..
    thax

  17. Bakir berkata

    Blog yang bagus, salam kenal

  18. rizkiandi berkata

    salam kenal pak anto.. saya Rizkiandi sedang proses skripsi ingin menanyakan apakah pada data trafic persdiaan barang bisa memakai SVM pada metode klasifikasi. terima kasih..

  19. christin berkata

    Yth pak Anto, saya sedang menyusun skripsi, saya ingin bertanya mengenai Support Vector Machine untuk regresi karena jarang sekali terdapat penjelasan mengenai support vector untuk regresi ini… mohon bantuan bapak… terima kasih

  20. Anind berkata

    Asslam.
    pak saya mahasiswa UNHAS fakultas Teknik elektro ( S1)
    JUDUL Tesis saya menggunakan Metode “SVM”
    mohon bantuannya pak ..terima kasih ..

  21. Ana berkata

    Assalamu’alaikum,
    Pak Anto, saya ingin bertanya tentang SVM, saya masih bingung Pak,
    hasil dari training itu kan berupa informasi mengenai support vector ya Pak, kemudian dilakukan pengambilan keputusan untuk masuk kelas +1 atau -1, waktu decision tu melibatkan nilai alpha, x, xi dan y. Jika tidak salah, x itu data yang akan diklasifikasikan, xi itu sv ke-i, nah untk nilai alpha itu hanya melibatkan alpha > 0 atau semua alpha, dan y itu target yg mn y Pak?
    Trimakasih,

  22. wulan berkata

    assalamualaikum ..
    saya ingin bertanya pada rekan2 semua khususnya pak anto
    say sekarang sedang dalam proses TA.. saya memiliki sedikt pertanyaan mengenai SVM.. pertanyaan yg mendasar sepertinya.. saya masih bingung, apakah SVM itu baik digunakan untuk pengklasifikasian data yang variabel prediktornya bersifat kategorik semua? mohon penjelasan serta reverensi yang mendukung

    terimakasih
    wassalamualaikum

  23. Hamdi berkata

    assalammualaikum pak anto..
    saya ingin bertanya mengenai multiclass SVM: OAO dan OAA. Mungkin bapak bisa menjelaskan mengenai cara pengambilan keputusan dari tiap2 metode itu sehingga di dapatkan klasifikasi berdasarkan SVm. Apa perbedaan dari OAO dan OAA itu karena saya masih bingung pak?? Mungkin bisa juga dijelaskan berdasarkan proses data latih dan data uji di SVM itu..

    mohon maaf jika saya banyak tanya :)
    terimakasih atas jawaban bapak..

  24. Ghazali Leo berkata

    assalammualaikum pak Anto..
    Saya ingin bertanya apakah SVM itu baik digunakan untuk pengklasifikasian data yang variabel prediktornya bersifat kategorik (nominal dan ordinal). Apakah algortima SVMnya sama dengan jika variabel prediktornya menggunakan varibel numerik?

    Terima Kasih

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Logout / Ubah )

Twitter picture

You are commenting using your Twitter account. Logout / Ubah )

Facebook photo

You are commenting using your Facebook account. Logout / Ubah )

Google+ photo

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

 
Ikuti

Get every new post delivered to your Inbox.

Bergabunglah dengan 99 pengikut lainnya.

%d bloggers like this: