SVM atau Support Vector Machine menggunakan teknik yang dikenal dengan ’kernel trick’. Teknik ini dapat mengubah data menjadi ruang dimensi yang lebih tinggi.
Daftar Isi Artikel
ToggleApa itu SVM?
SVM adalah salah satu metode algoritma pembelajaran mesin untuk klasifikasi dan regresi. Algoritma ini mencari hyperplane optimal yang memisahkan data ke dalam kelas berbeda dengan margin terbesar.
Metode algoritma ini digunakan dalam berbagai aplikasi, dari pengenalan gambar, klasifikasi teks, hingga analisis sentimen. Para ilmuan data cenderung menyukai metode algoritma ini karena kemampuannya mengklasifikasikan data dengan tingkat akurasi yang tinggi.
Awalnya SMV dikembangkan sebagai metode untuk klasifikasi data, dan terus berkembang hingga menjadi alat yang lebih umum untuk SVM machine learning. Di era modern, SMV terus berkembang. SMV berfokus pada efisiensi algoritma, terutama dalam pelatihan dan klasifikasi untuk data set besar.
Metode
Metode Support Vector Machine (SVM) adalah dengan mencari hyperplane optimal. Ini berfungsi untuk memisahkan antara dua atau lebih kelas data. Dalam ruang berdimensi tinggi, hyperplane merupakan fungsi matematis yang memaksimalkan margin.
SVM Classifier adalah model pembelajaran mesin untuk klasifikasi data. Cara kerjanya dengan mencari hyperplane dalam ruang N-dimensi yang paling efektif memisahkan kelas data. SMV efektif untuk menangani masalah klasifikasi yang linier atau pun non linier.
Contoh matematis sederhana dari metode SVM:
Diketahui data xi, yi, dimana (xi,) vektor fitur dan ( yi) label kelas (misalnya +1 atau-1). Tujuan SVM adalah menemukan hyperplane dengan persamaan ( w⋅x+b=0) yang dapat memaksimalkan margin. Hal tersebut dapat dilakukan dengan memecahkan masalah optimasi 12 //w// 2 , dengan kendala yiw.xi+b≥1, ∀i.
Algoritma
Algoritma SVM adalah metode pembelajaran mesin untuk klasifikasi dan regresi. Selain itu, algoritma ini mencari batasan keputusan yang paling efektif untuk memisahkan kelas data dalam ruang berdimensi tinggi.
Pemilihan hyperplane membuat margine terbesar antar data dari kelas yang berbeda. Hal ini menunjukkan jarak antar data dari kedua kelas tersebut ke hyperplane sangat jauh.
SVM Algorithm efektif dalam kasus di mana jumlah fitur lebih besar dari jumlah sampel. Selain itu mampu mengatasi yang linier atau pun non linier. Metode algoritma ini menggunakan kernel trick untuk memetakkan data ke ruang dimensi yang lebih tinggi.
Kernel Trick
Kernel trick adalah teknik untuk mengatasi klasifikasi data yang tidak linearly separable di ruang dimensi asli mereka. Selain itu, kernel trick berfungsi untuk menghitung inner product tanpa perlu secara eksplisit memetakkan data tersebut. Keunggulan kernel trick adalah efisien, fleksibel dan mampu mengeneralisir.
Contoh kernel trick adalah ketika ada dataset non linier di 2 dimensi. Dengan menggunakan karnel polynormal, kalian dapat memetakkan data tersebut ke ruang yang lebih tinggi. Selain itu kalian dapat menemukan hyperplaner yang memisahkan kelas dengan baik.
Implementasi dengan Sklearn
Implementasi metode algoritma ini dengan Sklearn di Python itu proses yang sederhana. Berikut ini langkah mengimplementasikan Sklearn SVM:
Impor Modul yang Diperlukan
Kalian perlu mengimport modul SVM Sklearn, yang menyediakan kelas untuk berbagai jenis metode algoritma ini.
Persiapkan Data
Siapkan dataset dengan membaginya menjadi 4. Fiture (x), target (y), set pelatihan serta pengujian.
Pilih Model SVM
Pilih jenis metode algoritma yang ingin digunakan, misal ’svc’, ’NuSVC’, atau ’LinearSVC’. Setiap kelas ini memiliki karakteristik tersendiri. Selain itu setiap kelas juga cocok untuk kasus penggunaan yang berbeda.
Konfigurasi Hyperparameter
Kalian perlu menyesuaikan hyperparameter dengan kebutuhan. Hyperparameter yang digunakan seperti ’c’, ’kernel’, dan ’gamma’ untuk mempengaruhi performa model.
Latih Model
Untuk melatih model metode algoritma ini dengan data pilihan kalian, gunakan metode ’.fit()’.
Evaluasi Model
Setelah melatih model, kalian dapat menggunakan ’.predict()’. Ini berguna untuk membuat prediksi pada data pengujian dan evaluasi performa model menggunakan metrik seperti akurasi.
Kelebihan
Kelebihan dari SVM adalah:
Efektivitas pada Dataset Berdimensi Tinggi
Metode algoritma ini cocok untuk kasus-kasus dengan jumlah fitur dimensi dalam data lebih besar dibanding jumlah sampel data. Hal tersebut memungkinkan analisis yang akurat meskipun dengan data yang kompleks.
Margin Pemisah Kelas yang Jelas
Margin pemisah kelas yang jelas bermanfaat untuk mengambil keputusan lebih baik dan mengurangi kesalahan klasifikasi.
Fungsi Kernel yang Beragam
Fungsi ini dapat digunakan untuk data yang tidak linearly separable. Hal ini dapat memberikan fleksibilitas dalam pemilihan model untuk berbagai jenis data.
Hemat Memori
Metode algoritma ini hemat memori karena hanya sejumlah kecil data yang benar-benar mempengaruhi pembentukan hyperplane.
Generalisasi yang Baik
Model yang dibangun tidak mudah overfit terhadap data latih dan dapat memprediksi data baru dengan baik.
Kekurangan
Meskipun SVM adalah algoritma yang kuat dan sering digunakan dalam pembelajaran mesin. Ada beberapa kelemahan yang perlu dipertimbangkan:
Skalabilitas
Metode algoritma ini tidak efisien untuk dataset yang sangat besar. Karena membutuhkan pelatihan yang lebih lama dibanding algoritma lainnya.
Kelas Tumpang Tindih
Metode algoritma ini bisa tidak berfungsi ketika terdapat banyak noise atau kelas target yang tumpang tindih.
Kebutuhan Parameter
Memilih parameter yang tepat untuk fungsi kernel dan regularitas bisa menjadi tantangan dan perlu penyetelan yang cermat.
Probabilitas
Beberapa aplikasi memerlukan prediksi probabilitas. Metode algoritma ini tidak secara langsung memberikan estimasi probabilitas.
Meskipun begitu, metode algoritma ini banyak digunakan karena kelebihannya dalam menangani data yang berdimensi tinggi dan kemampuannya menemukan margin yang jelas. Kelemahan ini sering kali diatasi dengan teknik-teknik pra-pemrosesan data, pemeliharaan fitur, dan optimasi parameter.
Contoh Aplikasi
Kepopuleran SVM terjadi karena kemampuannya untuk menangani data berdimensi tinggi dan efektivitasnya dalam klasifikasi dengan margin yang jelas antar kelas. Metode algoritma ini memiliki berbagai aplikasi praktis di berbagai bidang. Berikut contoh aplikasi metode algoritma ini:
Klasifikasi Teks
Metode algoritma ini juga dapat digunakan untuk mengklasifikasi dokumen teks ke dalam katagori yang berbeda. Contoh penerapannya seperti pendeteksian spam email, analisis sentimen pada ulasan produk, atau pengelompokan artikel berita.
Pengenalan Gambar
Metode algoritma ini dapat digunakan untuk mengklasifikasi objek berdasarkan fitur visualnya. Contoh penerapannya seperti fitur pengenalan wajah pada smartphone, atau klasifikasi jenis bunga.
Bioinformatika
Metode algoritma ini dapat digunakan untuk mengklasifikasikan protein, gen, dan sampel biologis lainnya. Hal ini dapat bermanfaat untuk penelitian kesehatan dan medis.
Pengolahan Citra
Metode algoritma ini berkontribusi dalam segmentasi citra dan pengenalan pola. Seperti dalam aplikasi pengenalan plat nomor kendaraan.
Keuangan
Metode algoritma ini dapat digunakan untuk memprediksi pasar saham. Selain itu, dalam sektor keuangan, mampu menganalisis risiko kredit.
Deteksi Penipuan
Metode algoritma ini mampu mendeteksi aktivitas penipuan. Dengan mengidentifikasi pola yang tidak biasa atau bisa dibilang mencurigakan.
SVM adalah algoritma yang kuat, selain itu mampu membuat model yang kuat dengan memisahkan margin yang jelas. Menggunakan pendekatan matematis untuk menangani berbagai jenis data. Untuk mempelajari metode algoritma ini lebih lanjut maka kalian dapat mengikuti kursus online di ITBOX. Pertama dan satu-satunya platform belajar IT yang akan mengupgrade skill kalian step by step dari dasar hingga mahir.


