Rohit Singh, Tommi Jaakkola, and Ali Mohammad. 6.867 Machine Learning. Fall 2006. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
Example
ビルの中への入場者管理業務を自動化することを考える.過去に入場しようとして許可されたものと許可されなかったものの顔写真のデータから,入場希望者の新しい顔画像をとって許可/拒否を与えるアルゴリズムを開発する.この過去のデータはそれぞれの画像にlabel付けがされている.positiveにラベル付された画像は入場許可された人の顔画像であり,negativeは入場拒否された人の顔写真である.入場拒否された人は許可された人よりずっと少ないと推測できるので,全く無関係の人の顔写真を入場拒否者データに加えて補うことが出来る.結局やるべきことは,非常に少数な既知のラベル付き画像(training set)を使って,画像をバイナリ(±1)に移す関数(classifier)を構成することである.+1はpositive, −1はnegativeを表す.
より形式的にいうと,それぞれの画像(グレースケールとする)はxというd次元の縦ベクトルとして,その縦ベクトルのそれぞれの要素は画像の対応するピクセルの濃淡を表現している.training setは{(x1,y1),...,(xn,yn)}によって構成され,xiは画像のベクトル表現,yiはxiに対応するラベルである(positive: +1, negative: −1).classifier f:Rd→{−1,1}をtraining set だけから構成する.画像に付属的な情報,例えば体重や身長は一切付与されない.
What kind of solution would be?
training set の要素数は50個で,それぞれの画像データは128×128次元で,更にピクセルごとの濃淡は0から255の整数値を取るとする.例えば各ベクトルの第i要素が全て異なるようなiが存在すると仮定する.このとき,
{0,...,255}16384∋x′↦{1 (x′iあるpositive なtraining data xがあって,x′i=xi)−1(otherwise)
としてclassifierを定義できる.これはtraining dataには必ず正しい推測を返すが,新しいデータに対して正しい推測をしてくれるとは到底考えられない.我々の目的はtraining setに含まれない新しい画像に対して推測することなのだから,このclassifierは非合目的.我々はtraining setをよくgeneralizeするclassifier, つまりtraining setに対する成績と新しい画像に対する成績がともに良好であるclassifierを見つけたい.
Model Selection
上の問題で考えられるclassifierは2256128×128個有るわけだが,そのclassifierの集合を有用そうなclassifierの部分集合(クラス)に制限することが重要になる.制限された集合が大きすぎると例で上げたような役立たずなclassifierを考えなければならなくなるし,小さすぎるとよいclassifierが見つけられないかもしれないので,適切な制限を与えることがmachine learningの一大問題であり,model selection problemともいう.
Linear classifiers through origin
ここで,linear classifiersというクラスに制限して考える.これは
f(x;θ)=sign(θ1x1+⋯+θdxd)=sign(θTx)
という関数である.ただしsign:R∋r↦{1 (r≥0)−1(r<0)である.
θ=[θ1,...,θd]T∈Rdはパラメータであって,これによって具体的なclassifierが決定される.このようなclassifierは幾何学的に解釈することが出来る.θTx=0は原点を通るd−1次元の超平面と考えることができ,この超平面を境界にしてRnの元を分類する.
figure 1.
2次元で考えると,fig.1 のようになる.θx<0となる点を−1, θx>0となる点を+1とするのである.ところで,画像を1つの縦ベクトルで表現することで失われる情報がいくつか有る.というのは,元の画像では隣り合っているピクセルが,ベクトル表現では128(あるいはそれ以上)要素分離れているかもしれない様に,平面上の位置関係が失われてしまうのである.もっとも,linear classifierはこうした情報は一切考慮しない.すべてのtraining setとこれからのデータのそれぞれのベクトルのi,j成分を入れ替えても,linear classifierのパラメータも同じ場所を入れ替えれば同じ分類を行う.平面的な情報を考慮したいなら,他のmodelを導入することになる.
Learning Algorithm: the Perceptron
linear classifierを導入したところで,最適なパラメータθを求める方法を考える.これをestimation problemということがある.最適なθとは,training setに対して分類を行って最も間違いが少なくなるようなθのことと考える.つまり,training error
ˆE(θ)=1nn∑i=1(1−δ(yt,f(xt;θ)))=1nn∑t=1Loss(yt,f(xt;θ)) δ:Kronecker's delta
を最少にするθを考えるのである.関数Lossを,適当に重み付けすることも出来る.例えば本来−1とすべき画像を+1と分類したときこの間違いをより大きく評価するなどとできる.ここでは単純にzero-one loss, つまり正当を0, 誤答を1とするLossを使う.
実際にθを決める方法として,training setのそれぞれの要素に,誤答のたびにθを調整していくことを繰り返す方法が有る.このようなアルゴリズムで最も単純なものをperceptron update ruleという. それぞれのtraining imageに
θ′←θ+ytxt if yt≠f(xt;θ)
を行うことを行い,これを何度も繰り返す.
yt=1,f(xt,θ)=−1であったとき, θ′=θ+xt. θ′xt=θxt+xtTxt≥θxtとなるから,θは正答の方へと更新されたと言える.yt=−1,f(xt,θ)=1の場合も同様である.
Analysis of the Perceptron Algorithm
perceptron algorithmの更新はtraing setのすべての元を正しく分類できたときに終了する.linear classifierによって正しい分類が可能であれば,perceptron algorithmは必ずこのようなclassifierを有限回の更新で見つけられる.
Perceptron, Convergence, and Generalization
kをperceptron algorithmによる更新の回数とし,θ(k)をk回更新した後のパラメータθとする.
つまりyt(θ(k))Txt<0ならθ(k+1)=θ(k)+ytxtと更新する.
Convergence in a Finite Number of Updates
training dataは有界(R=sup{‖xt‖}n1<∞)とする.さらに,training setを正しく分離するlinear classifierが存在するという強い仮定のもとでのみ議論する.つまり,γ>0があって,yt(θ∗)Txt≥γが常に成り立つようなθ∗が存在すると仮定する.このγをmarginという.
1. (θ∗)Tθ(k)が更新ごとに少なくとも線形に増加する
2. ‖θ(k)‖2は更新ごとにせいぜい線形に増加する
という補題のによって証明する.
proof 1.
(θ∗)Tθ(k)=(θ∗)Tθ(k−1)+yt(θ∗)Tθ(k−1)≥(θ∗)Tθ(k−1)+γだから,(θ∗)Tθ(k)≥kγ.
proof 2.
‖θ(k)‖2=‖θ(k−1)+ytxt‖2=‖θ(k−1)}2+2yt(θ(k−1))Txt+‖xt‖2≤‖θ(k−1)‖2+‖xt‖2 (∵
よって .
さて, 1,2 から,
よってであって,たしかに有限.
Margin and Geometry
はによって特徴づけられるdecision boundaryと,training setの元の距離の距離の最最小値だからはがどれほどうまくtraining setを分割しているかの指標と考えることが出来る.とすると,は問題の難しさの指標と考えることが出来る.
また,によって
と最大の更新回数は抑えられる.がlinear classificationの難しさの指標であることの証明は後でVC-dimensionという概念とともに与える.
Generalization Guarantees
すでに述べたように,未知のデータ,training setにない画像に対する性能が問題となる.未知のデータが以下の2つの性質を満たすと仮定する.
1.
2. あるに
画像とラベルを与えられるごとに1回だけの更新を行う(このような更新方法をon-line algorithmという)とき,同様の議論によって,というより議論は変わらず.よって仮定のもとでclassifierは有限会の更新で収束する.
Maximum Margin Classifier?
正しく画像を分類しが大きくなるの存在を仮定して議論を行ってきたが,直接(?)このようなを計算するようなアルゴリズムにSupport Vector Machine, SVMがある.次節ではSVMについて詳しく論じる.
0 件のコメント:
コメントを投稿