Ich wollte wissen, wie viel maschinelles Lernen optimiert werden muss. Soweit ich gehört habe, ist Statistik ein wichtiges mathematisches Thema für Menschen, die mit maschinellem Lernen arbeiten. Ebenso wie wichtig ist es für jemanden, der mit maschinellem Lernen arbeitet, etwas über konvexe oder nichtkonvexe Optimierung zu lernen?
machine-learning
optimization
Ronald Grayson
quelle
quelle
Antworten:
Ich sehe das so, dass Statistik / maschinelles Lernen Ihnen sagt, was Sie optimieren sollten, und Optimierung ist, wie Sie es tatsächlich tun.
Man betrachte beispielsweise lineare Regression mit wo E ( ε ) = 0 und V eine r ( ε ) = σ 2 I . Statistik sagt uns , dass dies (oft) ein gutes Modell, aber wir unsere aktuellen Schätzung finden β durch ein Optimierungsproblem zu lösenY.= Xβ+ ε E( & epsi; ) = 0 Va r ( ε ) = σ2ich β^
Die Eigenschaften von β sind wir durch Statistiken bekannt , so dass wir wissen , dass dies ein gutes Optimierungsproblem zu lösen. In diesem Fall ist es eine einfache Optimierung, aber dies zeigt immer noch das allgemeine Prinzip.β^
Allgemeiner kann viel des maschinellen Lernens als Lösung angesehen werden f = arg min f ∈ F 1 wobei ich dies ohne Regularisierung schreibe, aber das könnte leicht hinzugefügt werden.
Eine Vielzahl von Forschungen in der statistischen Lerntheorie (SLT) hat die Eigenschaften dieser Argminima untersucht, unabhängig davon, ob sie asymptotisch optimal sind oder nicht, in welchem Verhältnis sie zur Komplexität von stehen und in vielen anderen Fällen . Aber wenn Sie tatsächlich bekommen f , oft am Ende mit einer schwierigen Optimierung und es ist eine ganz eigene Gruppe von Menschen , die dieses Problem studieren. Ich denke, die Geschichte von SVM ist hier ein gutes Beispiel. Wir haben die SLT-Leute wie Vapnik und Cortes (und viele andere), die gezeigt haben, dass SVM ein gutes Optimierungsproblem ist. Aber es waren andere wie John Platt und die LIBSVM-Autoren, die dies in der Praxis möglich machten.F f^
Um Ihre genaue Frage zu beantworten, ist es sicherlich hilfreich, einige Optimierungen zu kennen, aber im Allgemeinen ist niemand ein Experte in all diesen Bereichen, sodass Sie so viel wie möglich lernen, aber einige Aspekte werden für Sie immer eine Art Black Box sein. Möglicherweise haben Sie die SLT-Ergebnisse hinter Ihrem bevorzugten ML-Algorithmus nicht richtig untersucht, oder Sie kennen die Funktionsweise des verwendeten Optimierers nicht genau. Es ist eine lebenslange Reise.
quelle
In der Praxis kümmern sich viele Pakete um die Optimierung und die meisten mathematischen Details für Sie. Zum Beispiel kann TensorFlow automatisch einen stochastischen Backprop + Gradientenabstieg durchführen, um neuronale Netze zu trainieren (Sie müssen nur die Lernrate angeben). Bei den ML-Tools von scikit-learn müssen Sie in der Regel nicht wissen, wie die Optimierung tatsächlich abläuft, sondern können nur einige Optimierungsparameter festlegen und den Rest erledigen (z. B. die Anzahl der Iterationen, für die der Optimierer ausgeführt wird). Zum Beispiel können Sie eine SVM trainieren, ohne sich mit Scikit-Learn auskennen zu müssen. Geben Sie einfach die Daten und den Kerneltyp ein und fahren Sie fort.
Allerdings kann die Kenntnis der grundlegenden Optimierung (z. B. auf der Ebene von Boyd und Vandenberghe's Convex Optimization / Bertsekas 'nichtlinearer Programmierung) beim Entwurf und der Analyse von Algorithmen / Problemen hilfreich sein, insbesondere wenn Sie an theoretischen Fragen arbeiten. Oder Sie implementieren die Optimierungsalgorithmen selbst.
Beachten Sie, dass die Lehrbuchoptimierungsmethoden häufig Optimierungen erfordern, um in der Praxis in modernen Umgebungen zu funktionieren. Möglicherweise verwenden Sie nicht die klassische stochastische Robbins-Munroe-Gefälle-Abfahrt, sondern eine schneller beschleunigte Variante. Dennoch können Sie bei der Arbeit mit den Optimierungsproblemen einige Erkenntnisse gewinnen.
quelle