理論的な機械学習のために凸最適化を研究する理由


27

私は博士号のために、理論的な機械学習、具体的には転移学習に取り組んでいます。

  • 好奇心から、なぜ凸最適化のコースを取る必要があるのですか?

  • 理論的機械学習の研究で、凸最適化から得られることは何ですか?


2
凸部、最適化部、またはその両方に反対するかどうかは不明です。
Mehrdad

受け入れた答えは明らかに間違っていることに注意してください。この質問をもう一度見て、より意味のある答えを選択することができます。
xji

Convex OptimizationとMath Optimizationは、モデルを構築するためのツールです。この技術は、モデルを構築し、制御を行い、ある程度の不確かさまで理解可能な現象のパラメーターを見つけるために使用されます。
ブルズィーズ

機械学習は、カニング法のような関数近似を構築することに関するものであり、損失をほぼ最小化する概念選択関数(非凸または最悪の場合はインジケーター変数を含む)を知っている限り、MLは非凸最適化で適切に機能します。
ブルズィー

FYI「凸最適化が深い学習に使用することはできません- S.Boyd」 - youtu.be/uF3htLwUHn0?t=2810
bruziuz

回答:


59

機械学習アルゴリズムは常に最適化を使用します。損失やエラーを最小限に抑えるか、ある種のスコア関数を最大限にします。勾配降下法は、おそらくあらゆる機械学習コースでカバーされる「hello world」最適化アルゴリズムです。回帰モデルまたは分類モデルの場合は明らかですが、クラスタリングなどのタスクを使用しても、データに最適なソリューションを探しています(たとえば、k-meansはクラスター内の平方和を最小化します)。そのため、機械学習アルゴリズムがどのように機能するかを理解したい場合、最適化についてさらに学習することが役立ちます。さらに、ハイパーパラメーターの調整などを行う必要がある場合は、最適化も直接使用しています。

凸関数を処理する代わりに、以下のような曲面から遠く離れた損失曲面に遭遇することが多いため、機械学習にとって凸最適化はそれほど興味深いものではない、と主張することができます。

実際の非凸状損失の風景の例。

