Teori SVM: Margin dan Vektor Pendukung
Pengklasifikasi dengan margin maksimum, margin keras vs lunak (parameter C), vektor pendukung.
Teori SVM: Margin dan Vektor Pendukung adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.
Apa Itu SVM
Mesin Vektor Pendukung adalah pengklasifikasi yang menemukan batas yang paling baik memisahkan dua kelas. Alih-alih menggunakan sembarang garis pemisah, metode ini mencari garis dengan celah terlebar di antara kelas-kelas tersebut.
Hiperbidang Pemisah
Dalam 2D, batasnya berupa garis; dalam dimensi yang lebih tinggi, batasnya berupa hiperbidang. SVM mendefinisikannya sebagai w . x + b = 0 dan mengklasifikasikan titik berdasarkan sisi tempat titik tersebut berada.
Margin
Margin adalah jarak antara hiperbidang dan titik terdekat dari setiap kelas. SVM memaksimalkan margin ini karena celah yang lebih lebar biasanya menghasilkan generalisasi yang lebih baik pada data baru.
Hiperbidang dengan Margin Maksimum
Di antara semua batas yang valid, SVM memilih hiperbidang dengan margin maksimum: hiperbidang yang paling jauh dari titik terdekat di kedua sisinya. Inilah gagasan inti yang membuat SVM tangguh.
Vektor Pendukung
Vektor pendukung adalah titik data yang paling dekat dengan batas, yaitu titik-titik yang menyentuh tepi margin. Hanya titik-titik tersebut yang menentukan hiperbidang; menghapus titik lainnya tidak akan mengubahnya.
from sklearn.svm import SVC
model = SVC(kernel="linear")
model.fit(X, y)
print("Support vectors:\n", model.support_vectors_)
print("Indices:", model.support_)Mengapa Vektor Pendukung Penting
Karena hanya vektor pendukung yang menentukan model, SVM hemat memori saat melakukan prediksi dan berfokus pada contoh yang paling sulit serta paling informatif di dekat batas, bukan contoh mudah yang jauh dari batas.
Margin Keras
SVM dengan margin keras menuntut pemisahan sempurna: tidak boleh ada titik yang melewati margin. Metode ini hanya berfungsi jika data dapat dipisahkan secara linear dengan sempurna dan sangat sensitif terhadap pencilan.
Masalah pada Margin Keras
Data nyata mengandung derau dan jarang dapat dipisahkan dengan sempurna. Satu pencilan saja dapat membuat margin keras mustahil diterapkan atau memaksanya menjadi sangat tipis. Kita perlu mengizinkan beberapa kesalahan.
Margin Lunak
SVM dengan margin lunak mengizinkan beberapa titik melanggar margin atau salah diklasifikasikan, dengan menukar beberapa kesalahan untuk mendapatkan batas yang lebih lebar dan lebih tangguh. Hal ini dikendalikan oleh parameter C.
Parameter C
C menetapkan penalti untuk pelanggaran. C yang lebih besar menghukum kesalahan dengan lebih berat sehingga menghasilkan margin yang lebih kecil dan menyesuaikan data pelatihan secara ketat (berisiko mengalami overfitting). C yang lebih kecil memungkinkan lebih banyak kelonggaran dan margin yang lebih lebar (regularisasi lebih kuat).
from sklearn.svm import SVC
strict = SVC(C=100, kernel="linear") # narrow margin, fits closely
relaxed = SVC(C=0.1, kernel="linear") # wide margin, more tolerantMenyesuaikan C dalam Praktik
Pilih C menggunakan validasi silang. Nilai yang terlalu besar menyebabkan overfitting; nilai yang terlalu kecil menyebabkan underfitting. Nilai terbaik menyeimbangkan lebar margin dan akurasi pelatihan untuk data Anda.
from sklearn.model_selection import GridSearchCV
from sklearn.svm import SVC
gs = GridSearchCV(SVC(kernel="linear"), {"C": [0.01, 0.1, 1, 10, 100]}, cv=5)
gs.fit(X, y)
print("Best C:", gs.best_params_)Pemeriksaan Singkat
Uji pemahaman Anda tentang teori SVM.
Rangkuman
Rangkuman: SVM menemukan hiperbidang dengan margin maksimum yang memisahkan kelas-kelas. Vektor pendukung adalah titik-titik terdekat dan menjadi satu-satunya penentu batas. Margin keras memerlukan pemisahan sempurna; margin lunak mengizinkan pelanggaran yang dikendalikan oleh C (C lebih besar = margin lebih kecil, regularisasi lebih lemah).
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Teori SVM: Margin dan Vektor Pendukung” gratis?
Ya — teks lengkap “Teori SVM: Margin dan Vektor Pendukung” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Teori SVM: Margin dan Vektor Pendukung”?
Pengklasifikasi dengan margin maksimum, margin keras vs lunak (parameter C), vektor pendukung. Kamu berlatih Learn AI with Python dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Learn AI with Python?
Tidak diperlukan pengalaman sebelumnya. Learn AI with Python di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Teori SVM: Margin dan Vektor Pendukung” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Learn AI with Python ini?
Ya. Setiap pelajaran Learn AI with Python menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Teori SVM: Margin dan Vektor Pendukung
- Trik Kernel: RBF, Polinomial, dan Sigmoid
- SVM untuk Klasifikasi dengan sklearn
- SVM untuk Regresi (SVR)