Función del núcleo de aprendizaje automático
En el aprendizaje automático , la función de base radial kernel , o kernel RBF , es una función de kernel popular que se utiliza en varios algoritmos de aprendizaje kernelizados . En particular, se usa comúnmente en la clasificación de máquinas de vectores de soporte . [1]
El núcleo RBF en dos muestras y , representado como vectores de características en algún espacio de entrada , se define como [2]![{\displaystyle \mathbf {x} \in \mathbb {R} ^{k}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \mathbf {x'} }](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle K(\mathbf {x} ,\mathbf {x'} )=\exp \left(-{\frac {\|\mathbf {x} -\mathbf {x'} \|^{2}} {2\sigma ^{2}}}\derecha)}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
puede reconocerse como la distancia euclidiana al cuadrado entre los dos vectores de características. es un parámetro libre. Una definición equivalente implica un parámetro :![{\displaystyle \sigma}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \textstyle \gamma ={\tfrac {1}{2\sigma ^{2}}}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle K(\mathbf {x} ,\mathbf {x'} )=\exp(-\gamma \|\mathbf {x} -\mathbf {x'} \|^{2})}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Dado que el valor del núcleo RBF disminuye con la distancia y oscila entre cero (en el límite de distancia infinita) y uno (cuando x = x' ), tiene una interpretación fácil como una medida de similitud . [2]
El espacio de características del kernel tiene un número infinito de dimensiones; para , su expansión usando el teorema multinomial es: [3]![{\displaystyle \sigma =1}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle {\begin{alignedat}{2}\exp \left(-{\frac {1}{2}}\|\mathbf {x} -\mathbf {x'} \|^{2}\right )&=\exp({\frac {2}{2}}\mathbf {x} ^{\top }\mathbf {x'} -{\frac {1}{2}}\|\mathbf {x} \|^{2}-{\frac {1}{2}}\|\mathbf {x'} \|^{2})\\[5pt]&=\exp(\mathbf {x} ^{\ arriba }\mathbf {x'} )\exp(-{\frac {1}{2}}\|\mathbf {x} \|^{2})\exp(-{\frac {1}{2} }\|\mathbf {x'} \|^{2})\\[5pt]&=\sum _{j=0}^{\infty }{\frac {(\mathbf {x} ^{\top }\mathbf {x'} )^{j}}{j!}}\exp \left(-{\frac {1}{2}}\|\mathbf {x} \|^{2}\right) \exp \left(-{\frac {1}{2}}\|\mathbf {x'} \|^{2}\right)\\[5pt]&=\sum _{j=0}^{ \infty }\quad \sum _{n_{1}+n_{2}+\dots +n_{k}=j}\exp \left(-{\frac {1}{2}}\|\mathbf { x} \|^{2}\right){\frac {x_{1}^{n_{1}}\cdots x_{k}^{n_{k}}}{\sqrt {n_{1}!\ cdots n_{k}!}}}\exp \left(-{\frac {1}{2}}\|\mathbf {x'} \|^{2}\right){\frac {{x'} _{1}^{n_{1}}\cdots {x'}_{k}^{n_{k}}}{\sqrt {n_{1}!\cdots n_{k}!}}}\\ [5pt]&=\langle \varphi (\mathbf {x} ),\varphi (\mathbf {x'} )\rangle \end{alignedat}}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \varphi (\mathbf {x} )=\exp \left(-{\frac {1}{2}}\|\mathbf {x} \|^{2}\right)\left(a_{ \ell _{0}}^{(0)},a_{1}^{(1)},\dots ,a_{\ell _{1}}^{(1)},\dots ,a_{1 }^{(j)},\dots ,a_{\ell _{j}}^{(j)},\dots \right)}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
dónde ,![{\displaystyle \ell _{j}={\tbinom {k+j-1}{j}}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle a_{\ell }^{(j)}={\frac {x_{1}^{n_{1}}\cdots x_{k}^{n_{k}}}{\sqrt {n_{ 1}!\cdots n_{k}!}}}\quad |\quad n_{1}+n_{2}+\dots +n_{k}=j\wedge 1\leq \ell \leq \ell _{ j}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Aproximaciones
Debido a que las máquinas de vectores de soporte y otros modelos que emplean el truco del kernel no escalan bien a grandes cantidades de muestras de entrenamiento o grandes cantidades de características en el espacio de entrada, se han introducido varias aproximaciones al kernel RBF (y kernels similares). [4]
Normalmente, toman la forma de una función z que asigna un único vector a un vector de mayor dimensionalidad, aproximando el núcleo:
![{\displaystyle \langle z(\mathbf {x} ),z(\mathbf {x'} )\rangle \approx \langle \varphi (\mathbf {x} ),\varphi (\mathbf {x'} )\ rango =K(\mathbf {x} ,\mathbf {x'} )}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
¿Dónde está el mapeo implícito incrustado en el kernel RBF?![{\displaystyle \textstyle \varphi}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Características aleatorias de Fourier
Una forma de construir dicha z es tomar una muestra aleatoria de la transformada de Fourier del núcleo [5]
![{\displaystyle \varphi (x)={\frac {1}{\sqrt {D}}}[\cos \langle w_{1},x\rangle ,\sin \langle w_{1},x\rangle , \ldots ,\cos \langle w_{D},x\rangle ,\sin \langle w_{D},x\rangle ]^{T}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle w_{1},...,w_{D}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle N(0,\sigma ^{-2}I)}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Teorema: ![{\displaystyle \operatorname {E} [\langle \varphi (x),\varphi (y)\rangle ]=e^{\|xy\|^{2}/(2\sigma ^{2})}. }](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Prueba: Basta probar el caso de . Utilice la identidad trigonométrica , la simetría esférica de distribución gaussiana, luego evalúe la integral![{\displaystyle D=1}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \cos(ab)=\cos(a)\cos(b)+\sin(a)\sin(b)}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \int _{-\infty }^{\infty }{\frac {\cos(kx)e^{-x^{2}/2}}{\sqrt {2\pi }}}dx= e^{-k^{2}/2}.}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Teorema: . (Apéndice A.2 [6] ).![{\displaystyle \operatorname {Var} [\langle \varphi (x),\varphi (y)\rangle ]=O(D^{-1})}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Método de Nyström
Otro enfoque utiliza el método de Nyström para aproximar la descomposición propia de la matriz de Gram K , utilizando sólo una muestra aleatoria del conjunto de entrenamiento. [7]
Ver también
Referencias
- ^ Chang, Yin-Wen; Hsieh, Cho-Jui; Chang, Kai-Wei; Ringgaard, Michael; Lin, Chih-Jen (2010). "Entrenamiento y prueba de asignaciones de datos polinomiales de bajo grado mediante SVM lineal". Revista de investigación sobre aprendizaje automático . 11 : 1471-1490.
- ^ ab Jean-Philippe Vert, Koji Tsuda y Bernhard Schölkopf (2004). "Una introducción a los métodos del kernel". Métodos del kernel en biología computacional .
- ^ Shashua, Amnón (2009). "Introducción al aprendizaje automático: notas de clase 67577". arXiv : 0904.3664v1 [cs.LG].
- ^ Andreas Muller (2012). Aproximaciones del kernel para SVM eficientes (y otros métodos de extracción de características).
- ^ Rahimi, Ali; Recht, Benjamín (2007). "Funciones aleatorias para máquinas Kernel a gran escala". Avances en los sistemas de procesamiento de información neuronal . 20 . Curran asociados, Inc.
- ^ Peng, Hao; Pappas, Nikolaos; Yogatama, Dani; Schwartz, Roy; Smith, Noé A.; Kong, Lingpeng (19 de marzo de 2021). "Atención a funciones aleatorias". arXiv : 2103.02143 [cs.CL].
- ^ CKI Williams; M. Seeger (2001). "Uso del método Nyström para acelerar las máquinas kernel". Avances en los sistemas de procesamiento de información neuronal . 13 .