Articulo de referencia

Núcleo de cadena

En el aprendizaje automático y la minería de datos , un kernel de cadena es una función kernel que opera sobre cadenas , es decir, secuencias finitas de símbolos que no necesari...

En el aprendizaje automático y la minería de datos , un kernel de cadena es una función kernel que opera sobre cadenas , es decir, secuencias finitas de símbolos que no necesariamente tienen la misma longitud. Los kernels de cadena pueden entenderse intuitivamente como funciones que miden la similitud entre pares de cadenas: cuanto más similares sean dos cadenas a y b , mayor será el valor del kernel de cadena K ( a , b ).

El uso de núcleos de cadena con algoritmos de aprendizaje basados ​​en núcleos , como las máquinas de vectores de soporte, permite que dichos algoritmos trabajen con cadenas sin tener que convertirlas en vectores de características de longitud fija y valores reales . [ 1 ] Los núcleos de cadena se utilizan en dominios donde se agrupan o clasifican datos de secuencia , por ejemplo, en minería de texto y análisis genético . [ 2 ]

Introducción informal

Supongamos que se desea comparar automáticamente algunos fragmentos de texto e indicar su similitud relativa. Para muchas aplicaciones, podría ser suficiente encontrar algunas palabras clave que coincidan exactamente. Un ejemplo donde la coincidencia exacta no siempre es suficiente se encuentra en la detección de spam . [ 3 ] Otro ejemplo sería en el análisis genético computacional, donde los genes homólogos han mutado , lo que da como resultado subsecuencias comunes junto con símbolos eliminados, insertados o reemplazados.

Motivación

Dado que varios métodos probados de agrupamiento de datos, clasificación y recuperación de información (por ejemplo, las máquinas de vectores de soporte) están diseñados para trabajar con vectores (es decir, los datos son elementos de un espacio vectorial), el uso de un núcleo de cadena permite extender estos métodos para manejar datos secuenciales.

El método del kernel de cadena contrasta con los enfoques anteriores para la clasificación de texto, donde los vectores de características solo indicaban la presencia o ausencia de una palabra. No solo mejora estos enfoques, sino que es un ejemplo de toda una clase de kernels adaptados a estructuras de datos, que comenzaron a aparecer a principios del siglo XXI. Gärtner ha recopilado una revisión de dichos métodos. [ 4 ]

En bioinformática, los kernels de cadena se utilizan especialmente para transformar secuencias biológicas, como proteínas o ADN, en vectores para su posterior uso en modelos de aprendizaje automático. Un ejemplo de kernel de cadena utilizado para este propósito es el kernel de perfil. [ 5 ]

Definición

Un núcleo en un dominioD{\displaystyle D}es una funciónK:D×DR{\displaystyle K:D\times D\rightarrow \mathbb {R} } que cumplan ciertas condiciones (ser simétricas en los argumentos, continuas y semidefinidas positivas en cierto sentido).

El teorema de Mercer afirma queK{\displaystyle K}entonces se puede expresar comoK(incógnita,y)=φ(incógnita)φ(y){\displaystyle K(x,y)=\varphi (x)\cdot \varphi (y)}conφ{\displaystyle \varphi }mapear los argumentos en un espacio de producto interno .

Ahora podemos reproducir la definición de un núcleo de subsecuencia de cadena [ 1 ] sobre cadenas sobre un alfabeto.Σ{\displaystyle \Sigma }En términos de coordenadas, el mapeo se define de la siguiente manera:

φ:{ΣnorteRΣnortesi:=siλl(i){\displaystyle \varphi _{u}:\left\{{\begin{array}{l}\Sigma ^{n}\rightarrow \mathbb {R} ^{\Sigma ^{n}}\\s\mapsto \sum _{\mathbf {i} :u=s_{\mathbf {i} }}\lambda ^{l(\mathbf {i} )}\end{array}}\right.}

Eli{\displaystyle \mathbf {i} }son multiíndices y{\displaystyle u}es una cadena de longitudnorte{\displaystyle n}: las subsecuencias pueden aparecer de forma no contigua, pero los huecos se penalizan. El índice múltiplei{\displaystyle \mathbf {i} }da las posiciones de los caracteres coincidentes{\displaystyle u}ens{\displaystyle s}.l(i){\displaystyle l(\mathbf {i} )}es la diferencia entre la primera y la última entrada eni{\displaystyle \mathbf {i} }, es decir: qué tan separados ens{\displaystyle s}la coincidencia de subsecuencia{\displaystyle u}es. El parámetroλ{\displaystyle \lambda }puede establecerse en cualquier valor entre0{\displaystyle 0}(no se permiten espacios, ya que solo00{\displaystyle 0^{0}}no lo es0{\displaystyle 0}pero1{\displaystyle 1}) y1{\displaystyle 1} (incluso las "ocurrencias" muy extendidas tienen el mismo peso que las apariciones como una subcadena contigua, como1l(i)=1{\displaystyle 1^{l(\mathbf {i} )}=1}).

Para varios algoritmos relevantes, los datos ingresan al algoritmo solo en expresiones que involucran un producto interno de vectores de características, de ahí el nombre de métodos de kernel . Una consecuencia deseable de esto es que no es necesario calcular explícitamente la transformación.ϕ(incógnita){\displaystyle \phi (x)}, solo el producto interno a través del núcleo, que puede ser mucho más rápido, especialmente cuando se aproxima . [ 1 ]

Referencias

  1. 1 2 3 Lodhi, Huma; Saunders, Craig; Shawe-Taylor, John; Cristianini, Nello; Watkins, Chris (2002). "Clasificación de texto mediante núcleos de cadena". Journal of Machine Learning Research : 419–444 .
  2. Leslie, C. ; Eskin, E. ; Noble, WS (2002), "The spectrum kernel: A string kernel for SVM protein classification", Proceedings of the Pacific Symposium on Biocomputing , vol. 7, pp. 566– 575, PMID 11928508   
  3. Amayri, O. (2009), "Mejora del filtrado de spam mediante máquinas de vectores de soporte en línea utilizando núcleos de cadena", Progress in Pattern Recognition, Image Analysis, Computer Vision, and Applications , Lecture Notes in Computer Science, vol. 5856, p. 621, Bibcode : 2009LNCS.5856..621A , doi : 10.1007/978-3-642-10268-4_73 , ISBN   978-3-642-10267-7
  4. Gärtner, T. (2003), "Un estudio de kernels para datos estructurados", ACM SIGKDD Explorations Newsletter , 5 (1), ACM : 58, doi : 10.1145/959242.959248 , S2CID 4471326 
  5. Kuang, Rui; Ie, Eugene; Wang, Ke; Wang, Kai; Siddiqi, Mahira; Freund, Yoav; Leslie, Christina (2005-06-01). "Núcleos de cadena basados ​​en perfiles para la detección de homología remota y la extracción de motivos". Journal of Bioinformatics and Computational Biology . 3 (3): 527– 550. doi : 10.1142/s021972000500120x . ISSN 0219-7200 . PMID 16108083 . S2CID 14032548 .