Kursus
Model linear itu sederhana dan intuitif, tetapi gagal begitu data Anda tidak dapat dipisahkan secara linear.
Dan sebagian besar data dunia nyata memang demikian. Apa pun penyesuaian bobotnya, batas keputusan yang lurus bukanlah pilihan yang tepat—kelas-kelasnya saling tumpang tindih atau membentuk pola yang tak bisa dipisahkan garis lurus tanpa kesalahan. Jika Anda tahu modelnya terlalu sederhana untuk tugasnya, tetapi tidak ingin langsung lompat ke jaringan saraf, ada jalan tengah yang bagus.
Support Vector Machine menawarkan satu “trik.” Anda dapat memproyeksikan data ke ruang berdimensi lebih tinggi, dan apa yang tampak tak terpisahkan sering kali menjadi terpisahkan. Kernel trick adalah jalan pintas komputasi yang memungkinkan model berbasis kernel seperti SVM beroperasi seolah-olah data telah ditransformasi, tanpa benar-benar melakukan transformasi tersebut secara eksplisit.
Dalam artikel ini, Anda akan mempelajari secara tepat bagaimana kernel trick bekerja di dalam SVM, fungsi kernel apa saja yang perlu diketahui, dan kapan metode kernel layak digunakan.
Namun, apa sebenarnya SVM itu? Baca posting blog kami tentang Support Vector Machines dengan Scikit-learn untuk mempelajari semua tentang algoritma dan cara menerapkannya.
Apa Itu Kernel Trick?
Kernel trick adalah metode untuk menghitung hasil kali dalam (inner product) di ruang fitur berdimensi lebih tinggi tanpa secara eksplisit memetakan data ke sana.
Jadi, Anda tidak benar-benar mentransformasi titik data lalu melakukan perhitungan padanya. Anda menghitung seperti apa hasil perhitungan itu seandainya dilakukan, dengan menggunakan fungsi kernel yang bekerja langsung pada input asli.
Perlu diingat bahwa kernel trick hanya berlaku untuk model yang mengandalkan hasil kali titik (dot product) antar titik data. Ini bukan teknik ML serbaguna. Jika suatu model tidak menggunakan dot product secara internal, kernel trick tidak berlaku. Kebanyakan model tidak menggunakannya.
SVM, gaussian processes, dan kernel PCA adalah beberapa contoh bagus di mana kernel trick akan bekerja. Namun jangan biarkan siapa pun berkata ini adalah sesuatu yang “dipakai oleh sebagian besar model ML.”
Mengapa Kernel Trick Ada
Model linear hanya bisa mempelajari batas keputusan linear. Itulah batas kerasnya, dan itulah yang membuatnya mudah dipahami dan diinterpretasikan.
Namun sebagian besar dataset dunia nyata tidak dapat dipisahkan secara linear. Tidak ada garis lurus (atau hiperbidang) yang dapat membagi kelas-kelas dengan bersih. Tetapi dengan kernel trick, jika Anda memproyeksikan data itu ke ruang berdimensi lebih tinggi, data yang sama bisa menjadi terpisahkan.
Cara yang jelas adalah mentransformasi data secara eksplisit dengan membuat fitur baru, memetakan tiap titik ke ruang berdimensi lebih tinggi, lalu melatih model dari sana. Ini bekerja, tetapi biayanya meningkat. Jika Anda memetakan ke ruang dengan ribuan dimensi, penyimpanan dan komputasi pada vektor yang ditransformasi menjadi mahal.
Dengan kernel trick, alih-alih menghitung transformasi penuh φ(x) untuk setiap titik data, Anda menghitung K(x, x′)—sebuah fungsi kernel yang memberi hasil inner product yang sama secara langsung.
Kernel Trick pada Support Vector Machine
SVM mencari batas keputusan yang memaksimalkan margin antara dua kelas.
Untuk menemukan batas tersebut, SVM menyelesaikan masalah optimisasi. Dan dalam bentuk duanya, optimisasi hanya bergantung pada dot product antar titik data, bukan pada titik datanya sendiri. Fungsi objektif dual terlihat seperti ini:

Fungsi objektif dual
Di mana α_i adalah bobot yang dipelajari, y_i adalah label kelas, dan ⟨x_i, x_j⟩ adalah dot product antara dua titik data. SVM hanya membutuhkan kemiripan berpasangan antar titik data.
Jika SVM hanya membutuhkan dot product, Anda tidak harus memberinya dot product yang dihitung dari ruang asli. Anda menukar ⟨x_i, x_j⟩ dengan fungsi kernel K(x_i, x_j):

