Por que os recursos derivados são usados ​​em redes neurais?

13

Por exemplo, deseja-se prever os preços da habitação e ter duas características de entrada, o comprimento e a largura da casa. Às vezes, também se incluem recursos de entrada polinomial 'derivados', como área, que é comprimento * largura.

1) Qual o sentido de incluir recursos derivados? Uma rede neural não deveria aprender a conexão entre comprimento, largura e preço durante o treinamento? Por que o terceiro recurso, área, não é redundante?

Além disso, às vezes também vejo que as pessoas executam algoritmos de seleção genética nos recursos de entrada para reduzir seu número.

2) Qual o sentido de reduzir os recursos de entrada se todos eles contiverem informações úteis? A rede neural não deve atribuir pesos apropriados para cada recurso de entrada de acordo com sua importância? Qual é o sentido de executar algoritmos de seleção genética?

siamii
fonte

Respostas:

8

neuneuneu

2): Existem duas razões que conheço para isso. Primeiro, se você tiver milhares de recursos fornecidos (como acontece frequentemente em dados do mundo real) e tiver pouco tempo de CPU para treinamento (também uma ocorrência comum), poderá usar vários algoritmos de seleção de recursos diferentes para reduzir o espaço de recursos antecipadamente. As abordagens baseadas em princípios para isso costumam usar medidas teóricas da informação para selecionar os recursos com o maior poder preditivo. Segundo, mesmo que você possa se dar ao luxo de treinar todos os dados e todos os recursos que você possui, as redes neurais são frequentemente criticadas por serem modelos de 'caixa preta'. A redução antecipada do espaço de recursos pode ajudar a atenuar esse problema. Por exemplo, um usuário que olha para o NN não pode dizer com facilidade se um peso de 0,01 significa "0, mas o processo de otimização não chegou lá" ou "

John Doucette
fonte
0

1) A maioria das redes neurais não pode realizar multiplicações; eles podem calcular somas (que são alimentadas individualmente através de uma função de ativação ). Em vez disso, devem estimar essas multiplicações se forem importantes, o que requer muitos neurônios, especialmente se os fatores puderem abranger grandes intervalos.

Se a área da casa for de fato uma característica importante, você ajudará a rede se a fornecer, porque ela poderá usar os neurônios necessários para estimar a multiplicação da largura e do comprimento. fazer outras coisas.

Portanto, a inclusão de recursos polinomiais pode, em alguns casos, ser benéfica para a rede, mas em outros casos não tem efeito significativo. Além disso, os recursos polinomiais são apenas um tipo de recurso derivado que pode ser útil para a rede. Outro tipo de recurso derivado que pode ser útil é, por exemplo, os logaritmos das variáveis ​​de entrada (consideradas positivas) que a rede também deve estimar para obter.

Uma idéia seria permitir que a rede realizasse mais operações entre números do que apenas adições, para permitir o cálculo eficiente de coisas como os próprios recursos polinomiais, mas não está claro como isso funcionaria. Uma arquitetura que parece algo semelhante é a rede de soma de produtos .

2) Exceto pelo custo computacional mencionado por John, aumentar o número de parâmetros no modelo, o que inevitavelmente acontece quando você introduz mais entradas, também aumenta o risco de a rede se ajustar demais , especialmente se você tiver poucos dados de treinamento.

No entanto, isso pode ser muito menos problemático se um bom método de regularização for usado. (O abandono parece funcionar extremamente bem para isso) Teoricamente, com um método de regularização suficientemente bom, o excesso de ajustes não deve ser um problema. Como Hinton aponta, um ser humano tem na ordem de 10 ^ 14 sinapses no cérebro (correspondendo às conexões na rede neural), mas vive apenas na ordem de 10 ^ 9 segundos, mas ainda parecemos ser capazes de generalizar muito bem. Então, claramente, ter muitos parâmetros que podem ser ajustados deve ser apenas uma vantagem com o algoritmo correto.

Olá adeus
fonte