Je voulais savoir dans quelle mesure le machine learning doit être optimisé. D'après ce que j'ai entendu, les statistiques sont un sujet mathématique important pour les personnes travaillant avec l'apprentissage automatique. De même, est-il important pour une personne travaillant avec l'apprentissage automatique de se renseigner sur l'optimisation convexe ou non convexe?
machine-learning
optimization
Ronald Grayson
la source
la source
Réponses:
Selon moi, les statistiques / l'apprentissage automatique vous indiquent ce que vous devriez optimiser, et l'optimisation est la façon dont vous le faites réellement.
Pour répondre à votre question exacte, connaître une optimisation est certainement utile, mais généralement, personne n'est un expert dans tous ces domaines, vous apprenez donc autant que possible, mais certains aspects seront toujours une sorte de boîte noire pour vous. Peut-être que vous n'avez pas correctement étudié les résultats SLT derrière votre algorithme ML préféré, ou peut-être que vous ne connaissez pas le fonctionnement interne de l'optimiseur que vous utilisez. C'est un voyage de toute une vie.
la source
En pratique, de nombreux packages prennent en charge l'optimisation et la plupart des détails mathématiques pour vous. Par exemple, TensorFlow peut effectuer une descente de gradient backprop + stochastique pour former automatiquement des réseaux de neurones (il vous suffit de spécifier le taux d'apprentissage). Les outils ML de scikit-learn ne nécessitent généralement pas que vous sachiez réellement comment l'optimisation se produit réellement, mais peut-être définissez simplement certains paramètres de réglage et il s'occupe du reste (par exemple, le nombre d'itérations pour lesquelles l'optimiseur s'exécute). Par exemple, vous pouvez entraîner un SVM sans connaître les mathématiques dans scikit-learn - il suffit d'alimenter les données, le type de noyau et de passer à autre chose.
Cela dit, connaître l'optimisation de base (par exemple au niveau de l'optimisation convexe de Boyd et Vandenberghe / programmation non linéaire de Bertsekas) peut être utile dans la conception et l'analyse d'algorithmes / problèmes, surtout si vous travaillez sur des trucs théoriques. Ou implémentez vous-même les algorithmes d'optimisation.
Notez que les méthodes d'optimisation des manuels scolaires nécessitent souvent des ajustements pour fonctionner réellement dans la pratique dans des environnements modernes; par exemple, vous pourriez ne pas utiliser la descente de gradient stochastique Robbins-Munroe classique, mais une variante accélérée plus rapide. Néanmoins, vous pouvez obtenir des informations en travaillant avec les problèmes d'optimisation.
la source