Un campo aleatorio condicional (Conditional Random Field o CRF en inglés) es un modelo estocástico utilizado habitualmente para etiquetar y segmentar secuencias de datos o extraer información de documentos. En algunos contextos también se les denomina campos aleatorios de Markov (inglés: Markov random Fields,MRF). Conocimientos adicionales recomendadosDada una secuencia de datos O1,...ON este modelo asigna una etiqueta Si para cada elemento Oi. Aunque presenta similitudes con los modelos ocultos de Markov, estos son modelos generativos que modelan connjuntamente la distribución de probabilidad de las etiquetas (o estados) y las observaciones, P(S,O), mientras que los campos aleatorios condicionales modelan la probabilidad de la secuencia correcta de etiquetas condicionada por las observaciones, P(S | O), es decir, son modelos discriminativos.
Se puede representar con un grafo no dirigido en el que cada vértice represente una variable aleatoria cuya distribución de probabilidad debe ser deducida, y cada arista indique una dependencia entre las variables de los vértices que conecta. El grafo obedece la propiedad de Markov extendía a grafos: donde ˜ significa que los vértices Si y Sj están conectados por una arista. En cuanto a los datos Oi, también llamados observaciones, lo más frecuente es que sean también una secuencia. Además, es frecuente que cada Oi sea un vector, no un valor escalar, en cuyo caso tendríamos observaciones multimensionales.
Entrenamiento y usoEstos modelos necesitan ser entrenados con N muestras ; cada una contiene un conjunto de observaciones así como las etiquetas asociadas a esas observaciones. El modelo extrae un conjunto de características f(i,Si,Si + 1) y g(i,Si,O) que representan las dependencia existentes entre diferentes estados y entre estos y la secuencia de observaciones. Al contrario que en los modelos ocultos de Markov en donde cada estado Si depende únicamente de la observación Oi, aquí cada estado puede depender de varias observaciones al mismo tiempo, incluso de la secuencia completa si fuese necesario. En el entrenamiento del modelo éste asigna unos pesos a cada una de esas características, indicando su relativa importancia según el caso. Puesto que el entrenamiento puede ser muy costoso en tiempo y en espacio, lo habitual es usar algoritmos de optimización numérica, como el denominado L-BFGS. En cuanto al uso, el algoritmo de Viterbi de los modelos ocultos de Markov puede ser adaptado con facilidad. También se puede usar el algoritmo de propagación de creencias (belief propagation en inglés). HerramientasAlgunas implementaciones de este modelo son las siguientes: * MALLET, en Java * CRF++, en C++ * Implementación de K.Murphy, en Matlab * Implementación de S.Sarawagi, en Java Referencias
Categoría: Bioinformática |
Este articulo se basa en el articulo Campo_Aleatorio_Condicional publicado en la enciclopedia libre de Wikipedia. El contenido está disponible bajo los términos de la Licencia de GNU Free Documentation License. Véase también en Wikipedia para obtener una lista de autores. |