何か問題点がありましたらご指摘いただけますと幸いです。
前々回の PRML 読み( パターン認識と機械学習 下(第7章:その1) - クッキーの日記 )でプロデューサーがハードマージンSVMの最適化問題を解いてたと思うんだけど、よくみるとなんかおかしいんだよな…。
何がですか?
元々のラグランジュ関数ってこれだろ? 本の (7.7) 式かな。
…まず、いますべての で なので、 を最小化しようとしたら常に解は になりますね。つまり、ハードマージンSVMの解は常に であるというおかしな話になってしまいます。しかし、だから最大化するというのも説明になりません。それではハヤトの疑問の答えになっていませんね。話を整理しましょう。僕たちはある制約下で を最小化したい、というのは間違いないです。そこまではいいです。それで、制約付き最小化問題の解を求めるために、ラグランジュ関数の助けを借りることにしました。それもいいです。しかし、「ラグランジュ関数を最小化したい」のかというと、そういうことではありません。それはラグランジュ関数の役割に誤解があります。ラグランジュ関数の役割は、「あなたの求める答えはラグランジュ関数の停留点( となる )に絞れます」です。以下の本により詳しい話があるのでみてみましょう。
- 作者: ネロクリスティアニーニ,ジョンショー‐テイラー,Nello Cristianini,John Shawe‐Taylor,大北剛
- 出版社/メーカー: 共立出版
- 発売日: 2005/03/01
- メディア: 単行本
- 購入: 8人 クリック: 135回
- この商品を含むブログ (42件) を見る
※ | 領域 が凸であるとは、 内の任意の2点の任意の内分点が 内にあることです。例えば3次元空間内の球は凸ですが、ドーナツは凸ではないです。SVM の状況では の成分は(不等式制約を入れる前は)どの実数をとってもいいので であり、 は凸です。 |
2次計画問題の「計画」って何なんだ…英語が planning ってわけでもないし謎だな…まあいいや。その凸2次計画問題を解く方法を早く知りたい!
ええ、最適化理論では「最適点はどのような性質を満たすのか」「では具体的にどのような手続きでその最適点にたどり着けばいいのか」を議論しますが、この本の5章のスコープは前者であるようですね。では「凸2次計画問題の最小点はどのような性質を満たすのか」をみていきましょう…といいたいところですが、いきなり凸2次計画問題にとびつくのではなく、順を追っていきましょう。まずそもそも、等式制約も不等式制約もない場合、最小点はどのような点になるでしょうか。どうなりますか、ハヤト?
え、何も制約がない場合? ただ単に を最小化したいってことだよな。だったら、 を満たす がどこか求めるって感じじゃないの? …あれ、間違ってる?
いえ、正しいですよ。まず、 の最小点 では です。 でないならば、その点に置いたビー玉は がもっと小さいところに転がりますからね。傾きがあるので。最小点はビー玉がその点から転がらない、停留点でなければなりません。また、いま は凸な2次関数としているので、 ならば(停留点ならば)その点で は最小である、と逆向きもいえるわけです。もし2次関数でも凸でなかったら停留点は最小点ではなく最大点かもしれませんし、2次関数でもなかったら停留点は局所最小点にすぎなかったり鞍点だったりするかもしれませんので、一般的にはこの逆向きの方はいえません。この「最小点ならば停留点である」=「停留点さえ調べればその中に最小点がある」という定理(定理5.5)を、フェルマーの定理といいます…が、フェルマーの定理と日本語で検索しても中々この定理は出ませんね…フェルマーの定理といって、フェルマーの小定理や大定理(最終定理)という異なる定理を指している場合もあるようです。「フェルマーの定理 停留点」と検索しても今度は光学のフェルマーの原理とか引っかかってきますし…。
最終定理は証明してくれなかったんですけどね…本題に戻りましょう。次は等式制約を加えてみましょう。
えー…今度は じゃダメだよな…これで求まった点が都合よく を満たしてくれるわけないだろうし…。…あれ、でも をつかえば の成分を1つ消去できるよな。 までつかえば 個消去できるはずだ。そうやって消せるだけ消した上で残りの未知変数に対して を偏微分すれば制約を守って を最小化できる!
…まあそれで解けるんですよね。 が線形なら未知変数を消去することはできるはずですし。ただ今回は諸事情によりそのような解き方をしません。そう解いてしまうと上手く双対問題にできないですし、そもそも を解くのも面倒です。なので、今回は が について陽に解けない場合でも適用できる方法を紹介します。
俺が考えた意味!
しばらく等式制約が線形という条件がなくても成り立つ話をします。まず等式制約が1本のみの場合を考えます。 という等式制約は、 内を自由に動き回るはずだった を 次元に閉じ込めます(※)。この 次元曲面(※)上で、ベクトル は曲面に垂直です。もし垂直でなかったら、この曲面上に置いたポテンシャル を受けるビー玉は曲面上をいずこかに転がってしまいますが、この曲面上ではどこも なので、ビー玉はどちらにも転がってはいけませんので。そして、この曲面上であって が最小になる点を探したいわけですが、その点ではベクトル もまた曲面に垂直です。もし垂直でなかったら、ポテンシャル を受けるビー玉は曲面上を転がってしまい、転がった先では がより小さいはずなので。つまり、求める最小点では なんです。まとめると、いま考えている等式制約付き最小化問題の最小点は「曲面 上にあって、 が成り立つ点」でなければなりません。 はゼロでない定数です。
ビー玉置きすぎだろ!
次に等式制約がもう1本、 もある場合を考えます。いま が動き回れるのは曲面 と曲面 の交わりの曲面です(※)。この曲面上を移動するには、 にも にも垂直に進まなければなりません。そして、最小点では「『 にも にも垂直』という方向にしか進めないのではこれ以上 を減らすことができない」となっているはずです。つまり、 が と が張る面内にあるんです。よって、最小点は「曲面 上にあって、 が成り立つ点」です。等式制約が 本ある場合も同様に、最小点は、全ての等式制約を満たす曲面上であって、以下が成り立つ点です。
…ジュンあのさ、さっきから「等式制約を満たすある点が最小点だったら、その点に置いたポテンシャル を受けるビー玉は、等式制約を満たす面に閉じ込められているならば、そこから転がっていかない」みたいな感じで話進んでる気がするんだけど、確かに最小点だったら がもっと減る方向に動けたらいけないけど、逆にそういう動けない点だったら最小点なの?
違いますよ? 僕がいっているのは最小点である必要条件であって、十分条件ではありません。
え? じゃあ十分条件も求めなきゃ…。