Trabalhando no problema de regressão, comecei a pensar na representação do recurso "dia da semana". Gostaria de saber qual abordagem teria melhor desempenho:
- uma característica; valor 1/7 para segunda-feira; 2/7 para terça-feira ...
- 7 recursos: (1, 0, 0, 0, 0, 0, 0) para segunda-feira; (0, 1, 0, 0, 0, 0, 0) para terça-feira ...
É difícil mensurá-lo devido a diferenças na configuração da rede. (Seis recursos adicionais devem ser refletidos no número de nós ocultos, acredito).
O número de todos os recursos é de cerca de 20. Uso backprop simples para aprender uma rede neural de feed-forward comum.
machine-learning
neural-networks
feature-construction
Oepas Dost
fonte
fonte
Respostas:
Sua segunda representação é mais tradicional para variáveis categóricas como dia da semana.
Isso também é conhecido como criar variáveis fictícias e é um método amplamente usado para codificar variáveis categóricas. Se você usou a codificação 1-7, está dizendo ao modelo que os dias 4 e 5 são muito semelhantes, enquanto os dias 1 e 7 são muito diferentes. De fato, os dias 1 e 7 são tão parecidos quanto os dias 4 e 5. A mesma lógica vale para codificação de 0 a 30 nos dias do mês.
O dia do mês é um pouco mais complicado, porque enquanto toda semana tem os mesmos 7 dias, nem todo mês tem os mesmos 30 dias: alguns meses têm 31 dias e outros têm 28 dias. Como as semanas e os meses são cíclicos, você pode usar transformações de quatro camadas para convertê-las em variáveis lineares suaves.
Por exemplo ( usando R, minha linguagem de programação preferida ):
(Dimensionei as variáveis seno / cosseno para 0/30, em vez de -1/1, para que o gráfico pareça melhor)
Como você pode ver, enquanto a "variável dia do mês" bruta volta a zero no final de cada mês, as transformações seno e cosseno fazem uma transição suave que permite ao modelo saber que os dias no final de um mês são semelhantes a dias no início do próximo mês.
Você pode adicionar o restante dos termos de quatro camadas da seguinte maneira:
Cada par de ondas seno / cosseno forma um círculo:
Esta página tem uma explicação realmente útil de como manipular ondas seno e cosseno.
fonte