乗法重み更新法は、意思決定や予測に最もよく使われるアルゴリズム手法であり、ゲーム理論やアルゴリズム設計にも広く用いられています。最も単純な使用例は、専門家の助言に基づく予測の問題で、意思決定者はどの専門家の助言に従うかを反復的に決定する必要があります。この手法では、専門家に初期重み(通常は同一の初期重み)を割り当て、専門家のパフォーマンスの良し悪しのフィードバックに応じて、これらの重みを乗法的に反復的に更新します。パフォーマンスが悪い場合は重みを減らし、そうでない場合は重みを増やします。[ 1 ]この手法は、機械学習( AdaBoost、Winnow、Hedge)、最適化(線形計画問題の解決)、理論計算機科学( LPおよびSDPの高速アルゴリズムの考案)、ゲーム理論など、非常に多様な分野で繰り返し発見されています。
「乗法重み」とは、乗法重み更新法から派生したアルゴリズムで使用される反復規則を意味します。[ 2 ]これは、発見または再発見されたさまざまな分野で異なる名前で呼ばれています。
この手法の最も初期のバージョンは、 1950年代初頭にゲーム理論で提案された「仮想プレイ」と呼ばれるアルゴリズムにありました。GrigoriadisとKhachiyan [ 3 ]は、「仮想プレイ」のランダム化バリアントを適用して、乗法重みアルゴリズムを使用して2人ゼロサムゲームを効率的に解決しました。この場合、プレイヤーはより良い結果をもたらした行動に高い重みを割り当て、これらの重みに基づいて戦略を選択します。機械学習では、Littlestoneが乗法重み更新ルールの初期形式を彼の有名なwinnowアルゴリズムに適用しました。これは、MinskyとPapertの以前のパーセプトロン学習アルゴリズムに似ています。後に、彼はwinnowアルゴリズムを重み付き多数決アルゴリズムに一般化しました。FreundとSchapireは彼のステップに従い、winnowアルゴリズムをhedgeアルゴリズムの形で一般化しました。
乗法重みアルゴリズムは、計算幾何学でも広く応用されており、例えば、線形時間で変数の数に制限のある線形計画法 (LP)を解くケネス・クラークソンのアルゴリズムなどがある。 [ 4 ] [ 5 ]その後、ブロンニマンとグッドリッチは、 VC 次元が小さいハイパーグラフの集合被覆を見つけるために類似の方法を用いた。[ 6 ]
オペレーションズリサーチやオンライン統計的意思決定問題の分野において、加重多数決アルゴリズムとそのより複雑なバージョンは、それぞれ独立して発見されてきた。
コンピュータサイエンスの分野では、これまで研究者たちが、さまざまな文脈で使用される乗法更新アルゴリズム間の密接な関係を観察してきた。Youngは、高速LPアルゴリズムと、ランダム化丸めアルゴリズムの非ランダム化のためのRaghavanの悲観的推定法との類似性を発見した。KlivansとServedioは、学習理論におけるブースティングアルゴリズムをYaoのXOR補題の証明に関連付けた。GargとKhandekarは、Garg-KonemannとPlotkin-Shmoys-Tardosをサブケースとして含む凸最適化問題の共通フレームワークを定義した。[ 1 ]
ヘッジアルゴリズムは、ミラー降下の特殊なケースである。
関連する報酬を得るためには、n人の専門家の意見に基づいて二者択一の決定を下す必要があります。最初のラウンドでは、すべての専門家の意見に同じ重みが与えられます。意思決定者は、専門家の予測の過半数に基づいて最初の決定を下します。その後、各ラウンドで、意思決定者は、以前の予測の正確さに応じて、各専門家の意見の重みを繰り返し更新します。実際の例としては、明日雨が降るかどうか、あるいは株式市場が上昇するか下落するかを予測することが挙げられます。
敵対者と N 人の専門家から助言を受ける集約者との間で行われる逐次ゲームにおいて、集約者の目標はできるだけ少ない間違いを犯すことである。N 人の専門家の中に、常に正しい予測をする専門家がいると仮定する。半減アルゴリズムでは、一貫性のある専門家のみが保持される。間違いを犯した専門家は除外される。集約者は、すべての決定において、残りの専門家の多数決によって決定する。したがって、集約者が間違いを犯すたびに、残りの専門家の少なくとも半分が除外される。集約者は最大で log 2 ( N )回の間違いを犯す。[ 2 ]
間違いを犯した専門家を排除する半減アルゴリズムとは異なり、加重多数決アルゴリズムは彼らの助言を割り引きます。同じ「専門家の助言」設定が与えられた場合、n 個の決定があり、各ループで 1 つの決定を選択する必要があるとします。各ループでは、すべての決定にコストが発生します。すべてのコストは選択後に明らかになります。専門家が正しい場合はコストは 0、そうでない場合は 1 です。このアルゴリズムの目標は、累積損失を最良の専門家とほぼ同じに制限することです。各反復で多数決に基づいて選択を行う最初のアルゴリズムは、専門家の大多数が毎回一貫して間違っている可能性があるため機能しません。加重多数決アルゴリズムは、コストを 1 または 0 に固定する代わりに専門家の重みを保持することにより、上記の自明なアルゴリズムを修正します。[ 1 ]これにより、半減アルゴリズムと比較して間違いが少なくなります。
初期化: 修正する各専門家について、重みを関連付けます。≔1. の場合=、、...、1.専門家の予測の重み付けに基づき、加重多数決によって得られた予測を採用する。1. つまり、どちらの予測を支持する専門家の総重みが高いかに応じて、0 または 1 を選択します (同点の場合は任意に決定)。 2.予測を誤った専門家 i については、次のラウンドでの重みを (1-η) 倍して減らします。 =(ルールの更新)
もし専門家の助言の重みは変わりません。が増加すると、専門家の助言の重みは減少します。一部の研究者は、加重多数決アルゴリズムにおいて。
後ステップ、専門家 i の間違いの数を とし、を、我々のアルゴリズムが犯した間違いの数とする。すると、すべてのに対して次の境界が得られる。:
。特に、これは最良の専門家である i に当てはまります。最良の専門家は最も少ないこれにより、アルゴリズム全体が犯した間違いの数について、最良の上限値が得られます。
このアルゴリズムは次のように理解できます。[ 2 ] [ 8 ]
N人の専門家による同じ設定を考えます。重みを考慮した上で、肯定と否定を予測する専門家の割合がどちらも50%に近いという特殊な状況を考えてみましょう。この場合、同率になる可能性があります。重み付き多数決アルゴリズムの重み更新ルールに従うと、アルゴリズムによる予測はランダム化されます。アルゴリズムは、専門家が肯定または否定を予測する確率を計算し、計算された割合に基づいてランダムな決定を行います。
予測する
どこ
。ランダム化加重多数決アルゴリズムによる誤りの数は、以下のように制限される。
どこ そして 。
学習アルゴリズムのみがランダム化されていることに注意してください。基本的な仮定は、例と専門家の予測はランダムではないということです。唯一のランダム性は、学習者が独自の予測を行う際のランダム性です。このランダム化されたアルゴリズムでは、もし重み付きアルゴリズムと比較すると、このランダム性によってアルゴリズムが犯す間違いの数が半分になった。[ 9 ]ただし、いくつかの研究では、人々が定義していることに注意する必要がある。加重多数決アルゴリズムで許可し、ランダム化加重多数決アルゴリズムにおいて。[ 2 ]
乗法重み法は、通常、制約付き最適化問題を解くために使用されます。各エキスパートを問題の制約とし、イベントを関心領域内の点とします。エキスパートの罰則は、イベントによって表される点において、対応する制約がどの程度満たされているかに対応します。[ 1 ]
分布が与えられたと仮定します専門家について。= 有限2人ゼロサムゲームの利得行列、行。
列のプレーヤー計画を使用するそしてコラムプレーヤー計画を使用するプレイヤーの報酬は≔仮定すると。
プレイヤーが行動を選択する分布から行を順に見ていくと、プレイヤーの期待される結果がアクションの選択は。
最大化するために、プレイヤープランを選択する必要があります同様に、プレイヤーの期待収益ははプランの選択この利益を最小化します。ジョン・フォン・ノイマンのミニマックス定理により、次の式が得られます。
ここで、Pとiは行の分布に応じて変化し、Qとjは列の分布に応じて変化する。
それから、は上記の量の共通値を表し、「ゲームの値」とも呼ばれる。は誤差パラメータとする。 の加法誤差によって制限されるゼロサムゲームを解くには、、
つまり、O( log 2 ( n ) /を用いて、δ の加法係数までゼロサムゲームを解くアルゴリズムが存在する。ORACLEへの呼び出しは、呼び出しごとにO(n)の追加処理時間を要する[ 9 ]。
ベイリーとピリオウラスは、乗法重み更新の時間平均挙動はゼロサムゲームにおけるナッシュ均衡に収束するものの、日々の(最後の反復)挙動はそこから乖離することを示した。[ 10 ]
機械学習において、LittlestoneとWarmuthはwinnowアルゴリズムを重み付き多数決アルゴリズムに一般化した。[ 11 ]その後、FreundとSchapireはそれをhedgeアルゴリズムの形で一般化した。[ 12 ] Yoav FreundとRobert Schapireによって定式化されたAdaBoostアルゴリズムも乗法重み更新法を採用している。[ 1 ]
アルゴリズムに関する現在の知識に基づくと、乗法重み更新法はリトルストーンのウィノーアルゴリズムで初めて使用されました。[ 1 ]これは機械学習で線形計画問題を解くために使用されます。
与えられたラベル付き例どこは特徴ベクトルであり、それらは彼らのラベルです。
目的は、すべての例において、特徴の重み付き結合の符号がそのラベルと一致するような非負の重みを見つけることです。つまり、すべての人々のために一般性を失うことなく、合計の重みが 1 であると仮定して、それらが分布を形成するとします。したがって、表記上の便宜のために、である問題は、以下の線形計画問題の解を求めることに帰着する。
、 、 。
これはLPの一般形です。
出典:[ 2 ]
ヘッジアルゴリズムは、加重多数決アルゴリズムに似ています。ただし、指数更新ルールが異なります。[ 2 ] これは一般的に、N 個の異なるオプションに異なるリソースを割り当てる必要があるバイナリ割り当ての問題を解決するために使用されます。各オプションの損失は、各反復の最後に利用可能です。目標は、特定の割り当てで被った合計損失を減らすことです。次の反復の割り当ては、乗法更新を使用して、現在の反復で被った合計損失に基づいて修正されます。[ 13 ]
学習率を仮定するそして、ヘッジによって選ばれます。そしてすべての専門家のために。、
初期化: 固定各専門家について、重みを関連付けます。≔1 t=1,2,...,Tの場合:
1. 分布を選択するどこ。 2. 意思決定のコストを観察する。 3. セット )
このアルゴリズム[ 12 ]は重みのセットを保持しますトレーニング例に対して。各イテレーションで。分布これは、これらの重みを正規化することによって計算されます。この分布は、弱学習器WeakLearnに入力され、仮説が生成されます。(願わくば)分布に関して誤差が小さいもの。新しい仮説を用いるAdaBoostは次の重みベクトルを生成しますこのプロセスが繰り返される。T回の反復後、最終的な仮説が出力は、仮説です。重み付き多数決を用いて、T個の弱い仮説の出力を組み合わせます。[ 12 ]
入力: シーケンスラベル付き例(、),...,(、) 分布オーバー例 弱学習アルゴリズム「WeakLearn」 整数反復回数を指定する 重みベクトルを初期化する:のために. する1.セット2. WeakLearnを呼び出し、分布を指定します。仮説を返す[0,1]. 3.誤差を計算します4. セット5. 新しい重みベクトルを次のように設定します。。 仮説を出力します。
出典: [ 14 ]
与えられたマトリックスそして、 ありますかそのため?
(1)誤差パラメータを用いたゼロサム問題の解決におけるオラクルアルゴリズムの使用出力はポイントになりますそのためまたは証明存在しない、つまり、この線形不等式系には解がない。
与えられたベクトル、以下の緩和された問題を解く
(2)(1)を満たすaxが存在するならば、すべてのxに対して(2)が成り立つ。この命題の対偶も真である。Oracleが実行可能な解を返す場合、解決策返される値には制限された幅がありますしたがって、(1) の解が存在するならば、その出力 x が加算誤差を除いてシステム (2) を満たすアルゴリズムが存在する。アルゴリズムは最大で問題(2)に対して幅が制限されたオラクルを呼び出します。対偶も真です。この場合、アルゴリズムでは乗法更新が適用されます。