(ソース:https ://www.cs.umd.edu/~tomg/projects/landscapes/および arXiv:1712.09913

それにもかかわらず、他の回答で述べたように、凸最適化はより速く、よりシンプルで、計算集約的ではないので、問題を「凸化」し(凸最適化を使いやすく)、非凸最適化を使用する方が簡単です。たとえば、勾配降下法などのアルゴリズムは、機械学習、特にニューラルネットワークで一般的に使用されます。これは、それらが「機能」し、スケーリングし、さまざまなソフトウェアに広く実装されているにもかかわらず、落とし穴を見つけることができる最高のものではないためです、NIPS 2017でのアリラヒミの講演で議論されたとおり

一方、進化アルゴリズムなどの非凸最適化アルゴリズムは、MLコミュニティでますます認識されているようです。たとえば、神経進化によるニューラルネットワークのトレーニングは、最近の研究トピックのようです(arXiv:1712.07897も参照)。


5
この回答は「凸」に対応していないようです
ハイタオドゥ

@ hxd1011私はそれについてコメントしました。
ティム

素晴らしい答えです!最適化がMLにとってどれほど重要であるか、および勾配降下で機能する凸近似を使用してMLがどのように単純化されるかについて、本当に対処します。
ChuckCottrill

これは受け入れられた答えでなければなりません。
ヤンKukacka

11

ここには2つの質問があると思います。

  • 最適化を検討する理由
  • 凸最適化の理由

@Timには最適化の理由に関する良い答えがあると思います。機械学習に興味のある方には、継続的な最適化をマスターすることを強くお勧めします。最適化プロセス/時間の経過とともにより良いソリューションを見つけることが、コンピューターの学習プロセスだからです。

私たちが凸関数に興味を持っている理由についてもっと話したいです。その理由は簡単です。凸最適化は「解決が容易」であり、解決するための信頼できるアルゴリズムがたくさんあります。

しかし、世界は凸面ですか?いいえ。なぜ凸性に取りつかれていますか?この比phorを確認してください

警官は、酔っぱらいが街灯の下で何かを探しているのを見て、酔っぱらいが何を失ったのか尋ねます。彼は鍵をなくしたと言い、二人とも一緒に街灯の下を見る。数分後、警官は彼がここで彼らを失ったと確信しているかどうか尋ねます、そして、飲酒は答えます、そして、彼は公園で彼らを失ったと。警官は、なぜここで捜しているのかと尋ね、酔った人は「これが光のある場所だ」と答えます。


2
しかし、比phor的に、だからこそ懐中電灯を手に入れます。暗闇の中でキーを検索することは不可能ではないので、問題を解決方法を知っているものに適応させます。非凸アルゴリズムの問​​題に取り組み、300万ドルの費用がかかるソリューションを考え出す場合、同様の問題を凸最適化で処理し、答えを出して、費用が2になる非凸問題の解決策を見つけます。百万ドル、私はより良い答えを見つけました。
-prosfilaes

この答えは非常に多くのレベルで欠陥があります。凸面解析を街灯効果と比較するのは間違っています。このトピックの詳細については、BoydとVandenbergheによる入門の教科書Convex Optimizationを参照することをお勧めします。
Digio

2

最も重要なことは、利用可能な最適なソリューションがない問題に機械学習が適用されることです。最善の方法は、適切な近似値を見つけることです。

対照的に、最適化の問題がある場合、最適な解決策がありますが、通常、妥当な時間または妥当な処理能力では見つけることができません。

使用するツールとアルゴリズムは根本的に異なります。そのため、最適化クラスを取得してもすぐにはメリットはないと言いますが、関連するフィールドについて少し知っておくとよいでしょう。最適化の問題を認識できる場合は、機械学習アルゴリズムではなく最適化アルゴリズムに取り組む必要があることがわかります。それだけでも私は言う価値があります。


33
はい、機械学習では最適な近似を探しています。しかし、あなたはどちらも「根本的に異なる」と言って間違っています。MLアルゴリズムは、最適化を使用して損失関数を最小化し、データと目的に応じて最適なパラメーターを見つけます。ハイパーパラメーターを調整するとき、それらの最適な組み合わせを探しています。いずれの場合も、目標を達成するために何かを最大化または最小化しているため、何らかの最適化を使用しています。
ティム

@ティム:確かに、私はそれとは違う言い方をするべきでした。
トビー

17
同意する場合は、おそらくそれを言い換えるべきです。
ティム

19
この答えは明らかに間違っています。機械学習の問題の多くは、最適化の問題に要約されています。
モニカを

2
「最適化問題では通常、最適な解決策が見つからない」という主張は間違っています。特に、凸最適化(OPが求めているもの)のコンテキストでは、最適なソリューションを簡単に見つけることができます(たとえば、学習率が低下する勾配降下は、凸関数の最適に収束することが保証されています)。大きな問題は、機械学習の多くの問題が非凸であるということです。
ヤンKukacka

2

hxd1011が述べたように、凸問題は理論的にも(通常)実際にも解決が容易です。そのため、非凸問題であっても、多くの最適化アルゴリズムは「ステップ1.問題を凸に縮小する」(おそらくwhileループ内で)で始まります。

同様のことは、非線形ルートファインディングでも発生します。通常、ソリューションは(たとえば、ニュートンの方法を使用して)「ステップ1.線形問題に還元します。これを解決する方法がわかっているためです」。


1

ディープラーニング(ニューラルネットワークで実際に広く使用されている転送学習)アプリケーションに適用される(凸)最適化に関心がある場合は、httpの第8章(ディープニューラルネットワークのトレーニングの最適化)を読むことを強くお勧めします://www.deeplearningbook.org/

凸最適化と、それがディープニューラルネットワークに適用されたとき、まだそれほど成功していない理由についての議論があります。もちろん、おそらく現在のコンセンサスを変えるこの分野の研究を行うことができます!


0

Jerome H. Friedmanから聞いたように、機械学習で開発されたメソッドは、実際には機械学習コミュニティに属していません。

私の観点から見ると、機械学習は他の分野のさまざまな方法の集まりに似ています。

統計学習の観点から、回帰と分類に関する3つの主な質問は次のとおりです。

  1. 近似器を引き出す関数ファミリーとは何ですか

  2. 関数をプルする方法の基準は何ですか

  3. 最適な機能を見つける方法とは


(1)で何らかの建設的な方法で操作するには-数学の最適化を使用することがどのように役立つかはそれほど明らかではありません

(2)に対して建設的な方法で操作すること-目的が目標であることは明らかです。そして、数学の最適化はそれに役立ちます。

(3)に対して何らかの建設的な方法で操作するには、数学の最適化が必要です。


数学の最適化にはいくつかの部分があります。

  1. 凸最適化/凸解析-数学の非常にクールな領域。非差別性は問題ではありません。また、凸関数の50の一般化があります。アプリケーションの観点から見ると、準凸と対数凹がさらに2つ有用です。

また、「確率的凸最適化の解決方法を誰も知らない」など、何らかの方法で「確率論」に対処する方法もあります

  1. NonConvex最適化-通常、これによって人々は継続的な目標を意味しますが、曲率は異なる場合があります。この惑星の人々は、それを正確に解決する方法を知りません。そして実際、すべての方法は(1)

  2. コンビナトリアル最適化-(2)よりもさらにワイルドになりました。マイナス演算子を適用することさえできないパラメーターになりました。1つの例は、ディシジョンツリーの「リージョン」です。そのため、対処方法は2つあります。a)問題を凸状にし、(1)のメソッドを使用しますb)総当たり攻撃を行います。膨大な数のパラメーターでは機能しません。c)ブルートフォースを行いますが、いくつかの貪欲な手順があります。それはCARTが行うことです。


だから、少なくとも私はあなたにそれをお話しすると思います:

I)凸最適化は、ほとんどの最適化問題の中心です。

II) 「01:15最適化は、実際にはMLやAIよりも大きなテーマですが、実際にはより大きなテーマです。」https://www.youtube.com/watch?v=uF3htLwUHn0&t=992s


これは答えとしてこのサイトの基準から少し簡潔です-あなたはそれを拡張できると思いますか?それ以外の場合は、コメントとして最適です。
シルバーフィッシュ

OK。拡大しますが、実際にはさまざまな分野との関係についての記事を書くことができます。実際、私はスティーブン・P・ボイドに、人々が以前にいつ考えたかに関連する質問について尋ねました-youtu.be/XV1E-Jnc4SU?t=242。彼はこのごろ世界が壊れていると言いました。
-bruziuz

1
@Silverfishを更新しました。1文ではなく長いテキストになりました。
ブルズィー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.