Logotipo de Zephyrnet

Tutorial de aprendizaje automático: la regresión logística multinomial (regresión de Softmax)

Fecha:

regresión logística multinomialEn los dos tutoriales de aprendizaje automático anteriores, examinamos el Bayes ingenuos y del Max entropía clasificadores En este tutorial discutiremos la Regresión logística multinomial también conocida como Regresión Softmax. Implementar la regresión logística multinomial en un lenguaje de programación convencional como C ++, PHP o JAVA puede ser bastante sencillo a pesar del hecho de que se necesitaría un algoritmo iterativo para estimar los parámetros del modelo.

Actualización: el marco de aprendizaje automático de Datumbox ahora es de código abierto y gratuito para descargar. Consulte el paquete com.datumbox.framework.machinelearning.classification para ver la implementación del clasificador de regresión SoftMax en Java.

¿Qué es la regresión logística multinomial?

La regresión logística multinomial, también conocida como regresión SoftMax debido a la función de hipótesis que utiliza, es supervisada
algoritmo de aprendizaje que se puede utilizar en varios problemas, incluida la clasificación de texto. Es un modelo de regresión que generaliza la regresión logística a problemas de clasificación donde la salida puede tomar más de dos valores posibles. Debemos tener en cuenta que la Regresión logística multinomial está estrechamente relacionada con el algoritmo MaxEnt porque utiliza las mismas funciones de activación. Sin embargo, en este artículo presentaremos el método en un contexto diferente que en el tutorial de Max Entropy.

¿Cuándo utilizar la regresión logística multinomial?

La regresión logística multinomial requiere mucho más tiempo para ser entrenado en comparación con Naive Bayes, porque utiliza un algoritmo iterativo para estimar los parámetros del modelo. Después de calcular estos parámetros, la regresión de SoftMax es competitiva en términos de consumo de CPU y memoria. Se prefiere la regresión Softmax cuando tenemos características de diferente tipo (variables continuas, discretas, ficticias, etc.), sin embargo, dado que es un modelo de regresión, es más vulnerable a problemas de multicolinealidad y, por lo tanto, debe evitarse cuando nuestras características están altamente correlacionadas .

Antecedentes teóricos de la regresión de Softmax

similar a Max entropía, presentaremos el algoritmo en el contexto de la clasificación de documentos. Por lo tanto, utilizaremos la información contextual del documento para clasificarlo en una clase determinada. Deje que nuestro conjunto de datos de entrenamiento consista en m (xi,yi) se empareja y deja que k sea el número de todas las clases posibles. También mediante el uso de marco de bolsa de palabras deja {w1,…, Wn} ser el conjunto de n palabras que pueden aparecer dentro de nuestros textos.

El modelo de regresión SoftMax requiere la estimación de un coeficiente theta para cada combinación de palabra y categoría. El signo y el valor de este coeficiente muestran si la existencia de una palabra en particular dentro de un documento tiene un efecto positivo o negativo para su clasificación en la categoría. Para construir nuestro modelo necesitamos estimar el parámetros (Tenga en cuenta que el θi vector almacena los coeficientes de ith categoría para cada una de las n palabras, más 1 para el coeficiente del término de intercepción).

De acuerdo con lo que hicimos anteriormente para Max entropía, todos los documentos dentro de nuestro conjunto de datos de entrenamiento se representarán como vectores con 0s y 1s que indican si cada palabra de nuestro vocabulario existe dentro del documento. Además, todos los vectores incluirán un elemento adicional "1" para el término de intercepción.

En la regresión de Softmax, la probabilidad de que un documento x se clasifique como y es igual a:

[ 1 ]

Por lo tanto, dado que hemos estimado los parámetros θ mencionados anteriormente y dado un nuevo documento x, nuestra función de hipótesis necesitará estimar la probabilidad anterior para cada una de las k posibles clases. Así, la función de hipótesis devolverá un vector dimensional k con las probabilidades estimadas:

[ 2 ]

Al utilizar la regla de decisión "máximo a posteriori", cuando clasifiquemos un nuevo documento, seleccionaremos la categoría con la mayor probabilidad.

En nuestro modelo de regresión logística multinomial, utilizaremos la siguiente función de costo e intentaremos encontrar los parámetros theta que lo minimicen:

[ 3 ]

Desafortunadamente, no hay una forma conocida de forma cerrada para estimar los parámetros que minimizan la función de costo y, por lo tanto, necesitamos usar un algoritmo iterativo como el descenso de gradiente. El algoritmo iterativo requiere que calculemos la derivada parcial de la función de costo que es igual a:

[ 4 ]

Mediante el uso de la algoritmo de descenso de gradiente por lotes estimamos los parámetros theta de la siguiente manera:


1. Initialize vector θj with 0 in all elements
2. Repeat until convergence {
            θj <- θj - α (for every j)
}
 

Después de estimar los parámetros θ, podemos usar nuestro modelo para clasificar nuevos documentos. Finalmente, debemos tener en cuenta que, como discutimos en un artículo anterior, usar el Descenso de gradiente "Tal como está" nunca es una buena idea. Ampliar el algoritmo para adaptar la velocidad de aprendizaje y normalizar los valores antes de realizar las iteraciones son formas de mejorar la convergencia y acelerar la ejecución.

¿Te gustó el artículo? Tómese un minuto para compartirlo en Twitter. 🙂

Nuestra Empresa Vasilis Vryniotis

Mi nombre es Vasilis Vryniotis. Soy un científico de datos, un ingeniero de software, autor de Datumbox Machine Learning Framework y un orgulloso geek. Más información

Fuente: http://blog.datumbox.com/machine-learning-tutorial-the-multinomial-logistic-regression-softmax-regression/

punto_img

Información más reciente

punto_img