Estou estudando o curso DeepAI da Cousera (vídeo da Semana 3 1 "Visão geral das redes neurais") e Andrew Ng está explicando como cada camada de uma rede neural é apenas outra regressão logística, mas ele não explica como isso torna as coisas mais precisas.
Assim, em uma rede de duas camadas, como o cálculo logístico várias vezes a torna mais precisa?
logistic
neural-networks
mskw
fonte
fonte
Respostas:
Ao usar funções de ativação logística, é verdade que a função que relaciona as entradas de cada unidade à sua saída é a mesma da regressão logística. Mas, isso não é realmente o mesmo que cada unidade que executa a regressão logística. A diferença é que, na regressão logística, os pesos e o viés são escolhidos de forma que a saída corresponda melhor aos valores-alvo determinados (usando a perda de log / entropia cruzada). Por outro lado, unidades ocultas em uma rede neural enviam suas saídas para unidades a jusante. Não há saída de destino a ser correspondida para unidades ocultas individuais. Em vez disso, os pesos e preconceitos são escolhidos para minimizar algumas funções objetivas que dependem da saída final da rede.
Em vez de executar a regressão logística, pode fazer mais sentido pensar em cada unidade oculta como computando uma coordenada em algum espaço de recurso. Nesta perspectiva, o objetivo de uma camada oculta é transformar sua entrada - o vetor de entrada é mapeado para um vetor de ativações da camada oculta. Você pode pensar nisso como mapear a entrada em um espaço de recurso com uma dimensão correspondente a cada unidade oculta.
A camada de saída geralmente pode ser vista como um algoritmo de aprendizado padrão que opera nesse espaço de recursos. Por exemplo, em uma tarefa de classificação, o uso de uma unidade de saída logística com perda de entropia cruzada é equivalente a executar a regressão logística no espaço de recurso (ou regressão logística multinomial se estiver usando saídas softmax). Em uma tarefa de regressão, usar uma saída linear com erro ao quadrado é equivalente a executar a regressão linear de mínimos quadrados no espaço de recurso.
Treinar a rede significa aprender o mapeamento do espaço de recursos e a função de classificação / regressão (no espaço de recursos) que, juntos, oferecem o melhor desempenho. Assumindo unidades ocultas não lineares, aumentar a largura da camada oculta ou empilhar várias camadas ocultas permite mapeamentos de espaço de recursos mais complexos, permitindo assim o ajuste de funções mais complexas.
fonte
Uma maneira de ver o poder da não linearidade é observar o teorema da aproximação universal .
Embora não seja muito significativo na prática (trata-se de recursos de redes de camada única), ele diz que, se você usar somas (longas arbitrárias) de sigmóides, poderá, em princípio, aproximar qualquer função contínua a qualquer nível desejado. Se você conhece a teoria de Fourier ou se lembra do teorema da aproximação de Weierstrass, não deveria surpreender.
fonte
Quando existem camadas ocultas na rede neural, estamos adicionando recursos não lineares. Por favor, verifique minha resposta aqui para ter algum sentido.
o que faz das redes neurais um modelo de classificação não linear?
Especificamente, uma função sigmóide aninhada será mais "poderosa" do que uma transformação linear de recursos originais e uma função sigmóide (regressão logística).
Aqui está um exemplo numérico para abordar os comentários do OP.
fonte
Na regressão logística padrão, temos 1 saída na camada final. No entanto, com uma rede neural de camada oculta única, podemos ter vários valores intermediários, cada um dos quais pode ser pensado como uma saída de um modelo de regressão logística diferente, ou seja, não estamos apenas realizando a mesma regressão logística repetidamente. Portanto, não é um grande salto pensar que é possível que a combinação destes tenha capacidades expressivas maiores do que o modelo de regressão logística padrão (e também foi demonstrado na prática e na teoria ).
fonte