Rumus dengan fungsi kernel
SVM berjalan persis dengan cara yang sama. Ia hanya “merasa” beroperasi di ruang fitur yang lebih kaya.
Dan itulah inti dari kernel trick.
Cara Kerja Kernel Trick (Gambaran Konseptual)
Pendekatan standar adalah mendefinisikan pemetaan φ(x) yang mentransformasi setiap titik data ke ruang berdimensi lebih tinggi, lalu menghitung dot product di sana:

Pemetaan
Namun menghitung φ(x) secara eksplisit bisa mahal, dan dalam beberapa kasus ruang hasil pemetaan memiliki ribuan atau bahkan dimensi tak terhingga.
Kernel trick melewati langkah itu.
Alih-alih menghitung φ(x) lalu mengambil dot product, Anda langsung menghitung K(x, x′)—fungsi kernel yang memenuhi:

Perhitungan fungsi kernel
Hasilnya identik, tetapi biayanya lebih rendah.
Anggap K(x, x′) sebagai fungsi kemiripan. Fungsi ini mengambil dua titik data di ruang asli dan mengembalikan angka yang mencerminkan seberapa mirip keduanya—namun dengan cara yang setara dengan membandingkannya di ruang yang jauh lebih kaya. Model berperilaku seakan-akan data telah ditransformasi. Padahal tidak pernah.
Fungsi Kernel yang Umum
Tidak semua fungsi kernel bekerja dengan cara yang sama. Masing-masing mendefinisikan pengertian kemiripan yang berbeda antar titik data, yang berarti masing-masing menghasilkan jenis batas keputusan yang berbeda. Berikut beberapa contohnya.
Kernel linear

Kernel linear
Kernel linear hanyalah dot product standar. Model tetap berada di ruang fitur asli dan mempelajari batas linear, sehingga setara dengan SVM linear standar.
Gunakan kernel ini saat data Anda sudah dapat dipisahkan secara linear. Ini adalah opsi tercepat dan paling mudah diinterpretasikan.
Kernel polinomial

Kernel polinomial
Dengan c sebagai konstanta dan d sebagai derajat polinom.
Kernel polinomial menangkap interaksi antar fitur. Kernel derajat-2, misalnya, mempertimbangkan semua kombinasi fitur berpasangan. Ini memungkinkan model mempelajari batas melengkung tanpa Anda perlu membuat term interaksi tersebut secara manual.
Derajat yang lebih tinggi berarti batas yang lebih ekspresif, namun juga risiko overfitting yang lebih besar.
Kernel RBF (Gaussian)

Kernel RBF
Kernel RBF (Radial Basis Function) adalah kernel yang paling banyak digunakan dalam praktik. Ia mengukur kemiripan berdasarkan jarak. Dua titik yang berdekatan mendapat skor tinggi, dua titik yang berjauhan mendapat skor mendekati nol.
Yang membuatnya menarik adalah pemetaan implisit data ke ruang berdimensi tak terhingga. Ini memberinya fleksibilitas yang cukup untuk memahami batas yang kompleks dan nonlinier yang tidak dapat ditangani kernel lain.
Kernel sigmoid

