Lompat ke konten Lompat ke sidebar Lompat ke footer

Apa itu Kernel Trick? Pengertian dan Jenis-jenis Fungsi Kernel SVM

Pengertian dan Jenis Jenis Fungsi Kernel pada SVM - Dataset atau kumpulan data yang dipisahkan secara linear dengan garis lurus disebut data linear dan dataset yang tidak dipisahkan dengan garis disebut data non-linear. Biasanya data non-linear dipisahkan dengan kurva yang tidak beraturan.

Namun untuk data non-linear, Support Vector Machine (SVM) sulit untuk mengklasifikasikan data. Solusinya adalah dengan menggunakan Kernel Trick. Kernel Trick atau trik kernel adalah metode sederhana yang dipakai untuk memetakan data non-linear berdimensi rendah dan mengubahnya ke dalam ruang dimensi yang lebih tinggi. Tujuannya untuk memudahkan pengklasifikasian data dengan menemukan hyperplane yang dapat memisahkan dataset secara linear dengan baik.

Setelah memahami hal di atas sekarang lebih mudah untuk menghubungkan dan memahami kernel trick. Seperti yang umum diketahui, SVM bekerja lebih baik dengan ruang dimensi yang dapat dipisahkan secara linear.

Daftar Isi

Jenis-jenis Fungsi Kernel pada SVM

Ada tiga jenis fungsi kernel yakni:

1. Kernel linear

Fungsi kernel linear digunakan untuk klasifikasi data linear

Kernel linear adalah fungsi kernel yang paling sederhana. Kernel linear digunakan ketika data yang dianalisis sudah terpisah secara linear. Kernel linear cocok ketika terdapat banyak fitur dikarenakan pemetaan ke ruang dimensi yang lebih tinggi tidak benar-benar meningkatkan kinerja. Persamaan untuk fungsi kernel adalah:

K(x, xi) = sum(x * xi)

2. Kernel polynomial 

Fungsi kernel polynomial merupakan fungsi kernel yang digunakan ketika data tidak terpisah secara linear. 

Kernel polynomial adalah bentuk yang lebih umum dari kernel linear. Dalam machine learning, kernel polynomial adalah fungsi kernel yang cocok untuk digunakan dalam SVM dan kernelisasi lainnya, di mana kernel mewakili kesamaan vektor sampel pelatihan dalam ruang fitur. Kernel polynomial juga cocok untuk memecahkan masalah klasifikasi pada dataset pelatihan yang dinormalisasi. Persamaan untuk fungsi kernel polynomial adalah:

K(x,xi) = 1 + sum(x * xi)^d

Kernel polynomial memiliki parameter derajat (d) yang berfungsi untuk mencari nilai optimal pada setiap dataset. Parameter d adalah derajat dari fungsi kernel polynomial dengan nilai default d = 2. Semakin besar nilai d maka akurasi sistem yang dihasilkan akan fluktuatif dan kurang stabil. Hal ini terjadi karena semakin tinggi nilai parameter d maka semakin melengkung garis hyperplane yang dihasilkan.

3. Kernel RBF (Radial Basic Function)

Fungsi kernel rbf digunakan untuk klasifikasi data non-linear

Kernel RBF atau juga disebut kernel Gaussian adalah konsep kernel yang paling banyak digunakan untuk memecahkan masalah klasifikasi data yang tidak dapat dipisahkan secara linear. Kernel ini dikenal memiliki performa yang baik dengan parameter tertentu, dan hasil dari pelatihan memiliki nilai error yang kecil dibandingkan dengan kernel lainnya. Rumus persamaan untuk fungsi kernel RBF adalah:

K(x,xi) = exp(-gamma * sum((x – xi^2))

Parameter yang digunakan pada SVM

Ada dua parameter lain yang sangat penting dan memberikan kontribusi untuk garis SVM atau hyperplane pada n-dimensi. 

1. Cost ( C )

Parameter Cost atau biasa disebut sebagai C adalah parameter yang bekerja sebagai  pengoptimalan SVM untuk menghindari misklasifikasi di setiap sampel dalam dataset training. 

  • Ketika nilai C terlalu besar, algoritma mencoba untuk mengurangi misklasifikasi atau kesalahan klasifikasi sebanyak mungkin. Hal ini akan menyebabkan hilangnya sifat generalisasi dari classifier (algoritma). Sederhananya jika C terlalu besar akan menyebabkan batas keputusan (decision boundary) menjadi sangat kecil.

  • Ketika nilai C terlalu kecil, kesalahan klasifikasi titik data akan terjadi karena batas keputusan (decision boundary) yang lebih luas. Batas keputusan yang lebih luas digeneralisasikan dengan baik pada data pelatihan dan pengujian tetapi dapat mengklasifikasikan beberapa catatan yang tidak benar. 

Kesimpulan: semakin tinggi nilai C, maka kemungkinan terjadinya kesalahan dalam penentuan solusi akan semakin kecil. Sebaliknya, jika nilai C semakin rendah maka semakin tinggi proporsi kesalahan yang terjadi pada penentuan solusi. Sehingga, disarankan untuk mencari nilai C yang optimal. 

2. Gamma 

Parameter gamma menentukan seberapa jauh pengaruh dari satu sampel dataset pelatihan. Nilai rendah berarti “jauh”, dan nilai yang tinggi berarti “dekat”.

  • Ketika nilai gamma tinggi
    Dengan nilai gamma tinggi, rincian yang tepat dari batas keputusan hanya akan tergantung pada titik-titik yang sangat dekat dengannya.

  • Ketika nilai gamma rendah
    Nilai gamma yang rendah menunjukkan bahwa bahkan titik yang jauh pun dipertimbangkan ketika kita hendak memutuskan di mana harus batas keputusan (decision boundary) seharusnya berada.

Kesimpulan: ketika mengambil nilai gamma tinggi berarti titik-titik yang berada di sekitar garis akan dipertimbangkan dalam perhitungan. Sedangkan, ketika nilai gamma rendah, titik yang berada jauh dari garis pemisah dipertimbangkan dalam perhitungan. Oleh karena itu kita perlu mencari nilai gamma yang optimum.

Referensi:

Posting Komentar untuk "Apa itu Kernel Trick? Pengertian dan Jenis-jenis Fungsi Kernel SVM"