Redes neurais artificiais EQUIVALENTES à regressão linear com características polinomiais?

11

Quero melhorar meu entendimento das redes neurais e seus benefícios em comparação com outros algoritmos de aprendizado de máquina. Meu entendimento é o seguinte e minha pergunta é:

Você pode corrigir e complementar minha compreensão, por favor? :)

Meu entendimento:

(1) Redes neurais artificiais = Uma função que prediz valores de saída dos valores de entrada. De acordo com um Teorema Universal de Aproximação ( https://en.wikipedia.org/wiki/Universal_approximation_theorem ), geralmente você pode ter qualquer função de previsão possível (embora deva se comportar bem), com neurônios suficientes.

(2) O mesmo se aplica à regressão linear, considerando polinômios dos valores de entrada como valores de entrada adicionais, pois é possível aproximar (comparar a expansão de Taylor) cada função bem por polinômios.

(3) Isso significa que (em certo sentido, com relação aos melhores resultados possíveis), esses dois métodos são equivalentes.

(4) Portanto, sua principal diferença reside em qual método se presta a uma melhor implementação computacional. Em outras palavras, com qual método você pode encontrar, com base em exemplos de treinamento, bons valores mais rápidos para os parâmetros que eventualmente definem a função de previsão.

Congratulo-me com quaisquer pensamentos, comentários e recomendações para outros links ou livros para melhorar meu pensamento.

tyrex
fonte
2
tanhndeπ|nx|2
@ user1952009 - Stone-Weierstrass não implica uma aproximação global arbitrariamente boa, devido à uniformidade da aproximação no teorema?
jbowman
frϵfr,ϵsup|x|r|f(x)fr,ϵ(x)|ϵx0
1
Isso é potencialmente uma duplicata do stats.stackexchange.com/questions/41289/…. Eu sinalizaria essa pergunta, mas com a recompensa, acho que só vou comentar aqui :)
Hugh Perkins
1
+1 em @HughPerkins para o link para um Q relacionado e perspicaz. Mas, embora as respostas na pergunta relacionada forneçam informações sobre a questão aqui (por exemplo, como Stephan Kolassa explica, o aNN leva em consideração a não linearidade como padrão, enquanto a regressão apenas o faz. quando especificamente modelado por meio de técnicas adicionais) eu não sinalizaria por duplicado . Você perguntou qual tipo de modelo pode obter melhores resultados, enquanto essa pergunta pede especificamente para explicar se dois métodos são semelhantes ou não em seus resultados e em sua generalização.
IWS

Respostas:

7

Aqui está o acordo:

Tecnicamente, você escreveu frases verdadeiras (ambos os modelos podem aproximar-se de qualquer função "não muito louca", com parâmetros suficientes), mas essas frases não o levam a lugar algum!

Por que é que? Bem, olhe mais de perto a teoria da aproximação universal ou qualquer outra prova formal de que uma rede neural possa calcular qualquer f (x) se houver neurônios suficientes.

Todos esses tipos de provas que eu vi usam apenas uma camada oculta.

Dê uma olhada rápida aqui http://neuralnetworksanddeeplearning.com/chap5.html para alguma intuição. Existem trabalhos mostrando que, em certo sentido, o número de neurônios necessários cresce exponencialmente se você estiver usando apenas uma camada.

Então, enquanto na teoria você está certo, na prática, você não tem uma quantidade infinita de memória, então você realmente não quer treinar uma rede de 2 ^ 1000 neurônios, não é? Mesmo que você tenha uma quantidade infinita de memória, essa rede será superestimada, com certeza.

Na minha opinião, o ponto mais importante da ML é o ponto prático! Vamos expandir um pouco nisso. O grande problema aqui não é apenas como os polinômios aumentam / diminuem muito rapidamente fora do conjunto de treinamento. De modo nenhum. Como um exemplo rápido, o pixel de qualquer imagem está dentro de um intervalo muito específico ([0,255] para cada cor RGB). Assim, você pode ter certeza de que qualquer nova amostra estará dentro do intervalo de valores do conjunto de treinamento. Não. O grande problema é: essa comparação não é útil para começar (!).

Sugiro que você experimente um pouco com o MNIST e tente ver os resultados reais que pode obter usando apenas uma única camada.

As redes práticas usam muito mais do que uma camada oculta, às vezes dezenas (bem, redefina a rede ainda mais ...) de camadas. Por uma razão. Essa razão não está comprovada e, em geral, a escolha de uma arquitetura para uma rede neural é uma área importante de pesquisa. Em outras palavras, embora ainda precisemos saber mais, os dois modelos que você comparou (regressão linear e NN com apenas uma camada oculta), para muitos conjuntos de dados, não são de todo úteis!

A propósito, no caso de você entrar no ML, existe outro teorema inútil que é realmente uma 'área de pesquisa' atual - dimensão PAC (provavelmente aproximadamente correta) / VC. Vou expandir isso como um bônus:

Se a aproximação universal afirma basicamente que, dada uma quantidade infinita de neurônios, podemos aproximar qualquer função (muito obrigado?), O que o PAC diz em termos práticos é que, dada (praticamente!) Uma quantidade infinita de exemplos rotulados, podemos chegar o mais perto possível queremos a melhor hipótese dentro do nosso modelo. Foi absolutamente hilário quando calculei a quantidade real de exemplos necessários para que uma rede prática estivesse dentro de uma taxa de erro prática desejada e com alguma probabilidade aceitável :) Era mais do que o número de elétrons no universo. O PS para aumentá-lo também pressupõe que as amostras sejam IID (isso nunca é verdade!).

