A transformação de recursos (poder, log, Box-Cox) é necessária na aprendizagem profunda?

7

Li que é benéfico aplicar certas transformações de recursos comuns nos conjuntos de dados antes que eles atinjam os modelos de aprendizado de máquina. Eles são baseados nas distribuições dos recursos do conjunto de dados; por exemplo, aplicar transformações de log a recursos normalmente distribuídos inclinados. Alguns exemplos aqui .

Agora, pelo que entendi, o principal benefício do aprendizado profundo é a "engenharia automática de recursos" (também conhecida como "aprendizado de recursos"). Eu sei que isso inclui combinações de recursos; mas meu palpite diz que também inclui transformações de recursos aprendidas, conforme mencionado acima? Portanto, ao usar redes profundas com hypers bem ajustados, as transformações de recursos podem ser removidas com segurança das responsabilidades humanas - isto é, jogar fora todo esse material de log / square / box-cox?

[Editar] Extra: isso também lida com a "seleção de recursos" (decidindo quais entradas não incluir) para você?

lefnire
fonte

Respostas:

1

A regra geral é: quanto mais dados você tiver disponível, menos precisará se preocupar com a engenharia de recursos (que basicamente está inserindo algum conhecimento prévio no modelo, com base na experiência no domínio).

Teoricamente (com grande número suficiente de amostras), você poderia resolver a imagenet sem usar nenhuma complicação, apenas uma profunda rede de feedforward. Mas, sabendo que os pixels estão espacialmente correlacionados (o que torna as convoluções uma maneira muito melhor de resolver esse problema), você pode projetar um algoritmo que seja muito mais eficiente em termos de dados.

Lugi
fonte
boa explicação sobre "engenharia de recursos". No meu mundo, isso é tratado pelos usuários, fornecendo uma lista de possíveis preditores e um modelo inicial ... então a diversão começa quando os recursos são testados e a estrutura latente detectada.
IrishStat
0

Então, a maneira como vejo a engenharia de recursos do ala-box cox é que temos um modelo que requer normalidade, não temos dados normais, então fazemos uma transformação para obter os Dados normais. Então, por um lado, é verdade que a rede neural não requer dados normalizados, então por que engenheiro de recursos? Por outro lado, embora uma rede neural possa eventualmente chegar lá, às vezes a engenharia de recursos feita por seres humanos pode ajudar enormemente a taxa de convergência inicial. Por exemplo, no caso de dados de sinal multicanal, a decomposição de Fourier e o cálculo das correlações cruzadas antecipadamente aumentam muito a velocidade com que a Rede Neural pode chegar à classificação (para dar um exemplo realmente específico). Ou, para dar um exemplo mais sensato, se você souber que seus dados têm muitos valores discrepantes e eles não são importantes, remover os discordantes é uma forma de engenharia de recursos. A rede pode eventualmente aprender a ignorar, mas pode levar uma eternidade. Portanto, quando tiver certeza de que a transformação destacará algo importante sobre seus dados, transforme-os, se não, talvez não.

Emu anônimo
fonte