Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Mengenal Support Vecctor Machine (SVM)

Presentasi serupa


Presentasi berjudul: "Mengenal Support Vecctor Machine (SVM)"— Transcript presentasi:

1 Mengenal Support Vecctor Machine (SVM)
Author: Wisnu Ananta Kusuma

2 Beberapa materi dari presentasi ini berasal dari buku Pattern Recognition and Machine Learning, karangan Christopher M. Bishop Sebagian besar slide presentasi ini berasal dari slide presentasi Moataz Al-Haj dan Hagit Hel-Or dari University of Haifa

3 Apa itu Support Vector Machine (SVM) ?
- SVM adalah algoritme supervised learning yang dikembangkan oleh Vladimir Vapnik dan diperkenalkan pertama kali pada tahun 1992 oleh Vapnik, Boser dan Guyon pada Computational Learning Theory (COLT) [3] -(dikatakan Vladimir Vapnik telah mengemukan idenya pada tahun 1979 di salah satu papernya, tetapi mulai berkembang pada tahun 90-an)

4 Apa itu Supervised Learning ?
Vektor input xi bersesuaian dengan sebuah vektor target ti Regresi: ti kontinyu Klasifikasi: ti  kategori diskrit

5 Apa itu Unsupervised Learning ?
Hanya ada vektor input xi, tidak ada vektor target ti Clustering: menemukan kelompok contoh-2 yang similar di dalam data Reduksi dimensi : menemukan representasi data dengan dimensi yang lebih rendah, contoh untuk visualisasi

6 Pendekatan dengan Machine Learning Terminologi dasar
Training set: N data {x1, …. , xN } Digunakan untuk tuning parameter dari model Kategori dari data training set telah diketahui sebelumnya Target vector: vektor unik t untuk tiap target Merepresentasikan identitas dari data yang bersesuaian

7 Pendekatan dengan Machine Learning Terminologi dasar
Learned function: y(x) Training phase (learning phase)  proses untuk menentukan y(x) berdasarkan training data Test set: data yang tidak terdapat pada training set Setelah model selesai dilatih dapat menentukan identitas dari data baru Kemampuan untuk mengkategorikan dengan benar data baru yang berbeda dengan data yang digunakan pada training  GENERALISASI

8 Definisi Masalah : - Diberikan sekumpulan n titik (vectors) :
di mana adalah vektor dengan panjang m dan masing-masing adalah anggota salah satu dari dua kelas yang memiliki label “+1” and “-1”. -Maka training set nya adalah : - Diinginkan untuk menemukan hyperplane Yang memisahkan titik-2 tersebut ke dalam dua kelas “Positif” (kelas “+1”) dan “Nagatif” (kelas “-1”). (Diasumsikan titik-titik tersebut dapat dipisahkan secara linier) Fungsi keputusannya berupa

9 Hyperplane pemisah Hyperplane pemisah
Ada banyak kemungkinan hyperplane pemisah

10 Hyperplane pemisah Yang mana yang dipilih! Ya, ada banyak hyperplane pemisah yang mungkin Bisa ini atau ini atau ini atau ini mungkin….!

11 Memilih hyperplane pemisah:
-Misal dipilih hyperplane (di bawah ini) yang dekat dengan sampel - Selanjutnya misal terdapat titik baru yang merupakan kelas “-1” dan dekat dengan Dengan menggunakan fungsi klasifikasi , titik misclassified! Generalisasi yang buruk

12 Choosing a separating hyperplane:
-Hyperplane seharusnya sejauh mungkin dari titik sampel -Dengan demikian data baru yang dekat dengan sampel data akan diklasifikasikan dengan benar Generalisasi yang baik !

13 Choosing a separating hyperplane
Choosing a separating hyperplane. The SVM approach: Linear separable case -Ide dasar dari SVM adalah memaksimalkan distance (jarak) antara hyperplane dan titik sampel terdekat Pada optimal hyper- plane: Jarak ke titik negatif terdekat = jarak ke titik positif terdekat

