Comment ingénieur fonctionnalités pour l'apprentissage de la machine

Avez-vous des conseils ou de la lecture comment ingénieur fonctionnalités pour une machine de tâche d'apprentissage?
Bon les entités en entrée sont importants, même pour un réseau de neurones. Le choisi fonctionnalités affecteront le nombre nécessaire de neurones cachés et le nombre nécessaire d'exemples de formation.

L'exemple suivant est un problème, mais je suis intéressé par la fonctionnalité de l'ingénierie en général.

Une motivation exemple:
Ce serait une bonne entrée lorsque l'on regarde d'un puzzle (par exemple, 15-puzzle ou Sokoban)? Serait-il possible de reconnaître lequel des deux états est plus proche de l'objectif?