Red de conocimiento informático - Aprendizaje de código fuente - Modelos de entropía máxima y campos aleatorios condicionales

Modelos de entropía máxima y campos aleatorios condicionales

Cómo comprender el modelo de máxima entropía, primero comprenda el modelo de máxima entropía desde la perspectiva de convertir el valor predicho del dominio de números reales al valor de probabilidad y luego usar la entropía máxima para construir características.

Considere un método para resolver el problema de clasificación k. Cree un clasificador para cada categoría. Para un clasificador, las categorías se convierten en "es esta categoría" y "no es esta categoría". Luego, finalmente, entre los k valores de salida del clasificador, la clasificación con el mayor valor de salida del clasificador se selecciona como resultado de categoría. Luego usamos la regresión lineal más simple para hacer esto (la regresión también se puede usar para la clasificación, pero es necesario modificarla, pero también se puede hacer sin modificaciones).

Es decir, de la siguiente manera: (Para mayor comodidad y rapidez, copie directamente la fórmula en el PPT del profesor de CBB con una captura de pantalla).

es el vector de entrada. Considere la clasificación k.

k modelos de clasificador:

Luego obtenemos el resultado:

Pero nuestro valor de salida está en el dominio de los números reales, lo cual no parece muy amigable (aunque En realidad, tiene sentido. Cuanto mayor sea el valor, más confianza tendrá el modelo en sus predicciones. Incluso queremos que el modelo haga predicciones confiables y descarte aquellas predicciones que están más cerca del centro 0. Esta es la idea central de. ​SVM es margen), así que considere asignar los valores de los números reales al rango. De manera similar a softmax, podemos hacer algo como esto:

Así es como convertimos del dominio de números reales a .

Luego se introduce el modelo de máxima entropía, incluidas las técnicas de selección de características más utilizadas para el modelo de entropía condicional posterior.

Considere:

Esta fórmula puede entenderse cualitativamente como el impacto de diferentes características (x) con diferentes pesos (w) en los resultados de la predicción. Aunque w está entrenado, supongamos que tenemos una gran cantidad de datos de entrenamiento para una determinada característica en x cuando aparece una categoría (para facilitar la discusión, se supone que los valores de las características anteriores a x son todos). 0 o 1.) Es decir, digamos que siempre aparece un determinado par. Entonces el modelo debería acercarse a esta dirección. Obviamente, para este clasificador, definitivamente pensará que la contribución es relativamente grande, por lo que aprenderá que los parámetros correspondientes son relativamente grandes.

Entonces no permitimos que la máquina aprenda directamente todas las características x, sino que dejamos que la máquina aprenda las características extraídas de x características. (Las características mencionadas más adelante se refieren a las características extraídas. x se llama vector de entrada).

Luego, para el vector de entrada x, obviamente podemos determinar si existe tal característica.

La formalización es

Y para las características, debe haber diferentes pesos, y este peso es el parámetro que queremos aprender.

De este modo tenemos el siguiente modelo:

Entre ellos:

es el modelo de máxima entropía después de la derivación.

Este tipo de explicación, en comparación con dar directamente la forma, dando las mismas condiciones de expectativa empírica y expectativa real para derivar, puede comprender mejor cuál es la función característica, y también es una característica importante de la entropía máxima. .

Pero solo con esto, todavía no puedes sentir cómo funciona la entropía máxima. Aquí hay un ejemplo de la clase de un profesor (¡¡excelente!!!):

Considere el lenguaje natural. el problema de completar palabras:

Corpus (datos de entrenamiento):

Me gustaría jugar baloncesto.

Me gusta comer patatas fritas.

Me gusta comer patatas fritas.

p>

Quiero jugar al fútbol.

Voy a ver movimientos.

¿Quieres jugar al ajedrez?

Juego <. /p >

Considere un problema de predicción de palabras:

Entrada:

¿Te gusta ___ jugar?

Controlemos la correlación de características y solo consideremos. la palabra Dos palabras adyacentes entre sí.

Por ejemplo, en la pregunta anterior, las características de entrada son las cuatro palabras "te gusta jugar".

Al mismo tiempo, nuestro corpus debe procesarse como:

Me gustaría

Me gustaría

;

me gusta -gt; me gustaría jugar

a -gt; me gustaría jugar al baloncesto

me gustaría jugar al baloncesto

...

Entonces podemos considerar configurar características:

La configuración de características es arbitraria y, a menudo, se puede hacer de forma artificial para comprender los datos y observarlos. Por ejemplo, configuraría lo siguiente:

f(x=play, y=to) . (El significado de la característica aquí es que hay juego en x, y lo mismo se aplica más adelante, porque teóricamente x debería ser una secuencia de cuatro palabras).

f(x=like, y=to) .

f(x=me gusta, y=I).

f(x=jugar,y=I).

f(x=interesante, y=I).

De esta forma, podemos calcular en base a lo anterior.

Para nuestra entrada ___, las cuatro palabras al lado son te gusta jugar

Supongamos que hemos entrenado los parámetros del modelo a través de datos de entrenamiento