Kernel sigmoid
Kernel sigmoid lebih jarang digunakan dibanding kernel RBF atau polinomial, dan tidak selalu memenuhi ketentuan matematis untuk menjadi fungsi kernel yang valid tergantung pilihan parameternya.
Sesekali muncul di literatur lama, tetapi dalam praktik, RBF hampir selalu menjadi titik awal yang lebih baik.
Kernel Trick di Luar SVM
SVM adalah algoritma paling umum untuk kernel trick, tetapi bukan satu-satunya.
Beberapa model lain menggunakan gagasan yang sama:
- Kernel ridge regression menerapkan ridge regression di ruang berdimensi lebih tinggi menggunakan fungsi kernel alih-alih fitur eksplisit
- Gaussian processes menggunakan fungsi kernel untuk mendefinisikan kovarians antar titik data. Kernel mengenkode asumsi tentang kelicinan dan bentuk fungsi yang ingin Anda pelajari
- Kernel PCA memperluas PCA standar ke struktur nonlinier dengan mencari komponen utama di ruang fitur yang ditransformasi
Pada semuanya, model hanya membutuhkan dot product, sehingga Anda dapat menggantinya dengan fungsi kernel dan mendapatkan perilaku nonlinier tanpa mengubah matematika lainnya.
Namun SVM tetap contoh yang paling jelas, dan tempat terbaik untuk membangun intuisi Anda.
Kernel Trick vs. Rekayasa Fitur
Keduanya menyelesaikan masalah fitur Anda yang kurang ekspresif. Namun caranya berbeda.
Dengan rekayasa fitur, Anda secara eksplisit membuat fitur baru dari yang sudah ada. Anda memutuskan kombinasi mana yang penting, menghitungnya, menambahkannya ke dataset, lalu melatih pada set fitur yang diperluas. Anda melihat dengan jelas apa yang masuk ke dalam model.
Kernel trick beroperasi secara implisit di ruang berdimensi lebih tinggi tanpa Anda pernah mendefinisikan atau menyimpan fitur tambahan tersebut. Transformasinya dijelaskan oleh fungsi kernel.
Pertukarannya bermuara pada interpretabilitas versus fleksibilitas.
Rekayasa fitur menjaga semuanya transparan, karena Anda tahu apa arti setiap fitur. Kernel trick memberi kemampuan yang lebih ekspresif, tetapi ruang fitur implisitnya sering sulit diperiksa atau dijelaskan.
Jika interpretabilitas penting untuk kasus penggunaan Anda, rekayasa fitur adalah pilihan yang lebih aman. Jika Anda perlu memahami pola kompleks dan tidak perlu menjelaskan setiap keputusan model, kernel trick akan membawa Anda ke sana lebih cepat.
Keunggulan Kernel Trick
Yang paling jelas adalah teknik ini memungkinkan model linear mempelajari batas nonlinier. Tanpanya, SVM hanya bisa memisahkan kelas dengan hiperbidang lurus. Dengannya, model yang sama dapat menangani batas keputusan yang melengkung dan kompleks.
Teknik ini juga menghindari biaya komputasi eksplisit berdimensi tinggi. Anda mendapat daya ekspresif ruang fitur yang lebih kaya tanpa menyimpan atau menghitung dimensi ekstra tersebut. Untuk masalah di mana ruang fitur implisit memiliki ribuan atau dimensi tak terhingga, inilah yang membuat pendekatan ini mungkin dilakukan.
Metode kernel juga cenderung bekerja baik pada dataset berukuran sedang. Saat Anda tidak memiliki jutaan contoh tetapi data Anda tidak dapat dipisahkan secara linear, SVM dengan kernel yang baik sering menjadi pilihan yang solid dan andal.
Keterbatasan Kernel Trick
Masalah terbesar adalah skala. Melatih kernel SVM membutuhkan perhitungan K(x_i, x_j) untuk setiap pasangan titik data. Itu adalah operasi O(n²)—dan menjadi lebih buruk jika memasukkan faktor memori. Pada dataset besar, ini bisa menjadi hambatan keras.
Pemilihan kernel juga tidak sepele. RBF adalah default yang baik, tetapi tidak selalu yang tepat. Memilih kernel yang salah—atau hiperparameter yang salah untuk sebuah kernel—dapat menghasilkan kinerja yang lebih buruk daripada saat Anda mulai.
Interpretabilitas juga menjadi isu. Dengan rekayasa fitur, Anda tahu arti tiap fitur. Dengan kernel trick, ruang fitur implisitnya tidak jelas. Model bekerja, tetapi menjelaskan mengapa ia membuat keputusan tertentu itu sulit.
Dan di banyak domain, deep learning memang telah mengambil alih. Jaringan saraf menangani dataset besar, mempelajari representasi fiturnya sendiri, dan sering mengungguli metode kernel tanpa memerlukan pemilihan kernel manual. Untuk klasifikasi gambar, NLP, atau tugas apa pun dengan data berlimpah, metode kernel jarang menjadi pilihan utama saat ini.
Kapan Menggunakan Metode Kernel
Metode kernel tidak usang pada 2026, tetapi menjadi lebih terspesialisasi dibanding dahulu.
Anda sebaiknya memilih metode kernel seperti SVM dengan kernel RBF ketika:
- Data Anda memiliki struktur nonlinier yang tidak dapat dipahami model linear
- Dataset Anda berukuran kecil hingga sedang—pikirkan ribuan sampel, bukan jutaan
- Anda tidak perlu menjelaskan prediksi individual, sehingga interpretabilitas yang lebih rendah merupakan pertukaran yang dapat diterima
Metode ini cocok untuk masalah data terstruktur dan tabular ketika Anda memiliki data terbatas dan membutuhkan model yang melakukan generalisasi dengan baik tanpa banyak penyetelan. Dalam kasus tersebut, kernel SVM masih bisa mengungguli model yang lebih kompleks.
Namun jika dataset Anda besar, atau Anda membutuhkan prediksi yang bisa dijelaskan, metode kernel bukanlah solusi terbaik.
Contoh: SVM dengan dan tanpa Kernel
Cara terbaik untuk melihat apa yang sebenarnya dilakukan kernel trick adalah menyaksikan SVM linear gagal, lalu memperbaikinya dengan kernel.
Pada contoh di bawah, Anda memiliki dataset sederhana dengan dua lingkaran konsentris, di mana satu kelas membentuk cincin dalam dan yang lain membentuk cincin luar. Tidak ada garis lurus yang dapat memisahkannya. SVM linear akan selalu gagal
Dengan kernel RBF, SVM yang sama akan menggambar batas melingkar yang memisahkan kelas-kelas. Satu-satunya yang berubah adalah fungsi kernelnya.
Berikut contoh lengkapnya:
import numpy as np
import matplotlib.pyplot as plt
from sklearn.svm import SVC
from sklearn.datasets import make_circles
# Generate concentric circles dataset
np.random.seed(42)
X, y = make_circles(n_samples=300, noise=0.1, factor=0.4)
# Train both SVMs
svm_linear = SVC(kernel="linear", C=1)
svm_rbf = SVC(kernel="rbf", C=1, gamma="scale")
svm_linear.fit(X, y)
svm_rbf.fit(X, y)
print(f"Linear SVM accuracy: {svm_linear.score(X, y):.0%}")
print(f"RBF SVM accuracy: {svm_rbf.score(X, y):.0%}")

