機械学習で最適化が必要な量を知りたいと思いました。私が聞いたことから、統計は機械学習で働く人々にとって重要な数学的トピックです。同様に、機械学習で働いている人にとって、凸または非凸の最適化について学ぶことはどれほど重要ですか?
機械学習で最適化が必要な量を知りたいと思いました。私が聞いたことから、統計は機械学習で働く人々にとって重要な数学的トピックです。同様に、機械学習で働いている人にとって、凸または非凸の最適化について学ぶことはどれほど重要ですか?
回答:
私がそれを見る方法は、統計/機械学習が最適化すべきものを教えてくれるということであり、最適化は実際にそうする方法です。
例えば、線形回帰を考慮ここで、E (ε )= 0とV R (ε )= σ 2 Iは。統計によると、これは(多くの場合)良いモデルであることを教えてくれるが、我々は我々の実際の見積見つけるβを最適化問題を解くことにより、
正確な質問に答えるには、最適化を知ることは確かに役立ちますが、一般的にこれらのすべての分野の専門家は誰もいないので、できる限り学びますが、いくつかの側面は常にあなたにとってブラックボックスのようなものになります。お気に入りのMLアルゴリズムの背後にあるSLTの結果を適切に調査していないか、使用しているオプティマイザーの内部動作を知らない可能性があります。それは生涯の旅です。
実際には、多くのパッケージが最適化と大部分の数学の詳細を処理します。たとえば、TensorFlowはbackprop + stochastic gradient descentを実行して、ニューラルネットを自動的にトレーニングします(学習率を指定するだけです)。scikit-learnのMLツールは一般に、最適化が実際にどのように行われるかについて実際に知る必要はありませんが、いくつかのチューニングパラメーターを設定するだけで残りを処理できます(オプティマイザーが実行する反復回数など)。たとえば、scikit-learnで数学を知らなくてもSVMをトレーニングできます。データ、カーネルタイプを入力し、先に進みます。
そうは言っても、基本的な最適化(たとえば、ボイドとバンデンバーグのConvex Optimization / Bertsekasの非線形プログラミングのレベル)を知ることは、特に理論に取り組んでいる場合、アルゴリズム/問題の設計と分析に役立ちます。または、最適化アルゴリズムを自分で実装します。
教科書の最適化方法は、実際に最新の設定で実際に機能するように調整する必要があることが多いことに注意してください。たとえば、古典的なロビンスマンロー確率的勾配降下法ではなく、高速化されたバリアントを使用する場合があります。それでも、最適化の問題を処理することにより、いくつかの洞察を得ることができます。