Da regra de Perceptron à Descida de Gradiente: Como os Perceptrons com uma função de ativação sigmóide são diferentes da Regressão Logística?

21

Essencialmente, minha pergunta é que, nos Perceptrons multicamadas, os perceptrons são usados ​​com uma função de ativação sigmóide. De modo que na regra de actualização y é calculado comoy^

y^=11+exp(wTxi)

Como esse Perceptron "sigmóide" difere de uma regressão logística então?

Eu diria que um perceptron sigmóide de camada única é equivalente a uma regressão logística no sentido de que ambos usam na regra de atualização. Além disso, ambos retornam sinal( y =1y^=11+exp(wTxi)sign(y^=11+exp(wTxi)) na previsão. No entanto, em perceptrons multicamadas, a função de ativação sigmóide é usada para retornar uma probabilidade, não um sinal ligado, em contraste com a regressão logística e um perceptron de camada única.

Eu acho que o uso do termo "Perceptron" pode ser um pouco ambíguo, então deixe-me fornecer alguns antecedentes com base no meu entendimento atual sobre perceptrons de camada única:

Regra de perceptron clássica

Primeiro, o perceptron clássico de F. Rosenblatt, onde temos uma função step:

Δwd=η(yiyi^)xidyi,yi^{1,1}

para atualizar os pesos

wk:=wk+Δwk(k{1,...,d})

Para que seja calculado comoy^

y^=sign(wTxi)=sign(w0+w1xi1+...+wdxid)


Gradiente descendente

Usando a descida gradiente, otimizamos (minimizamos) a função de custo

J(w)=i12(yiyi^)2yi,yi^R

onde temos números "reais", vejo isso basicamente análogo à regressão linear com a diferença de que nossa saída de classificação é limiar.

Aqui, damos um passo na direção negativa do gradiente quando atualizamos os pesos

Δwk=ηJwk=ηi(yiyi^)(xik)=ηi(yiyi^)xik

Mas aqui temos vez dey^=wTxiy^=sign(wTxi)

wk:=wk+Δwk(k{1,...,d})

Além disso, calculamos a soma dos erros quadráticos para uma passagem completa em todo o conjunto de dados de treinamento (no modo de aprendizado em lote), em contraste com a regra clássica do perceptron que atualiza os pesos à medida que novas amostras de treinamento chegam (descida analógica ao gradiente estocástico - online Aprendendo).


Função de ativação sigmóide

Agora, aqui está a minha pergunta:

Nos Perceptrons multicamadas, os perceptrons são usados ​​com uma função de ativação sigmóide. Para que na regra de atualização seja calculada comoy^

y^=11+exp(wTxi)

Como esse Perceptron "sigmóide" difere de uma regressão logística então?


fonte
4
Surpreendente, essa pergunta por si só me permitiu condensar meu aprendizado de máquina e os princípios básicos da rede neural!
Varun

Respostas:

4

Usando a descida gradiente, otimizamos (minimizamos) a função de custo

J(w)=i12(yiyi^)2yi,yi^R

Se você minimizar o erro médio quadrático, será diferente da regressão logística. A regressão logística é normalmente associada à perda de entropia cruzada; aqui está uma página de introdução da biblioteca scikit-learn .


(Presumo que perceptrons multicamadas sejam a mesma coisa que redes neurais.)

Se você usou a perda de entropia cruzada (com regularização) para uma rede neural de camada única, será o mesmo modelo (modelo log-linear) da regressão logística. Se você usar uma rede de várias camadas, ela poderá ser vista como regressão logística com funções de base não lineares paramétricas.


No entanto, em perceptrons multicamadas, a função de ativação sigmóide é usada para retornar uma probabilidade, não um sinal ligado, em contraste com a regressão logística e um perceptron de camada única.

Os resultados da regressão logística e das redes neurais com função de ativação sigmóide podem ser interpretados como probabilidades. Como a perda de entropia cruzada é realmente a probabilidade logarítmica negativa definida através da distribuição de Bernoulli.

dontloo
fonte
2

Como a descida do gradiente atualiza cada parâmetro de forma a reduzir o erro de saída, que deve ser uma função contínua de todos os parâmetros. A ativação baseada em limites não é diferenciável, e é por isso que a ativação sigmóide ou tanh é usada.

Aqui está um NN de camada única

dJ(w,b)dωkj=dJ(w,b)dzkdzkdωkj

dJ(w,b)dzk=(akyk)(ak(1ak))

dzkdωkj=xk

J(w,b)=12(ykak)2

ak=sigm(zk)=sigm(Wkjxk+bk)

Jzk

Aqui está um link que explica isso em geral.

Edit: Talvez, eu não entendi o que você entende por perceptron. Se não me engano, o perceptron é uma soma ponderada de entradas. Se você alterar a retenção com a função logística, ela se transformará em regressão logística. NN multicamada com funções de ativação sigmóide (logística) são camadas em cascata compostas de regressões logísticas.

yasin.yazici
fonte
3
Isso não responde à pergunta.
Neil G
Obrigado por escrever este belo comentário, mas não era isso que eu estava pedindo. A minha pergunta não era "por gradiente de descida", mas "o que faz um perceptron com uma diferente função de ativação sigmóide de regressão logística"
y=WTX
1
y=wjTxji
η(ysign(wTxi))xη(ywTxi)xi
2

Intuitivamente, penso em um perceptron multicamada como computando uma transformação não linear em meus recursos de entrada e, em seguida, alimentando essas variáveis ​​transformadas em uma regressão logística.

βiXiβiXjβjX

Não conheço você, mas em meus cursos e pesquisas de modelagem, tentei todos os tipos de transformações sensatas e estúpidas dos recursos de entrada para melhorar seu significado e a previsão geral do modelo. Combinando coisas, pegando toras, combinando duas em uma taxa, etc. Eu não tinha vergonha, mas tinha paciência limitada.

Xβi

Dan Van Boxel
fonte