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?


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.


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.


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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.