A engenharia de recursos geralmente é um componente importante do aprendizado de máquina (foi muito utilizado para ganhar a Copa KDD em 2010 ). No entanto, acho que a maioria das técnicas de engenharia apresenta
- destruir qualquer significado intuitivo dos recursos subjacentes ou
- são muito específicos para um domínio específico ou mesmo para determinados tipos de recursos.
Um exemplo clássico do primeiro seria a análise de componentes principais. Parece-me que qualquer conhecimento que um especialista no assunto teria sobre os recursos seria destruído pela conversão desses recursos em componentes principais.
Compare isso com uma técnica simples de converter uma data em recursos para "dia do mês" e "dia da semana". O significado subjacente ainda é mantido nos novos recursos, mas obviamente essa técnica específica se aplica apenas a datas e não a recursos arbitrários.
Existe algum corpo padrão de técnicas de engenharia de recursos que não destruam o significado dos recursos subjacentes e também sejam aplicáveis a domínios arbitrários (ou pelo menos uma grande variedade de domínios)?
fonte
Respostas:
Estou ciente de um método de decomposição (mas talvez haja mais ...) que pode ser útil em cenários como você descreve. É como 2D-PCA - um método de decomposição de alta ordem em que a decomposição (isto é, os fatores) tem algum significado. Você pode ver exemplos e ler sobre isso aqui e aqui e tentar aqui
fonte
Métodos recentes de aprendizado profundo usando a máquina Restricted Boltzmann mostraram recursos interessantes em vários tipos de dados (áudio, imagens, texto).
Como esses métodos criam um modelo generativo, geralmente é possível gerar amostras muito boas a partir do modelo.
Confira as publicações de Hinton. http://www.cs.toronto.edu/~hinton/
Esses métodos não são totalmente gerais (executam o mesmo código em todos os dados), mas o modelo subjacente é geralmente semelhante.
fonte