Estaba leyendo sobre la clasificación Naive Bayes hoy. Leí, bajo el encabezado de Estimación de parámetros con agregar 1 suavizado :
Deje que refiera a una clase (como Positivo o Negativo), y deje que refiera a una ficha o palabra.
El estimador de máxima verosimilitud para es
Esta estimación de podría ser problemática ya que nos daría una probabilidad para documentos con palabras desconocidas. Una forma común de resolver este problema es usar el suavizado de Laplace.
Deje que V sea el conjunto de palabras en el conjunto de entrenamiento, agregue un nuevo elemento (por desconocido) al conjunto de palabras.
Definir
donde refiere al vocabulario (las palabras en el conjunto de entrenamiento).
En particular, cualquier palabra desconocida tendrá probabilidad
Mi pregunta es esta: ¿por qué nos molestamos con este suavizado de Laplace? Si estas palabras desconocidas que encontramos en el conjunto de pruebas tienen una probabilidad que obviamente es casi cero, es decir, , ¿cuál es el punto de incluirlos en el modelo? ¿Por qué no simplemente ignorarlos y eliminarlos?
Respuestas:
Siempre necesita esta probabilidad 'a prueba de fallas'.
Para ver por qué, considere el peor caso donde ninguna de las palabras en la muestra de entrenamiento aparece en la oración de prueba. En este caso, según su modelo, concluiríamos que la oración es imposible pero que existe claramente creando una contradicción.
Otro ejemplo extremo es la oración de prueba "Alex conoció a Steve". donde "conoció" aparece varias veces en la muestra de entrenamiento, pero "Alex" y "Steve" no. Su modelo concluiría que es muy probable que esta afirmación no sea cierta.
fuente
Digamos que ha entrenado su clasificador Naive Bayes en 2 clases, "Ham" y "Spam" (es decir, clasifica los correos electrónicos). En aras de la simplicidad, asumiremos que las probabilidades anteriores son 50/50.
Ahora supongamos que tiene un correo electrónico que su clasificador califica altamente como "Ham", digamos y(w1,w2,...,wn) P(Ham|w1,w2,...wn)=.90 P(Spam|w1,w2,..wn)=.10
Hasta aquí todo bien.
Ahora supongamos que tiene otro correo electrónico que es exactamente el mismo que el correo electrónico anterior, excepto que hay una palabra que no está incluida en el vocabulario. Por lo tanto, dado que el recuento de esta palabra es 0,(w1,w2,...,wn,wn+1) P(Ham|wn+1)=P(Spam|wn+1)=0
De repente, yP(Ham|w1,w2,...wn,wn+1)=P(Ham|w1,w2,...wn)∗P(Ham|wn+1)=0 P(Spam|w1,w2,..wn,wn+1)=P(Spam|w1,w2,...wn)∗P(Spam|wn+1)=0
A pesar de que el primer correo electrónico está fuertemente clasificado en una clase, este segundo correo electrónico puede clasificarse de manera diferente debido a que la última palabra tiene una probabilidad de cero.
El suavizado de Laplace resuelve esto al dar a la última palabra una pequeña probabilidad distinta de cero para ambas clases, de modo que las probabilidades posteriores no caigan repentinamente a cero.
fuente
Esta pregunta es bastante simple si está familiarizado con los estimadores de Bayes, ya que es la conclusión directa del estimador de Bayes.
En el enfoque bayesiano, los parámetros se consideran una cantidad cuya variación puede describirse mediante una distribución de probabilidad (o distribución previa).
Entonces, si vemos el procedimiento de selección como distribución multinomial, entonces podemos resolver la pregunta en pocos pasos.
Primero, defina
Si asumimos que la distribución previa de es una distribución uniforme, podemos calcular su distribución de probabilidad condicional comopi
podemos encontrar que es, de hecho, distribución de Dirichlet, y la expectativa de espi
Una estimación natural para es la media de la distribución posterior. Entonces podemos dar el estimador de Bayes de :pi pi
Puedes ver que acabamos de sacar la misma conclusión que Laplace Smoothing.
fuente
Ignorar esas palabras es otra forma de manejarlo. Corresponde al promedio (integración) sobre todas las variables que faltan. Entonces el resultado es diferente. ¿Cómo?
Suponiendo la notación utilizada aquí : donde son los tokens en el vocabulario es un documento.
Digamos que el token no aparece. En lugar de usar un suavizado de Laplace (que viene de imponer un Dirichlet antes en el Bayes multinomial), sumas que corresponde a decir: Tomo una votación ponderada sobre todas las posibilidades de las fichas desconocidas (tenerlas o no) .tk tk
Pero en la práctica uno prefiere el enfoque de suavizado. En lugar de ignorar esos tokens, les asigna una baja probabilidad que es como pensar: si tengo tokens desconocidos, es más improbable que sea el tipo de documento que de otra manera pensaría que es.
fuente
Desea saber por qué nos molestamos con el suavizado en un clasificador Naive Bayes (cuando podemos descartar las características desconocidas).
La respuesta a su pregunta es: no todas las palabras tienen que ser desconocidas en todas las clases.
Digamos que hay dos clases M y N con las características A , B y C , de la siguiente manera:
M: A = 3, B = 1, C = 0
(En la clase M , A aparece 3 veces y B solo una vez)
N: A = 0, B = 1, C = 3
(En la clase N , C aparece 3 veces y B solo una vez)
Veamos qué sucede cuando descarta características que aparecen cero veces.
A) Desechar características que aparecen cero veces en cualquier clase
Si descarta las características A y C porque aparecen cero veces en cualquiera de las clases, solo le queda la característica B para clasificar los documentos.
¡Y perder esa información es algo malo como verás a continuación!
Si se le presenta un documento de prueba de la siguiente manera:
B = 1, C = 3
(Contiene B una vez y C tres veces)
Ahora, desde que ha descartado las características A y B , usted no será capaz de decir si el documento anterior pertenece a la clase M o tipo N .
Por lo tanto, perder cualquier información de las funciones es algo malo.
B) Desechar características que aparecen cero veces en todas las clases
¿Es posible solucionar este problema descartando solo aquellas características que aparecen cero veces en todas las clases?
¡No, porque eso crearía sus propios problemas!
El siguiente documento de prueba ilustra lo que sucedería si hiciéramos eso:
A = 3, B = 1, C = 1
La probabilidad de M y N se convertiría en cero (porque no descartamos la probabilidad cero de A en la clase N y la probabilidad cero de C en la clase M ).
C) No arroje nada: use suavizado en su lugar
El suavizado le permite clasificar correctamente los dos documentos anteriores porque:
Clasificadores ingenuos de Bayes en la práctica
El clasificador Naive Bayes en NLTK solía desechar características que tenían cero recuentos en cualquiera de las clases.
Esto solía hacer que funcione mal cuando se entrena usando un procedimiento EM difícil (donde el clasificador se arranca con muy pocos datos de entrenamiento).
fuente
También me encontré con el mismo problema mientras estudiaba Naive Bayes.
Según yo, cada vez que encontramos un ejemplo de prueba que no habíamos encontrado durante el entrenamiento, entonces la probabilidad posterior se convertirá en 0.
Entonces, sumando el 1, incluso si nunca entrenamos en una característica / clase en particular, la probabilidad posterior nunca será 0.
fuente
Matt, tienes razón, planteas un muy buen punto: sí, ¡Laplace Smoothing es francamente una tontería! Simplemente descartar esas características puede ser un enfoque válido, particularmente cuando el denominador también es un número pequeño; simplemente no hay evidencia suficiente para respaldar la estimación de probabilidad.
Tengo una fuerte aversión a resolver cualquier problema mediante el uso de algún ajuste arbitrario. El problema aquí son los ceros, la "solución" es simplemente "agregar un valor pequeño a cero para que ya no sea cero; MAGIA, el problema ya no existe". Por supuesto que es totalmente arbitrario.
Para empezar, su sugerencia de una mejor selección de funciones es un enfoque menos arbitrario y el IME aumenta el rendimiento. Además, el suavizado de Laplace junto con Bayes ingenuo, como el modelo, en mi experiencia, empeora el problema de granularidad, es decir, el problema donde la salida de puntajes tiende a estar cerca de 1.0 o 0.0 (si el número de características es infinito, entonces cada puntaje será 1.0 o 0.0 - esto es una consecuencia del supuesto de independencia).
Ahora existen técnicas alternativas para la estimación de probabilidad (aparte de la probabilidad máxima + suavizado de Laplace), pero están masivamente documentadas. De hecho, hay un campo completo llamado Lógica inductiva e Procesos de inferencia que utilizan muchas herramientas de la Teoría de la información.
Lo que usamos en la práctica es la Actualización mínima de entropía cruzada, que es una extensión de la Actualización de Jeffrey, donde definimos la región convexa del espacio de probabilidad consistente con la evidencia de ser la región de tal manera que un punto en ella significaría que la estimación de Probabilidad máxima está dentro de Desviación absoluta esperada del punto.
Esto tiene una buena propiedad que a medida que disminuye el número de puntos de datos, las estimaciones pacíficas se aproximan sin problemas a las anteriores y, por lo tanto, su efecto en el cálculo bayesiano es nulo. El suavizado de Laplace, por otro lado, hace que cada estimación se acerque al punto de máxima entropía que puede no ser el anterior y, por lo tanto, el efecto en el cálculo no es nulo y solo agregará ruido.
fuente