Apa intuisi di balik fakta bahwa SVM dengan Kernel Gaussian memiliki ruang fitur dimensi tak terbatas?
Apa intuisi di balik fakta bahwa SVM dengan Kernel Gaussian memiliki ruang fitur dimensi tak terbatas?
Jawaban:
Jawaban ini menjelaskan hal berikut:
Pemisahan sempurna selalu dimungkinkan dengan kernel Gaussian (asalkan tidak ada dua poin dari kelas yang berbeda yang persis sama) karena sifat lokalitas kernel, yang mengarah pada batas keputusan yang fleksibel dan sewenang-wenang. Untuk bandwidth kernel yang cukup kecil, batas keputusan akan terlihat seperti Anda hanya menggambar lingkaran kecil di sekitar titik kapan pun mereka diperlukan untuk memisahkan contoh positif dan negatif:
(Kredit: kursus pembelajaran mesin online Andrew Ng ).
Jadi, mengapa ini terjadi dari perspektif matematika?
Pertimbangkan pengaturan standar: Anda memiliki kernel Gaussian dan data pelatihan ( x ( 1 ) , y ( 1 ) ) , ( x ( 2 ) , y ( 2 ) ) , … , ( x ( n ) , dimana y ( i ) nilai-nilai ± 1 . Kami ingin mempelajari fungsi classifier
Sekarang bagaimana kita pernah menetapkan bobot ? Apakah kita memerlukan ruang dimensi tak terbatas dan algoritma pemrograman kuadratik? Tidak, karena saya hanya ingin menunjukkan bahwa saya dapat memisahkan poin dengan sempurna. Jadi saya membuat σ satu miliar kali lebih kecil dari pemisahan terkecil |, | x ( i ) - x ( j ) | | antara dua contoh pelatihan, dan saya baru saja menetapkan w i . Ini berarti bahwa semua poin pelatihan adalah miliar sigmas terpisah sejauh kernel yang bersangkutan, dan setiap titik benar-benar mengontrol tanda ydi lingkungannya. Secara resmi, kami punya
di mana adalah nilai kecil yang sewenang-wenang. Kita tahu ϵ kecil karena x ( k ) berjarak satu miliar sigma dari titik lain, jadi untuk semua i ≠ k kita punya
Karena sangat kecil, y ( x ( k ) ) pasti memiliki tanda yang sama seperti , dan classifier mencapai akurasi yang sempurna pada data pelatihan.
Fakta bahwa ini dapat ditafsirkan sebagai "pemisahan linear sempurna dalam ruang fitur dimensi tak terbatas" berasal dari trik kernel, yang memungkinkan Anda untuk menafsirkan kernel sebagai produk dalam di dalam ruang fitur (berpotensi dimensi tak terbatas):
di mana adalah pemetaan dari ruang data ke dalam ruang fitur. Ini mengikuti segera bahwa y ( x ) fungsi sebagai fungsi linear dalam ruang fitur:
di mana fungsi linear didefinisikan pada vektor ruang fitur v sebagai
Fungsi ini linier dalam karena itu hanya kombinasi linier produk dalam dengan vektor tetap. Dalam ruang fitur, keputusan batas y ( x ) = 0 hanya L ( , tingkat set fungsi linear. Ini adalah definisi hyperplane di ruang fitur.
Catatan: Di bagian ini, notasi merujuk pada set poin yang sewenang-wenang dan bukan data pelatihan. Ini adalah matematika murni; data pelatihan tidak masuk ke bagian ini sama sekali!
Metode kernel tidak pernah benar-benar "menemukan" atau "menghitung" ruang fitur atau pemetaan secara eksplisit. Metode pembelajaran kernel seperti SVM tidak membutuhkannya untuk bekerja; mereka hanya perlu fungsi kernel K .
Yang mengatakan, adalah mungkin untuk menuliskan formula untuk . Ruang fitur yang dipetakan adalah jenis abstrak (dan berpotensi dimensi tak terbatas), tetapi pada dasarnya, pemetaan hanya menggunakan kernel untuk melakukan beberapa rekayasa fitur sederhana. Dalam hal hasil akhir, model yang Anda akhirnya pelajari, menggunakan kernel tidak berbeda dari rekayasa fitur tradisional yang populer diterapkan dalam regresi linier dan pemodelan GLM, seperti mengambil log variabel prediktor positif sebelum memasukkannya ke dalam formula regresi. Matematika sebagian besar ada di sana untuk membantu memastikan kernel bekerja dengan baik dengan algoritma SVM, yang memiliki keunggulan kebanggaan sparsity dan scaling dengan baik untuk dataset besar.
Jika Anda masih tertarik, inilah cara kerjanya. Pada dasarnya kita mengambil identitas kita ingin ditahan, , dan membangun ruang dan produk dalam rupa sehingga memegang dengan definisi. Untuk melakukan ini, kita mendefinisikan sebuah ruang vektor abstrak V di mana masing-masing vektor adalah fungsi dari ruang kehidupan data dalam, X , dengan bilangan real R . Vektor f dalam V adalah fungsi yang dibentuk dari kombinasi linear terbatas dari irisan kernel: f ( x Lebih mudah untuk menulis f lebih kompak karena f = n ∑ i = 1 α i K x ( i ) di mana K x ( y ) = K ( x , y )
Produk dalam pada ruang bukan produk titik biasa, tetapi produk dalam abstrak yang didasarkan pada kernel:
Dengan ruang fitur yang ditentukan dengan cara ini, adalah pemetaan X → V , mengambil setiap titik x ke "kernel slice" pada saat itu:
Anda dapat membuktikan bahwa adalah ruang produk dalam ketika K adalah kernel pasti positif. Lihat makalah ini untuk detailnya. (Kudos to f coppens untuk menunjukkan ini!)
Jawaban ini memberikan penjelasan aljabar linier yang bagus, tetapi inilah perspektif geometris, dengan intuisi dan bukti.
Untuk setiap titik tetap , kita memiliki fungsi sepotong kernel K z ( . Grafik K z hanya benjolan Gaussian berpusat di z. Sekarang, jika ruang fitur hanya dimensi terbatas, itu berarti kita bisa mengambil set benjolan terbatas pada set poin tetap dan membentuk setiap benjolan Gaussian di tempat lain. Tetapi jelas tidak mungkin kita bisa melakukan ini; Anda tidak dapat membuat gundukan baru dari gundukan lama, karena gundukan baru bisa sangat jauh dari yang lama. Jadi, tidak peduli berapa banyak vektor fitur (tonjolan) yang kita miliki, kita selalu dapat menambahkan tonjolan baru, dan dalam ruang fitur ini adalah vektor independen baru. Jadi ruang fitur tidak dapat menjadi dimensi terbatas; itu harus tanpa batas.
Kami menggunakan induksi. Misalkan Anda memiliki seperangkat titik yang sewenang-wenang sedemikian rupa sehingga vektor Φ ( x ( i ) ) bebas linear dalam ruang fitur. Sekarang menemukan titik x ( n + 1 yang berbeda dari ininpoin, sebenarnya miliar sigmas jauh dari mereka semua. Kami mengklaim bahwaΦ( x ( n + 1 ) )secara linear bebas dari vektor fitur pertama Φ ( x ( i ) ) .
Bukti oleh kontradiksi. Misalkan sebaliknya itu
Sekarang ambil produk dalam di kedua sisi dengan sewenang-wenang . Dengan identitas ⟨ Φ ( z ) , Φ ( x ) ⟩ = K ( z , x ) , kita memperoleh
Di sini adalah variabel bebas, jadi persamaan ini adalah identitas yang menyatakan bahwa dua fungsi adalah sama. Secara khusus, dikatakan bahwa Gaussian berpusat di x ( n + 1 ) dapat direpresentasikan sebagai kombinasi linear dari Gaussians pada titik lain x ( i ) . Jelas secara geometris bahwa seseorang tidak dapat membuat benjolan Gaussian berpusat pada satu titik dari kombinasi terbatas dari gundukan Gaussian yang berpusat pada titik-titik lain, terutama ketika semua benjolan Gaussian lainnya berjarak satu miliar sigma jauhnya. Jadi asumsi kami tentang ketergantungan linier telah menyebabkan kontradiksi, seperti yang kami tunjukkan.
The kernel matrix of the Gaussian kernel has always full rank for distinct . This means that each time you add a new example, the rank increases by . The easiest way to see this if you set very small. Then the kernel matrix is almost diagonal.
The fact that the rank always increases by one means that all projections in feature space are linearly independent (not orthogonal, but independent). Therefore, each example adds a new dimension to the span of the projections . Since you can add uncountably infinitely many examples, the feature space must have infinite dimension. Interestingly, all projections of the input space into the feature space lie on a sphere, since . Nevertheless, the geometry of the sphere is flat. You can read more on that in
Burges, C. J. C. (1999). Geometry and Invariance in Kernel Based Methods. In B. Schölkopf, C. J. C. Burges, & A. J. Smola (Eds.), Advances in Kernel Methods Support Vector Learning (pp. 89–116). MIT Press.
For the background and the notations I refer to the answer How to calculate decision boundary from support vectors?.
So the features in the 'original' space are the vectors , the binary outcome and the Lagrange multipliers are .
It is known that the Kernel can be written as ('' represents the inner product.) Where is an (implicit and unknown) transformation to a new feature space.
I will try to give some 'intuitive' explanation of what this looks like, so this answer is no formal proof, it just wants to give some feeling of how I think that this works. Do not hesitate to correct me if I am wrong. The basis for my explanation is section 2.2.1 of this pdf
I have to 'transform' my feature space (so my ) into some 'new' feature space in which the linear separation will be solved.
For each observation , I define functions , so I have a function for each element of my training sample. These functions span a vector space. The vector space spanned by the , note it . ( is the size of the training sample).
I will try to argue that this vector space is the vector space in which linear separation will be possible. By definition of the span, each vector in the vector space can be written as as a linear combination of the , i.e.: , where are real numbers. So, in fact,
Note that are the coordinates of vector in the vector space .
is the size of the training sample and therefore the dimension of the vector space can go up to , depending on whether the are linear independent. As (see supra, we defined in this way), this means that the dimension of depends on the kernel used and can go up to the size of the training sample.
If the kernel is 'complex enough' then the will all be independent and then the dimension of will be , the size of the training sample.
The transformation, that maps my original feature space to is defined as
.
This map maps my original feature space onto a vector space that can have a dimension that goes up to the size of my training sample. So maps each observation in my training sample into a vector space where the vectors are functions. The vector from my training sample is 'mapped' to a vector in , namely the vector with coordinates all equal to zero, except the -th coordinate is 1.
Obviously, this transformation (a) depends on the kernel, (b) depends on the values in the training sample and (c) can, depending on my kernel, have a dimension that goes up to the size of my training sample and (d) the vectors of look like , where are real numbers.
Looking at the function in How to calculate decision boundary from support vectors? it can be seen that . The decision boundary found by the SVM is .
In other words, is a linear combination of the and is a linear separating hyperplane in the -space : it is a particular choice of the namely !
The are known from our observations, the are the Lagrange multipliers that the SVM has found. In other words SVM find, through the use of a kernel and by solving a quadratic programming problem, a linear separation in the -spave.
This is my intuitive understanding of how the 'kernel trick' allows one to 'implicitly' transform the original feature space into a new feature space , with a different dimension. This dimension depends on the kernel you use and for the RBF kernel this dimension can go up to the size of the training sample. As training samples may have any size this could go up to 'infinite'. Obviously, in very high dimensional spaces the risk of overfitting will increase.
So kernels are a technique that allows SVM to transform your feature space , see also What makes the Gaussian kernel so magical for PCA, and also in general?
Unfortunately, fcop's explanation is quite incorrect. First of all he says "It is known that the Kernel can be written as... where ... is an (implicit and unknown) transformation to a new feature space." It's NOT unknown. This is in fact the space the features are mapped to and this is the space that could be infinite dimensional like in the RBF case. All the kernel does is take the inner product of that transformed feature vector with a transformed feature vector of a training example and applies some function to the result. Thus it implicitly represents this higher dimensional feature vector. Think of writing (x+y)^2 instead of x^2+2xy+y^2 for example. Now think what infinite series is represented implicitly by the exponential function... there you have your infinite feature space. This has absolutely nothing to do with the fact that your training set could be infinitely large.
The right way to think about SVMs is that you map your features to a possibly infinite dimensional feature space which happens to be implicitly representable in yet another finite dimensional "Kernel" feature space whose dimension could be as large as the training set size.