Así podemos calcular:

y obtener el resultado de la clasificación.

Puedes considerar el tema de la anotación de secuencia. (Tanto los campos de entropía máxima como los aleatorios condicionales pueden resolver este problema, especialmente los campos aleatorios condicionales, que históricamente son excelentes en este problema).

Considere usar la entropía máxima para la anotación de secuencias. Aquí hay dos ideas:

1: Trate directamente el problema de etiquetado de secuencia como un problema de clasificación. Suponga que la longitud de la secuencia y es n y que hay m estados de los elementos en la secuencia, entonces hay uno de esta categoría. Esto provocará el problema de explosión del índice de categorías (requiere una cantidad de datos y una cantidad de cálculo).

2: Considere predecir solo un elemento en una secuencia a la vez, predecir un elemento en el pasado y finalmente obteniendo la secuencia. Obviamente hay un problema con esto, ya que la relación de secuencia de los elementos de la secuencia simplemente se pierde.

Entonces, ¿cómo solucionar este problema?

A partir de la figura anterior, podemos predecir una subsecuencia. Por ejemplo, arriba, predecimos. De esta forma, sólo existen tres categorías. Sigue siendo aceptable.

Comprensión directa del ejemplo:

Modelo de entropía máxima para resolver el problema anterior:

Explique:

Modelo de entropía clásico:

p>

La idea es que después de establecer las características, esperamos que la expectativa de nuestro modelo de probabilidad p(x, y) para las características que hemos establecido sea igual a la expectativa de la muestra para las características.

Preste atención a la "esperanza" aquí, porque no tenemos forma de determinar la verdadera probabilidad de p(x). Por lo tanto, al calcular la expectativa de nuestro modelo de probabilidad, lo usamos, que es la probabilidad de que x aparezca en la muestra. Incluye nuestra entropía objetivo de optimización.

Además, la entropía que utilizamos es la entropía condicional.

Y utilice la idea de "esperanza" anterior para simplificar esta entropía condicional.

Así se obtiene la siguiente fórmula:

Entre ellos:

Entre ellos ya se conoce p(y|x), utilizando el mismo método que softmax , y características Se simula la excavación.

Generalmente no existe un método analítico para modelar utilizando el principio de máxima entropía. Pero se pueden utilizar métodos como el descenso de gradiente.

Si analiza y deriva su derivada, puede encontrar que el modelo es el modelo mencionado anteriormente.

Otro buen ejemplo en el PPT del Profesor Baobao:

En resumen, si desea utilizar la entropía máxima, solo necesita diseñar las funciones y luego tener la fórmula correspondiente de "" probabilidad"". Entonces simplemente resuélvelo.

El modelo gráfico se utiliza para estudiar la distribución conjunta de varias variables aleatorias. Generalmente, las variables aleatorias no son independientes debido a algunas relaciones, por lo que existen aristas conectadas.

No entraré en detalles.

Generalmente hay dos categorías:

La idea de procesar modelos gráficos también es muy simple, es decir, particionar para su procesamiento.

Por ejemplo:

Introduzca el concepto de camarilla máxima y divida el gráfico en camarillas máximas.

Luego diseña una función potencial para el grupo.

Sigue el PPT del profesor directamente sin fórmulas.

Preste atención a la función potencial, que en realidad equivale a combinar un grupo en un valor numérico.

La normalización de este valor puede considerarse como la probabilidad de este grupo.

Entonces toda la distribución conjunta es el producto de las probabilidades de todos los grupos.

La selección de funciones potenciales específicas también es similar a la técnica de selección de características de softmax. (No hay una especificación específica aquí, por lo que la selección de características no se refleja, pero de hecho podemos usar la función de combinación lineal de selección de características en máxima entropía. De hecho, ¡esto está muy cerca del campo aleatorio condicional!)

Debe saber que encontrar la camarilla más grande en un gráfico no dirigido es un problema difícil y actualmente no existe un método de solución polinomial. Entonces el campo aleatorio condicional asume directamente que dos variables aleatorias adyacentes son un grupo.

Debido a que las oraciones en el procesamiento del lenguaje natural están una tras otra y la relación entre dos palabras adyacentes generalmente se compara, aquí introducimos principalmente campos aleatorios condicionales en cadena, y lo mismo ocurre con otras estructuras.

Con las reflexiones anteriores. De hecho, el modelo de campos aleatorios condicionales ya ha sido lanzado.

Como sabrás, podemos observar el modelo de campo aleatorio condicional desde múltiples ángulos.

1) Modelo de grafo no dirigido. La función potencial del grupo utiliza las ideas de softmax y extracción de características.

2) Al predecir la secuencia completa, el modelo de máxima entropía supone que las subsecuencias son independientes y se descompone en la predicción de una subsecuencia.

De hecho, los dos ángulos anteriores están unificados.

Y al combinar las ideas anteriores, podemos encontrar que lo más importante es la idea de característica y convertirla en un modelo de probabilidad para la solución.

Para problemas de etiquetado de secuencias, se puede utilizar el algoritmo de Viterbi para resolverlo.