¿Cómo es la aplicación K-Means de maximización de expectativas en Naive Bayes?

¡Este es un ejemplo realmente divertido de cuán estrechamente relacionados pueden estar los algoritmos de aprendizaje automático! Comencemos con Naive Bayes y busquemos más detalles hasta que se vea como su K-means estándar.
Lo primero que hay que entender es que el paralelo entre los dos supone que se nos da un conjunto de datos sin “respuestas”. Es decir. esto es con datos en condiciones no supervisadas. Si nos dieran un conjunto de datos que tuviera las “respuestas correctas”, entonces no necesitaríamos la agrupación, ya que haríamos predicciones de lo que ya sabemos sobre cada clase.

Con eso, recuerde que el objetivo de Naive Bayes es encontrar P (y | x).
P (y | x) es proporcional a P (x | y) * P (y), por lo que debemos averiguar P (x | y).

Supongamos que modelamos P (X = x | Y) de acuerdo con una distribución normal con desviación estándar 1 y media desconocida, es decir. ~ N (m_k, 1). La tarea en cuestión es encontrar qué significa este desconocido, para cada uno de los dos resultados.

Como no tenemos las clases “correctas” dadas para cada observación, apliquemos un enfoque de algoritmo EM para encontrar esta media desconocida para cada caso. Recuerde, EM comienza con la inicialización aleatoria de los parámetros del modelo y luego repite un proceso de dos pasos de (E) asignar valores a las variables desconocidas en función de los parámetros y (M) calcular los parámetros en función de los datos.

1. Presente nuestro valor desconocido (en este caso, el resultado al que corresponde), dados los datos. Resulta que la mejor estimación para encontrar nuestras medias desconocidas es usar la distancia euclidiana, o simplemente tomar la media. En otras palabras, esto significa “para cada punto, encuentre la media a la que está más cerca”.
2. Obtenga las mejores estimaciones de parámetros basándose en el hecho de que ahora tiene los datos y los resultados “adivinados” del paso 1. Resulta que la mejor estimación que puede tener para estos parámetros (MLE) es solo la media.

3. Repita 1 y 2 hasta la convergencia.

¿Este algoritmo parece familiar?
Repasemos el algoritmo k-means, donde establecemos k , el número de clústeres y los puntos de partida. Digamos k = 2 (o que creemos que hay dos grupos en los datos), y m1 = 5, m2 = 10 (o que la media inicial del primer grupo es 5, y el segundo es 10).
Un algoritmo k-means funciona así:

1. Itere a través de cada punto y clasifíquelos en el grupo 1 o 2 según la distancia (puede ser Euclidiana u otra cosa).
2. Calcule la nueva media de cada uno de estos dos grupos, de modo que tengamos m1 * y m2 *.
3. Repita los pasos 1-2.

Los dos son exactamente iguales, dados los supuestos correctos.

Referencia: http://stanford.edu/~cpiech/cs22…

More Interesting

¿Qué parte de la investigación de aprendizaje profundo es empírica versus teórica?

¿Cuál es la diferencia entre bootstrapping y validación cruzada?

¿Cuál es la divergencia KL entre un Gaussiano y un Student-t?

Veo que la mayoría de las API de Machine Learning están en Python, algunas usan C o C ++ bajo el capó. ¿Por qué los desarrolladores de framework no exponen las API de C ++?

¿Los LSTM tienen significativamente más parámetros que los RNN estándar?

¿Puede el aprendizaje automático ayudar en la detección de malware? ¿Cuáles son los cuellos de botella en tal implementación de ML?

¿Cuáles son los siguientes pasos en el reconocimiento de voz después de extraer las funciones de MFCC?

¿Se pueden usar las redes neuronales para resolver problemas de aprendizaje no supervisados?

¿Puede el preprocesamiento de datos en redes neuronales de IA (aprendizaje profundo) ser dinámico y automatizado (en lugar de estático y manual)?

¿Qué son los vectores de características basados ​​en cuadros (como se usan en el reconocimiento de voz)?

¿Cuáles son las ventajas de la maximización de la expectativa sobre el gradiente decente para ajustar un modelo de mezcla gaussiana?

¿Por qué confiamos en la aleatoriedad de la búsqueda aleatoria en la optimización de hiperparámetros?

¿El aprendizaje no supervisado es la clave de la inteligencia artificial general?

¿Se ha realizado algún trabajo para hacer que la regresión lineal sea amigable para el laico?

¿Cuál es un buen sitio de contestación de preguntas sobre IA y aprendizaje automático aparte de Quora? Los relacionados con Stack Exchange son bastante malos. Las personas están más centradas en los puntos y formatos en lugar de dar una respuesta adecuada.