Saturday, March 2, 2013

Kernel Introduction

Dalam bidang ilmu computer science, machine learning, kernel adalah suatu alat untuk melakukan perhitungan di dimensi yang lebih tinggi tanpa harus secara langsung melakukan perhitungan di dimensi tersebut. Hal ini akan bermanfaat tanpa harus melakukan proyeksi dari dimensi rendah ke dimensi tinggi. Sebagai contoh kita mempunyai data nonlinear dalam dua dimensi, dalam dimensi yang lebih tinggi kita akan menemui kalau data tersebut adalah linear. Kernel adalah sebagai penjembatan dari dimensi rendah ke dimensi tinggi.

Kernel biasanya direpresentasikan sebagai dot product dalam suatu vector. Misal kita mempunyai dua vektor $a$ dan $b$ dalam euclidean space, yaitu

$a=(a_x,a_y)$
$b=(b_x,b_y)$

Misal dimensi yang lebih tinggi adalah 3 dimensi dengan sumbu

$\Phi(a)=(a_x^2,\sqrt{2}a_xa_y,a_y^2)$
$\Phi(b)=(b_x^2,\sqrt{2}b_xb_y,b_y^2)$

kuadrat dari dot product dari $a$ dan $b$ adalah

\[ (a \cdot b)^2=((a_x,a_y)(b_x,b_y)^T)^2 \\
=(a_x^2,\sqrt{2}a_xa_y,a_y^2) (b_x^2,\sqrt{2}b_xb_y,b_y^2)^T  \\
=\Phi(a) \cdot \Phi(b) \\
=k(x,y) \]

Dengan $k(x,y)$ adalah kernel yang dimaksud. Biasanya dimensi yang lebih tinggi disebut juga sebagai feature space.

Dengan demikian algorithm apapun yang menggunakan skalar product dapat dihitung secara implicit di dimensi lebih tinggi dengan menggunakan kernel.


No comments:

Post a Comment