14 Choosing a separating hyperplane
Choosing a separating hyperplane. The SVM approach: Linear separable case Tujuan SVM adalah memaksimalkan Margin yang besarnya dua kali jarak “d” antara hyperplane pemisah dan sampel terdekat. Why it is the best? -Robust terhadap outlier sehingga memiliki kemampuan generalisasi yang kuat/bagus -Terbukti memiliki kinerja yang baik terhadap data test baik secara teori maupun praktek. Margin d d d

15 Support vectors adalah sampel terdekat ke hyperplane pemisah
Choosing a separating hyperplane. The SVM approach: Linear separable case Support vectors adalah sampel terdekat ke hyperplane pemisah Oh! So this is where the name came from! Margin (m) Support Vectors d d d Hyperplane yang optimal ditentukan oleh support vectors.

16 SVM : Kasus Linear separable
Pentingnya Support Vectors : -Sampel dengan adalah Support Vectors: sampel terdekat dengan hyperplane pemisah -Sehingga -dan di mana adalah support vectors -Dapat dilihat bahwa hyperplane pemisah didefinisikan secara lengkap oleh support vectors -Fungsi keputusannya menjadi:

17 VC (Vapnik-Chervonenkis) Dimension
Bagaimana jika titik-titik sampel tidak dapat dipisahkan secara linier ?! Definisi: “VC dimension dari sebuah kelas fungsi {fi} adalah jumlah maksimum titik yang dapat dipisahkan (shattered) ke dalam dua kelas dengan menggunakan {fi} dalam semua kemungkinan cara .” [6] -Jika dilihat tiga titik pada bidang datar 2d dapat dipisahkan secara linier:  VC dimension untuk kasus di atas adalah 3.

18 VC Dimension Empat titik tidak dapat dipisahkan pada dengan hypreplane Tapi dapat dipisahkan pada -”VC dimension dari sekumpulan hyperplanes di adalah n+1.” [6] -Dengan demikian selalu ada kemungkinan untuk menemukan suatu dimensi di mana semua kemungkinan pemisahan sekumpulan titik dapat diperoleh dengan sebuah hyperplane.

19 Non Linear SVM : Mapping the data to higher dimension

20 Bekerja dengan dimensi tinggi computationally expensive.
The Kernel Trick: Tetapi komputasi pada feature space bisa sangat tinggi karena high dimensional ! Bekerja dengan dimensi tinggi computationally expensive. -Solusinya adalah kernel trick : Jika kita melihat lagi problem optimalisasi berikut Dan fungsi keputusan : Tidak perlu memetakan secara eksplisit atau mengetahui dimensi dari space baru, karena hanya perlu menggunakan dot product dari vektor cirinya baik pada training maupun test.

21 The Kernel Trick: Suatu fungsi kernel didefinisikan sebagai sebuah fungsi yang berkorespondensi dengan dot product dari vektor ciri dalam beberapa feature space yang diperluas: Jadi hanya perlu menghitung dan tidak perlu melakukan perhitungan dalam ruang berdimensi tinggi secara eksplisit  ini yang disebut Kernel Trick.

22 Bagaimana mengetahui kernel mana yang sesuai?
Isu penting kernel: Bagaimana mengetahui kernel mana yang sesuai? Sampai saat ini masih menjadi pertanyaan terbuka, banyak peneliti telah dan sedang bekerja untuk memecahkan isu ini namun belum menemukan jawaban yang memuaskan. Ini adalah salah satu kelemahan SVM.

23 Isu penting kernel: Kernel Gaussian Radial Basis dapat memetakan data ke dimensi tak terbatas sehingga data selalu dapat dipisahkan. Tetapi kenapa kernel ini tidak selalu digunakan? Pertama karena harus memutuskan yang digunakan pada Kernel ini Kedua, dapat memunculkan masalah Overfitting: Gejala overfitting: 1-Low margin  kinerja klasifikasi rendah 2-Didukung banyak support vectors memperlambat komputasi

