Zephyrnet Logo

Tutorial de aprendizado de máquina: A regressão logística multinomial (regressão Softmax)

Data:

multinomial-logística-regressãoNos dois tutoriais de aprendizado de máquina anteriores, examinamos o Baías ingénuas e os votos de Entropia máxima classificadores. Neste tutorial vamos discutir a Regressão Logística Multinomial também conhecida como Regressão Softmax. Implementar a regressão logística multinomial em uma linguagem de programação convencional como C++, PHP ou JAVA pode ser bastante simples, apesar do fato de que um algoritmo iterativo seria necessário para estimar os parâmetros do modelo.

Atualização: O Datumbox Machine Learning Framework agora é de código aberto e gratuito para download. Confira o pacote com.datumbox.framework.machinelearning.classification para ver a implementação do Classificador de Regressão SoftMax em Java.

O que é a Regressão Logística Multinomial?

A Regressão Logística Multinomial, também conhecida como SoftMax Regression devido à função de hipótese que utiliza, é uma
algoritmo de aprendizagem que pode ser usado em vários problemas, incluindo classificação de texto. É um modelo de regressão que generaliza a regressão logística para problemas de classificação onde a saída pode ter mais de dois valores possíveis. Devemos notar que a Regressão Logística Multinomial está intimamente relacionada ao algoritmo MaxEnt porque usa as mesmas funções de ativação. No entanto, neste artigo apresentaremos o método em um contexto diferente do que fizemos no tutorial do Max Entropy.

Quando usar a regressão logística multinomial?

A Regressão Logística Multinomial requer significativamente mais tempo para ser treinada em comparação com Naive Bayes, pois utiliza um algoritmo iterativo para estimar os parâmetros do modelo. Após computar esses parâmetros, a regressão SoftMax é competitiva em termos de consumo de CPU e memória. A Regressão Softmax é preferida quando temos características de tipo diferente (contínua, discreta, variáveis ​​dummy etc), porém por ser um modelo de regressão, é mais vulnerável a problemas de multicolinearidade e, portanto, deve ser evitada quando nossas características são altamente correlacionadas .

Antecedentes Teóricos da Regressão Softmax

similarmente a Entropia máxima, apresentaremos o algoritmo no contexto da classificação de documentos. Assim, usaremos as informações contextuais do documento para categorizá-lo em uma determinada classe. Deixe nosso conjunto de dados de treinamento consistir em m (xi,yi) pares e seja k o número de todas as classes possíveis. Também usando o quadro de saco de palavras deixe {w1,…,Wn} seja o conjunto de n palavras que podem aparecer em nossos textos.

O modelo de regressão SoftMax requer a estimativa de um coeficiente teta para cada combinação de palavras e categorias. O sinal e o valor deste coeficiente mostram se a existência de uma determinada palavra dentro de um documento tem um efeito positivo ou negativo na sua classificação na categoria. Para construir nosso modelo, precisamos estimar a parâmetros. (Observe que o θi vetor armazena os coeficientes de ith categoria para cada uma das n palavras, mais 1 para coeficiente do termo de interceptação).

De acordo com o que fizemos anteriormente para Entropia máxima, todos os documentos em nosso conjunto de dados de treinamento serão representados como vetores com 0s e 1s que indicam se cada palavra do nosso vocabulário existe dentro do documento. Além disso, todos os vetores incluirão um elemento “1” adicional para o termo de interceptação.

Em Softmax Regression, a probabilidade de um documento x ser classificado como y é igual a:

[1]

Assim, dado que estimamos os parâmetros θ mencionados acima e dado um novo documento x, nossa função de hipótese precisará estimar a probabilidade acima para cada uma das k classes possíveis. Assim, a função de hipótese retornará um vetor dimensional k com as probabilidades estimadas:

[2]

Utilizando a regra de decisão “máximo a posteriori”, ao classificarmos um novo documento selecionaremos a categoria com maior probabilidade.

Em nosso modelo de Regressão Logística Multinomial, usaremos a seguinte função de custo e tentaremos encontrar os parâmetros teta que a minimizem:

[3]

Infelizmente, não existe uma forma fechada conhecida de estimar os parâmetros que minimizam a função de custo e, portanto, precisamos usar um algoritmo iterativo, como gradiente descendente. O algoritmo iterativo exige que estimemos a derivada parcial da função de custo que é igual a:

[4]

Ao utilizar a blockchain da algoritmo de descida de gradiente em lote estimamos os parâmetros teta da seguinte forma:


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

Após estimar os parâmetros θ, podemos usar nosso modelo para classificar novos documentos. Finalmente, devemos observar que, como discutimos em um artigo anterior, usando o Gradiente descendente “como está” nunca é uma boa ideia. Estender o algoritmo para adaptar a taxa de aprendizado e normalizar os valores antes de realizar as iterações são formas de melhorar a convergência e acelerar a execução.

Você gostou do artigo? Por favor, reserve um minuto para compartilhá-lo no Twitter. 🙂

Sobre Vasilis Vryniotis

Meu nome é Vasilis Vryniotis. Sou um cientista de dados, um engenheiro de software, autor do Datumbox Machine Learning Framework e um geek orgulhoso. Saiba Mais

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

local_img

Inteligência mais recente

local_img