Yoni Keren
fonte
Então, as redes neurais artificiais são equivalentes à regressão linear com características polinomiais ou não? Sua resposta parece focar na quantidade de camadas e nos neurônios necessários, mas não explica por que essas duas análises devem / podem ser equivalentes. A adição de mais camadas (ocultas) torna uma rede neural capaz de lidar com (mesmo) mais funções do que uma regressão com polinômios? E, como o OP se perguntou em uma resposta, que tal a validade externa / desempenho fora da amostra desses modelos (e as vantagens e desvantagens entre o uso de opções e desempenho mais complexos do modelo)?
IWS
Refiro-lhe a minha primeira frase: "Tecnicamente você escreveu frases verdadeiras".
Yoni Keren #
Bem, perguntei porque o raciocínio da sua afirmação de que "o OP escreveu sentenças verdadeiras" não estava claro para mim com base na sua resposta. Você seria tão gentil em elaborar isso?
IWS
Com certeza. Isso é melhor ou você acha que algo ainda não está claro?
Yoni Keren
7

É verdade que qualquer função pode ser aproximada arbitrariamente, tanto por algo que conta como uma rede neural quanto por algo que conta como um polinômio.

Primeiro de tudo, lembre-se de que isso é verdade para muitas construções. Você pode aproximar qualquer função combinando senos e cossenos (transformadas de Fourier) ou simplesmente adicionando muitos "retângulos" (não uma definição realmente precisa, mas espero que você entenda).

Segundo, bem como a resposta de Yoni, sempre que você está treinando uma rede ou ajustando uma regressão com muitos poderes, o número de neurônios ou o número de poderes é fixo. Então você aplica algum algoritmo, talvez descida de gradiente ou algo assim, e encontra os melhores parâmetros com isso. Os parâmetros são os pesos em uma rede e os coeficientes para um grande polinômio. A potência máxima que você absorve em um polinômio, ou o número de neurônios usados, é chamado de hiperparâmetro. Na prática, você experimentará alguns deles. Você pode argumentar que um parâmetro é um parâmetro, com certeza, mas não é assim que isso é feito na prática.

Porém, com o aprendizado de máquina, você não quer uma função que se encaixe perfeitamente nos seus dados. Isso não seria muito difícil de conseguir, na verdade. Você quer algo que se encaixe bem, mas provavelmente também funciona para pontos que você ainda não viu. Veja esta imagem, por exemplo, tirada da documentação para scikit-learn.

Uma linha é muito simples, mas a melhor aproximação não está à direita, está no meio, embora a função à direita se encaixe melhor. A função à direita faria algumas previsões bastante estranhas (e provavelmente subótimas) para novos pontos de dados, especialmente se eles caírem perto dos bits perversos à esquerda.

O motivo final para redes neurais com alguns parâmetros funcionando tão bem é que elas podem se encaixar em algo, mas não são realmente super ajustadas. Isso também tem muito a ver com a forma como são treinados, com alguma forma de descida estocástica do gradiente.

Gijs
fonte
2

Como ainda não foram fornecidas respostas (embora eu aceite o comentário de user1952009, que foi postado como resposta), deixe-me compartilhar o que aprendi nesse meio tempo:

(1) Parece-me que meu entendimento geralmente está correto, mas o diabo está nos detalhes.

(2) Uma coisa que faltou em "meu entendimento": quão boa será a hipótese parametrizada generalizar para dados fora do conjunto de treinamento? A natureza não polinomial das previsões da rede neural pode ser melhor por lá do que a regressão linear / polinomial simples (lembre-se de como os polinômios aumentam / diminuem muito rapidamente fora do conjunto de treinamento).

(3) Um link que explica mais a importância de poder calcular parâmetros rapidamente: http://www.heatonresearch.com/2017/06/01/hidden-layers.html

tyrex
fonte
2

Talvez este documento possa ajudá-lo:

Regressão polinomial como alternativa às redes neurais

O resumo diz:

Apesar do sucesso das redes neurais (NNs), ainda existe uma preocupação entre muitos sobre sua natureza de "caixa preta". Por que eles trabalham? Aqui, apresentamos um argumento analítico simples de que os RNs são de fato modelos de regressão essencialmente polinomiais. Essa visão terá várias implicações para as NNs, por exemplo, fornecendo uma explicação do motivo pelo qual os problemas de convergência surgem nas NNs e fornece uma orientação aproximada para evitar o excesso de ajustes. Além disso, usamos esse fenômeno para prever e confirmar uma propriedade multicolinearidade de RNs não relatados anteriormente na literatura. O mais importante é que, dada essa correspondência frouxa, pode-se optar por usar rotineiramente modelos polinomiais em vez de NNs, evitando assim alguns problemas importantes, como ter que definir muitos parâmetros de ajuste e lidar com questões de convergência. Apresentamos uma série de resultados empíricos; em cada caso, a precisão da abordagem polinomial corresponde ou excede a das abordagens NN. Está disponível um pacote de software de código aberto com vários recursos, polyreg.

lucazav
fonte