Akurasi SVM Linear vs RBF
SVM linear menggambar batas lurus di tengah-tengah data. Ia membagi bidang menjadi dua bagian, yang sama sekali tidak sesuai dengan struktur masalah sebenarnya. Sebaliknya, kernel RBF menghasilkan batas melingkar yang mengikuti bentuk data.

Visualisasi SVM Linear vs RBF
Sebagai penutup, model tidak mempelajari struktur yang lebih kompleks—model hanya beroperasi di ruang di mana struktur tersebut lebih mudah ditemukan.
Kesalahpahaman Umum tentang Kernel Trick
Ada beberapa kesalahpahaman tentang kernel trick yang cukup sering muncul, jadi izinkan saya membahasnya di sini.
"Kernel trick bekerja untuk semua model." Tidak. Kernel trick hanya berlaku untuk model yang mengandalkan dot product antar titik data dalam optimisasinya. Sebagian besar model—decision tree, random forest, neural network, regresi linear—tidak menggunakan dot product dengan cara tersebut, sehingga kernel trick tidak berlaku bagi mereka.
"Ia benar-benar mentransformasi data." Tidak secara eksplisit. Titik data asli Anda tetap persis seperti adanya. Fungsi kernel menghitung seperti apa dot product seandainya berada di ruang berdimensi lebih tinggi, tetapi tidak ada transformasi yang benar-benar terjadi dalam praktik. Data tidak pernah diperluas atau disimpan secara berbeda.
"Ini selalu meningkatkan kinerja." Tergantung. Pada masalah nonlinier dengan dataset kecil hingga sedang, kernel yang baik dapat membuat perbedaan. Pada dataset besar, biaya komputasi sering melebihi manfaatnya. Dan jika data Anda sudah dapat dipisahkan secara linear, menambahkan kernel hanya menambah kompleksitas.
Mengapa Kernel Trick Masih Penting
Kernel trick bukanlah gagasan yang paling sering dibicarakan di ML saat ini. Deep learning berada di puncak untuk sebagian besar tolok ukur, dan metode kernel jarang muncul di mana pun.
Namun ini tetap merupakan konsep fundamental yang layak dipahami.
SVM dan kernel trick menjadi pusat ML klasik karena bekerja baik pada data terstruktur dan tabular dengan sampel terbatas, dan matematikanya bersih serta mudah dipahami. Jika Anda ingin memahami bagaimana pembelajaran berbasis kemiripan bekerja, atau mengapa dot product penting dalam optimisasi, kernel trick adalah salah satu contoh paling jelas untuk dipelajari.
Teknik ini juga masih punya kegunaan nyata. Dataset kecil, domain khusus seperti bioinformatika atau klasifikasi teks dengan fitur buatan tangan, dan masalah di mana Anda butuh model yang melakukan generalisasi dengan baik tanpa banyak data—ini adalah area di mana metode kernel masih relevan.
Kernel tergeser di domain yang paling mementingkan skala dan volume data mentah. Dalam konteks yang tepat, ini tetap alat yang baik.
Kesimpulan
Kernel trick menyelesaikan masalah spesifik: bagaimana mendapatkan perilaku nonlinier dari model yang hanya tahu bekerja dengan dot product. Jawabannya adalah mengganti dot product tersebut dengan fungsi kernel yang menghitung hasil yang sama di ruang fitur yang lebih kaya—tanpa benar-benar pergi ke sana.
Ini paling berguna dipahami dalam konteks SVM, di mana formulasi dual membuat substitusi menjadi bersih dan eksplisit. Setelah Anda nyaman dengan itu, keluarga metode kernel yang lebih luas akan jauh lebih masuk akal.
Deep learning mendapat sebagian besar perhatian saat ini, dan untuk masalah skala besar, itu wajar. Namun kernel trick mewakili cara berpikir yang berbeda—berbasis geometri dan kemiripan. Ini layak dipahami, tetapi kecuali Anda bekerja di bidang khusus, Anda jarang menggunakannya dalam praktik.
Namun mengapa tepatnya deep learning mengambil alih? Daftar di jalur Deep Learning in Python kami untuk melihat bagaimana jaringan saraf memungkinkan Anda membangun model kompleks dalam skala besar.
FAQs
Apa itu kernel trick dengan bahasa sederhana?
Kernel trick adalah jalan pintas komputasi yang memungkinkan model tertentu—seperti SVM—mempelajari pola nonlinier tanpa secara eksplisit mentransformasi data ke ruang berdimensi lebih tinggi. Alih-alih menghitung transformasi itu secara langsung, fungsi kernel menghitung seperti apa dot product antara dua titik data di ruang tersebut. Anda mendapatkan daya ekspresif dari ruang fitur yang lebih kaya tanpa biaya komputasi untuk benar-benar pergi ke sana.
Model machine learning mana yang menggunakan kernel trick?
Kernel trick hanya berlaku untuk model yang mengandalkan dot product dalam proses optimisasinya. SVM adalah contoh paling umum, tetapi kernel ridge regression, Gaussian processes, dan kernel PCA juga menggunakannya. Sebagian besar model modern tidak menggunakan dot product dengan cara ini, sehingga kernel trick tidak berlaku bagi mereka.
Apakah kernel trick masih relevan pada 2026?
Untuk masalah skala besar, deep learning sebagian besar telah mengambil alih. Namun metode kernel masih tangguh pada dataset kecil hingga sedang, data tabular terstruktur, dan domain khusus seperti bioinformatika atau klasifikasi teks dengan fitur buatan tangan. Memahami kernel trick juga memberi Anda model mental yang lebih jernih tentang pembelajaran berbasis kemiripan, yang berguna jauh melampaui SVM.
Apa perbedaan kernel RBF dan kernel linear?
Kernel linear menghitung dot product standar dan menghasilkan batas keputusan linear—setara dengan melatih SVM tanpa kernel sama sekali. Kernel RBF (Radial Basis Function) mengukur kemiripan berdasarkan jarak antar titik, memetakan data secara implisit ke ruang berdimensi tak terhingga. Ini membuat RBF jauh lebih cocok untuk masalah nonlinier, itulah sebabnya ia menjadi pilihan default saat Anda belum yakin kernel mana yang akan digunakan.
Mengapa kernel trick tidak skala dengan baik pada dataset besar?
Melatih kernel SVM membutuhkan perhitungan K(x_i, x_j) untuk setiap pasangan titik data dalam himpunan latih. Itu adalah operasi O(n²). Kebutuhan memori meningkat dengan cara yang sama, karena Anda perlu menyimpan matriks kernel penuh. Inilah alasan metode kernel jarang digunakan pada dataset dengan ratusan ribu sampel atau lebih.

