思うだけで学ばない日記 2.0

思うだけで学ばない日記から移転しました☆!よろしくお願いします。

ORる世界[増補改訂版]

今日わ直交の日、

のっけから何だが前回のエントリは全て撤回死体orz、

意味が無かったmin/max

max{ 式(1)~(3)の最左辺 } < -w6 < min{ 式(1)~(3)の最右辺 } --- (4)

これは拡張次元も含めたときの調整途中の識別面の原点を回転中心とする回転を-w6だけオフセットして眺めてみたという以上の意味はない
調整途中の識別面とか超空間中をいかようにでも回転するので、そんなあやふやな仮の超平面からの距離が最大だったり最小だったりしても隠れた規則性の何か特別な表象である可能性は無限に小さいorz

真打の方法

そのかわりまず間違いのない方法を思いついた、
サンプルx[i]のラベルをy[i] (値は+1か-1)として、ラベルが+1のサンプルの集合をH、-1のサンプルの集合をLとする。HとLが識別されるためには、
任意にとったベクトルx∈H、y∈Lに対し、識別面はxとyが張る3角形の中を通らねばならない
そこで内積 < x, y >が昇順となるように2ベクトルのペアを並べかえ、*1、その先頭d組のペアを選び、その全てのペアの中点を通る超平面を暫定識別面w(t)とする。
ここでdはサンプルを表す最小の次元(BonaPieceベクトルの識別なので この場合は(2344+1))。
さらに、d組のペアとして選ばなかったベクトルについて、暫定識別面(法線ベクトルw(t))で識別されているかチェックしていく。
Hの要素xなのに < w(t), x > が負でしたりとか、Lの要素yなのに < w(t), y > が正だったりすると識別されていないので、そのようなxかyが識別されるように識別面を最小限動かす。
つまり、w(t)とx(かy)が張る三角形に沿って超平面を、ちょうどx(かy)が識別されるに足るだけ回転させ、それをw(t+1)とする
w(t+1)が決まったら、今度はd組およびその他のw(t)で識別済だった全てのサンプルが、w(t+1)でも識別さるるかチェックする。
識別されないものが生じたら線形分離不能、でFA
そうならずに全サンプル識別し切ったら、最後のw(t+1)で線形分離さるる、

パーセプトロンの収束定理との関係

あんま無い
パーセプトロンの収束定理は識別面にぴったり乗るサンプルは想定していない。(それがあったらマージンγが0なので、サンプルの最大半径をRとして反復回数の上界R^2/γ^2が無限大になってしまうま、、、
しかるに上記方法論においては、HかLのどちらについて識別面に乗っていても良いか一貫性を持って定めたらば、識別面にちょうど乗る形でのサンプルの識別に対応しうる
後に見るようにこれは盤面を並べる際に地味に効いてくる

アレとは何だったのか

線形分離するアルゴリズムとしてはアレが真の一般的解法であり常識であることは健在である。
なんでそれを使うのを渋っているのかというと、これは前回のエントリに書いた通りで

  • 思ったより遅い
  • 有理数計算を大量にせねばならない

という理由があり、またさらに

  • 最後にメンテしたのが2年近く前のコード
  • 計算準備が些末とはいえそこそこあるので実装のどこかに落とし穴が無いとも限らない

という事情で要はもっと時間的に余裕のあるときに触りたいのであっる
   ('A`)
/ ̄ノ( ヘヘ ̄ ̄
時間がせめてあと10年ぐらいあったらナア、、、

*1:BonaPieceベクトルなので全てのx、yは同じノルムを持つから、内積の大小はなす角の大小に他ならない。