24 Important Kernel Issues:
Dapat dipisahkan secara linier Tetapi low margin Problem ini memunculkan solusi kompromistis Soft Margin!

25 Soft Margin: -Mengijinkan adanya “error” pada klasifikasi digunakan variabel “slack” (satu untuk tiap sampel). Adalah error deviasi dari posisi ideal untuk tiap sampel for sampel i: -

26 Soft Margin: A practical guide to Support Vector Classifications” Chih-Wei Hsu, Chih-Chung Chang, and Chih-Jen Lin ]

27 Soft Margin: The primal optimization problem .Problem optimasinya menjadi: Di mana: konstanta yang merupakan penalty untuk Ini juga merupakan tradeoff antara margin dan training error. Ini digunakan untuk mengontrol overfitting

28 -“C” berperan dalam mengontrol overfitting.
-Menemukan nilai yang tepat untuk “C” menjadi salah satu masalah dalam SVM : Soft Margin: The “C” Problem -“C” berperan dalam mengontrol overfitting. - C besar  lebih sedikit sampel training yang berada di posisi yang tidak ideal (artinya lebih sedikit error , sehingga berdampak positif pada kinerja pengklasifikasi. Tetapi margin yang lebih kecil memberikan efek negatif pada kinerja pengklasifikasi.  C yang terlalu besar menyebabkan overfitting -C kecil  lebih banyak sampel training yang tidak berada pada posisi ideal (artinya akan banyak error training sehingga berdampak negatif pada kinerja pengklasifikasi. C terlalu kecil menyebabkan underffiting (naïve classifier)

29 The “C” Problem: Overfitting and Underfitting
Soft Margin: The “C” Problem: Overfitting and Underfitting Over-Fitting Under-Fitting Terlalu simpel ! Terlalu kompleks! Trade-Off Based on [12] and [3]

30 Model selection procedure
SVM:Nonlinear case Model selection procedure - Memilih fungsi kernel dan menentukan nilai “C” yang akan digunakan ”Pada prakteknya Gaussian radial basis atau polynomial berderajat rendah baik untuk dicoba pada eksperimen pertama [Andrew.Moore] Menggunakan K-fold cross validation untuk memilih nilai parameter dan C yang paling sesuai jika menggunakan Gaussian radial basis

31 Contoh kasus: Identifikasi Single Nucleotide Polymorphism (SNP) dengan SVM

32 Motivasi Conventional Molekuler Fenotype selection is time consuming
High cost Molekuler Selection based on Molecular marker More efficient (Azrai 2005; Moose dan Mumm 2008)

33 Marker Assisted Selection Pemuliaan Konvensional (backcross) 5 P1 P2
F1 BC1F1 BC6F1 P1 P2 F1 BC1F1 BC3F1 Molecular marker BCxF1 Pada pemulian konvensional, proses seleksi dilakukan dengan mengamati fenotipe. Pemuliaan saat ini mulai mengamati genotipe, marka molekuler. Penggunaan marka molekuler pada proses seleksi mampu meningkatkan efisiensi pemuliaan Boopathi 2013 18 month 9 month 5 Moose and Mumm 2008

34 Single Nucleotide Polymorphism
TTGGGCGAGTTCATTCT...TATACCGGCGATGGGC... TTGGGCGCGTTCATTCT...TATACTGGCGATGGGC... Single Nucleotide Polymorphism Human Genetics Genetic disease studies Pharmacogenetics Plant Genetics Plant breeding Marker-assisted selection

35 SNP Identification ACCGTACACTAC CCTAC GTAGACT GTACAC TAGACTCA
Reference Fragments reference ACCGTACACTAC Sequence 1 CCTAC Sequence 2 GTAGACT Alignment or Mapping Sequence 3 GTACAC Sequence 4 TAGACTCA Sequence 5 TAGACTCAC SNP Calling SNP Putative (Oeveren dan Janssen 2009)

36 SNP Identification ACCGTACACTAC CCT-AC GTAGACT GTACAC TAGACTCA
Reference Fragment Reference ACCGTACACTAC Sequence 1 CCT-AC Sequence 2 GTAGACT Alignment or Mapping Sequence 3 GTACAC Sequence 4 TAGACTCA Sequence 5 TAGACTCAC SNP Calling SNP Putative (Oeveren dan Janssen 2009)

37 SNP Identification ACCGTACACTAC CCT-AC GTAGACT GTACAC TAGACTCA
Reference fragment SNP Reference ACCGTACACTAC Sequence 1 CCT-AC Sequence 2 GTAGACT Alignment or Mapping Sequence 3 GTACAC Sequence 4 TAGACTCA Sequence 5 TAGACTCAC SNP Calling SNP Putative (Oeveren dan Janssen 2009)

38 Alur penelitian Tidak dilakukan 12 Lam et al 2010
14 aksesi kedelai budidaya Tidak dilakukan 31 aksesi kedelai 17 aksesi kedelai liar Filtering Fragmen Illumina Genome Analyzer II DNA kedelai disekuen menggunakan teknologi NGS. Hasilnya berupa fragmen2. tahap ini tidak dilakukan Sequencing dna tidak dilakukan karena data hasil sequencing sudah tersedia di internet hasil penelitian Lam 2010. Data tersebut berupa hasil resequencing 31 varietas kedelai, tdd 14 varietas kedelai budidaya dan 17 varietas kedelai liar Dna disekuen menggunakan platform Illumina Genome Analyzer II dengan panjang fragmen 75 bp Fragmen-fragmen dna sepanjang 75 bp dalam format FASTQ 12

39 Ilmu Komputer-Pascasarjana IPB
Praproses PRINSEQ Filtering Fragmen Membuang fragmen yang mengandung pembacaan N Fragmen2 DNA hasil sekuensing difilter menggunakan tool PRINSEQ. Filterisasi yang dilakukan adalah Memotong basa berkualitas rendah Membuang fragmen dengan panjang < 14 bp 13 Identifikasi SNP Ilmu Komputer-Pascasarjana IPB

40 Alignment 14 SOAP2 Reference: kedelai varietas William 82
Filtering Fragmen Kemudian, fragmen2 yang telah difilter disusun kembali atau di-align menjadi genom. Proses alignment menggunakan tools SOAP2. Fragmen2 tersebut dijajarkan terhadap reference kedelai varietas William82. Dari hasil alignment diperoleh variasi basa, yaitu kandidat SNP SOAP2 Reference: kedelai varietas William 82 Hasil alignment -> variasi basa (kandidat SNP) 14

41 Alur penelitian Fokus penelitian 15 Filtering Fragmen
Tahap selanjutnya adalah identifikasi kandidat basa. Fokus penelitian adalah pada tahap ini Fokus penelitian 15

42 Identifikasi SNP Dengan SVM 16
Kandidat SNP yang diperoleh dari proses alignment, dihitung fiturnya. Kemudian dibagi menjadi data latih data data uji. Pada data latih dilakukan balancing data dan pelatihan dengan SVM untuk menghasilkan model. Model yang dihasilkan, diuji menggunakan data uji dan hasilnya dievaluasi 16

43 Ekstraksi Fitur #1 Tipe variasi #2 Kualitas maksimum alel mayor #3
Nama fitur Deskripsi #1 Tipe variasi Transisi, variasi basa antara purin saja (A ↔ G) atau pirimidin saja (C ↔ T). Transversi, variasi basa antara purin dan pirimidin. Nilai fitur transisi diubah menjadi 0, sedangkan nilai fitur transversi diubah menjadi 1. #2 Kualitas maksimum alel mayor Alel mayor adalah alel yang paling sering muncul, alel minor adalah alel kedua yang paling sering muncul. Fitur ini menyatakan kualitas maksimum alel mayor dan kualitas maksimum alel minor pada posisi kandidat SNP. #3 Kualitas maksimum alel minor #4 Kualitas rata-rata alel mayor Rata-rata kualitas alel mayor dan rata-rata kualitas alel minor pada posisi kandidat SNP #5 Kualitas rata-rata alel minor #6 Frekuensi alel mayor Banyaknya kemunculan alel mayor dan banyaknya kemunculan alel minor dibagi kedalaman penjajaran pada posisi kandidat SNP #7 Frekuensi alel minor #8 Jarak relative Jarak relatif kandidat SNP ke ujung fragmen terdekat dibagi dengan panjang fragmen. #9 Rata-rata kualitas basa Rata-rata kualitas basa pasa posisi kandidat SNP #10 Kedalaman penjajaran Banyaknya fragmen yang dijajarkan pada posisi kandidat SNP #11 Kualitas pemetaan rata-rata #12 Peluang error Fragmen-fragmen yang mengandung kandidat SNP dianggap memiliki distribusi binomial. Fitur ini menghitung peluang kandidat SNP adalah homozigot, heterozigot dan error

44 Perulangan dinukleotida (kiri) Perulangan dinukleotida (kanan)
#13 Perulangan dinukleotida (kiri) Banyaknya perulangan dinukleotida pada sebelah kiri dan kanan genom rujukan di posisi sekitar kandidat SNP #14 Perulangan dinukleotida (kanan) #15 Area mismatch Rata-rata jumlah kandidat SNP pada setiap fragmen yang dijajarkan pada posisi kandidat SNP #16 Panjang homopolimer (kiri) Banyaknya homopolimer di kiri dan kanan posisi kandidat SNP pada genom rujukan #17 Panjang homopolimer (kanan) #18 Keragaman nukleotida Deviasi basa nukleotida pada genom rujukan pada daerah 10 bp kanan dan kiri kandidat SNP #19 Total mismatch pada rujukan Jumlah variasi basa pada fragmen yang memiliki kandidat SNP dan jumlah variasi basa pada fragmen yang sama terhadap genom rujukan pada posisi kandidat SNP #20 Total mismatch pada fragmen #21 Keseimbangan alel Perbandingan antara fragmen yang mengandung variasi basa dan kedalaman penjajaran pada posisi kandidat SNP #22 Rata-rata kualitas basa terdekat Rata-rata kualitas basa yang mengapit posisi kandidat SNP pada fragmen #23 Jarak terdekat dengan SNP lain (kiri) Jarak antara kandidat SNP ke kandidat SNP terdekat lainnya pada posisi kiri dan kanan. #24 Jarak terdekat dengan SNP lain (kanan)

45 Ilmu Komputer-Pascasarjana IPB
Data Percobaan 1 SNP Negatif SNP Negatif 15000 Data percobaan 1 dilakukan pada kromosom nomor 16. pada kromosom ini terdapat kandidat SNP sebanyak 1.5 juta kandidat SNP yang tdd 1.5 juta SNP – dan 154rb SNP +. Dari masing2 SNP + dan – diambil data sebanyak dan 1500 secara random. Kemudian dilakukan 4 metode balancing Gm 16 ( ) SNP Positif SNP Positif 1500 21 Identifikasi SNP Ilmu Komputer-Pascasarjana IPB

46 Masalah Ketidakseimbangan
SVM lebih robust terhadap masalah ketidakseimbangan data, karena tidak menggunakan seluruh sampel, SVM menggunakan support vector Namun untuk kasus ketidakseimbangan yang sangat besar seperti pada kasus identifikasi SNP ini di mana jumlah fals SNP jauh lebih besar dari true SNP, ketidakseimbangan ini berpengaruh dalam mengambil keputusan

47 Ilmu Komputer-Pascasarjana IPB
Balancing Data Undersampling : Teknik balancing data yang bekerja dengan cara mengeliminasi data pada kelas mayor Oversampling : Teknik balancing data yang bekerja dengan cara mereplikasi data pada kelas minor Teknik balancing data yang dilakukan, undersampling dan oversampling. 17 Identifikasi SNP Ilmu Komputer-Pascasarjana IPB

48 Ilmu Komputer-Pascasarjana IPB
Undersampling 𝑛= 𝑚 × 𝑆𝐶 𝑖 × 𝑆𝑀𝑖 𝑆𝑀𝑎 𝑚 perbandingan mayor dan minor 𝑆𝐶 𝑖 jlh data kluster ke-i 𝑆𝑀𝑖 total data kelas minor 𝑆𝑀𝑎 total data kelas mayor Teknik undersampling yang digunakan bekerja berdasarkan prinsip klustering Kluster data mayor Menggunakan K-means Yen dan Lee 2010 18 Identifikasi SNP Ilmu Komputer-Pascasarjana IPB

49 Oversampling 19 𝑛=25% × 𝑆𝐶 𝑖 Replikasi data minor Data original 1
Batuwita dan Palade 2010 𝑛=25% × 𝑆𝐶 𝑖 Replikasi data minor Data original 1 Replika pertama data original 1 Replika kedua data original 1 Data original 2 . Oversampling is the other technique to handle imbalanced data by replicate as many as data in major class to obtain balanced data Untuk menghindari muncul data yang sama pada data latih dan data uji, maka data minor harus disusun Replikasi data kelas minor Kluster data mayor Menggunakan K-means 19 Identifikasi SNP Ilmu Komputer-Pascasarjana IPB

50 Ilmu Komputer-Pascasarjana IPB
Metode balancing Metode (i) undersampling 1:1, m = 1 Metode (ii) undersampling 1:2, m = 2 Metode (iii) oversampling Metode (iv) imbalanced data M adalah perbandingan jumlah data kelas mayor dan minor 20 Identifikasi SNP Ilmu Komputer-Pascasarjana IPB

51 Ilmu Komputer-Pascasarjana IPB
Data awal Data 1% kromosom Nomor 16 Merah SNP positif Biru SNP negatif Informasi 40.89% 22 Identifikasi SNP Ilmu Komputer-Pascasarjana IPB

52 Ilmu Komputer-Pascasarjana IPB
Data Undersampling 1:1 Data 1% kromosom Nomor 16 Merah SNP positif Biru SNP negatif Informasi 45.84% 22 Identifikasi SNP Ilmu Komputer-Pascasarjana IPB

53 Ilmu Komputer-Pascasarjana IPB
Data Undersampling 1:2 Data 1% kromosom Nomor 16 Merah SNP positif Biru SNP negatif Informasi 44.24% 24 Identifikasi SNP Ilmu Komputer-Pascasarjana IPB

54 Ilmu Komputer-Pascasarjana IPB
Data Oversampling Data 1% kromosom Nomor 16 Merah SNP positif Biru SNP negatif Informasi 43.43% 25 Identifikasi SNP Ilmu Komputer-Pascasarjana IPB

55 Ilmu Komputer-Pascasarjana IPB
Evaluasi 1 10 cross-validation Kernel RBF C, γ (0.1 – 1.0) Ini adalah hasil evaluasi 1 menggunakan data 1% kromosom 16. Akurasi tertinggi diperoleh dari data yang tidak balance. Namun metrik akurasi menjadi bias jika digunakan pada data yang tidak balance. Terlihat dari rendahnya metrik lainnya. Hal ini terjadi karena (ganti slide) 26 Identifikasi SNP Ilmu Komputer-Pascasarjana IPB

56 Ilmu Komputer-Pascasarjana IPB
Terima Kasih Identifikasi SNP Ilmu Komputer-Pascasarjana IPB

57 Seeing is believing. Listening is understanding. Sharing is inspiring.
© 2015 Seeing is believing. Listening is understanding. Sharing is inspiring.


Download ppt "Mengenal Support Vecctor Machine (SVM)"

Presentasi serupa


Iklan oleh Google