Apa itu kernel dan apa yang membedakannya dari fungsi lain


13

Tampaknya ada banyak algoritma pembelajaran mesin yang mengandalkan fungsi kernel. SVM dan NN untuk menyebutkan dua. Jadi apa definisi dari fungsi kernel dan apa saja persyaratan agar valid?


5
Saya tidak akan mengatakan bahwa NN mengandalkan fungsi kernel - mereka bergantung pada fungsi transfer untuk mencapai nonlinier, tetapi ini bukan hal yang sama dengan fungsi kernel
tdc

Jawaban:


11

Untuk x, y pada S, fungsi-fungsi tertentu K (x, y) dapat dinyatakan sebagai produk dalam (biasanya dalam ruang yang berbeda). K sering disebut sebagai fungsi kernel atau kernel. Kata kernel digunakan dalam berbagai cara di seluruh matematika, tetapi ini adalah penggunaan paling umum dalam pembelajaran mesin.

Trik kernel adalah cara memetakan pengamatan dari himpunan umum S ke dalam ruang produk dalam V (dilengkapi dengan norma alaminya), tanpa harus menghitung pemetaan secara eksplisit, dengan harapan bahwa pengamatan akan mendapatkan struktur linear yang bermakna dalam V Ini penting dalam hal efisiensi (menghitung produk titik dalam ruang dimensi yang sangat tinggi, sangat cepat) dan kepraktisan (kita dapat mengonversi algoritma ML linier ke algoritme ML non-linear).

Agar suatu fungsi K dianggap sebagai kernel yang valid, ia harus memenuhi persyaratan Mercer . Ini dalam istilah praktis berarti bahwa kita perlu memastikan matriks kernel (menghitung produk kernel dari setiap titik data yang Anda miliki) akan selalu positif setengah-pasti. Ini akan memastikan bahwa fungsi tujuan pelatihan cembung, properti yang sangat penting.


Terima kasih @carlosdc, tapi saya khawatir Anda mencoba mengajari anjing tua ini, trik baru. Banyak yang terlintas di kepalaku. Saya membaca kondisi Mercer, tetapi artinya di dunia nyata hilang bagi saya. Saya berasumsi dari atas bahwa integral dari kernel harus dibatasi pada nilai yang terbatas. Apakah anggapan itu benar?

1
Bagian yang tujuannya adalah cembung jika matriks kernel adalah PSD tergantung pada tujuannya. Ini berlaku untuk SVM, tetapi dengan proses Gaussian intinya adalah bahwa matriks Kernel adalah matriks kovarians yang valid dan karenanya tidak dapat dibalik.
bayerj

2

Dari Williams, Christopher KI, dan Carl Edward Rasmussen. " Proses Gaussian untuk pembelajaran mesin. " MIT Press 2, no. 3 (2006). Halaman 80 .

xXxXR

Juga, kernel = fungsi kernel.

Kernel yang digunakan dalam algoritma pembelajaran mesin biasanya memuaskan lebih banyak properti, seperti semidefinite positif.


2

Akan mencoba penjelasan yang kurang teknis.

Pertama, mulailah dengan produk titik antara dua vektor. Ini memberi tahu Anda seberapa "mirip" vektor-vektor itu. Jika vektor mewakili titik dalam kumpulan data Anda, produk titik memberi tahu Anda apakah mereka mirip atau tidak.

Tetapi, dalam beberapa (banyak) kasus, produk titik bukanlah metrik kesamaan yang terbaik. Sebagai contoh:

  • Mungkin poin yang memiliki produk titik rendah serupa untuk beberapa alasan lain.
  • Anda mungkin memiliki item data yang tidak direpresentasikan dengan baik sebagai poin.

Jadi, alih-alih menggunakan produk titik, Anda menggunakan "kernel" yang hanya fungsi yang mengambil dua poin dan memberi Anda ukuran kesamaan mereka. Saya tidak 100% yakin tentang kondisi teknis apa yang harus dipenuhi suatu fungsi untuk secara teknis menjadi kernel, tetapi ini adalah idenya.

Satu hal yang sangat baik adalah bahwa kernel dapat membantu Anda memasukkan pengetahuan domain Anda ke masalah dalam arti bahwa Anda dapat mengatakan dua poin adalah sama karena alasan xyz yang muncul karena Anda mengetahui tentang domain.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.