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.
Lecture 4. Classification Errors, Regularization, Logistic Regression
The Support Vector Machine and Regularization
minimize12‖θ‖2+Cn∑t=1ξtsubect to yt(θTxt+θ0)≥1−ξt and ξt≥0 for all t=1,...,n
が,relaxationを入れた線形分離のパラメータを求める最適化問題であった.
yt(θTxt+θ0)≥1−ξtを変形して,ξt≥1−yt(θTxt+θ0). ξt≥0だから,()+:r↦max(0,r)として,example xtに対するhinge loss
ˆξt=(1−yt(θTxt+θ0))+
を定義する. 束縛条件とrelaxation項をまとめて,
minimize 12‖θ‖2+Cn∑t=1(1−yt(θTxt+θ0))+_^ξt
とできる. これは,12‖θ‖2をregularization penaltyとしてC∑nt=1^ξtを目的関数とする最適化問題と見ることが出来る. このように,classification lossのような目的関数とregularization penaltyを含む最適化問題をregularization problemという. 多くの機械学習アルゴリズムはregularization problemと見ることができて,regularization項は目的関数の最小化を安定させたり,事前の知識をアルゴリズムに組み込むために導入される.
Logistic Rgeression, Maximum Likelihood Estimation
labellingの間違いに対処するもう一つの方法に,labelの間違い(ノイズ)がどのように生成されるかをモデル化するというのがある. linear classificatioにおけるノイズの単純なモデルにlogistic regressionがある. decision boundaryから遠く離れたexampleのラベルはより正しい確率が高いというふうに,2つのラベルにprobability distributionを与えるのである.形式的には
P(y=1|x,θ,θ0)=g(θTx+θ0)
とする. ここでg(z)=(1+exp(−z))−1で, logistic functionという. この関数は
logP(y=1|x,θ,θ0)P(y=−1|x,θ,θ0)=θTx+θ0
から導かれる.例えばP(y=1|x,θ,θ0)=P(y=−1|x,θ,θ0)=1/2ならばlog-oddsは0であり,xはdecision boundary上に有る.左辺をlog-oddsという.log-oddsの厳密な正当化は後でclass-conditional distributionの仮定をもとに行う.
1−g(z)=g(−z)から,
P(y=−1|x,θ,θ0)=1−P(y=1|x,θ,θ0)=1−g(θTx+θ0)=g(−(θTx+θ0))
であって,故に
P(y|x,θ,θ0)=g(y(θTx+θ0))
である.こうして,labelを確率的に推測するlinear classifierが得られた.training dataのそれぞれのexampleを正しく推測する確率を最大にすることを考える.この確立たちの総乗を
L(θ,θ0)=n∏t=1P(yt|xt,θ,θ0)
と書く.またL(θ,θ0)を(conditional) likelihood functionといって,固定されたtraining dataに対するパラメータの関数である. これを最大化するθ,θ0をmaximum likelihood estimatesという. また,training dataからmaximum likelihood estimatesを探す手続き(写像)をmaximum likelihood estimatorという.
Lを最大化するため,logをとって,
−l(θ,θ0)=n∑t=1−logP(yt|xt,θ,θ0)=∑−logg(yt(θTxt+θ0))=∑log[1+exp(−yt(θTxt+θ0))]
を最小化することになる. この関数は凸で,多くの最適化アルゴリズムが存在する. (stochastic) gradient descent(SGD)を導入する.
−l(θ,θ0)で偏微分して,
ddθ0log[1+exp(−yt(θTxt+θ0))]=−yt[1−P(yt|xt,θ,θ0)]ddθlog[1+exp(−yt(θTxt+θ0))]=−ytxt[1−P(yt|xt,θ,θ0)]
右辺のベクトルはlog[1+exp(−yt(θTxt+θ0))]が単位長さあたり最も増加するθ0,θの方向を表しており,
θ0←θ0+η⋅yt[1−P(yt|xt,θ,θ0)]θ←θ+η⋅ytxt[1−P(yt|xt,θ,θ0)]
によって更新を行う. ここでηは小さい正数で,learning rateという. [1−P(yt|xt,θ,θ0)]は間違ったlabelに分類する確率で,perceptron mistake driven updatesに似ているが,どれほど間違っているかによって更新の大きさを変えるところが重大な相違点である.
stochasticでないgradient descentは, θ,θ0を固定して,全てのtにη⋅yt[1−P(yt|xt,θ,θ0)],η⋅ytxt[1−P(yt|xt,θ,θ0)]を足し合わせて,その和によってθ,θ0を更新する.
最適化が実現したときには
ddθ0(−l(θ,θ0))=−n∑t=1yt[1−P(yt|xt,θ,θ0)]=0(19)ddθ(−l(θ,θ0))=−n∑t=1ytxt[1−P(yt|xt,θ,θ0)]=0 (20)
が成立する.(19)は,”label 1のexapleを-1に間違えて分類する確率”と”label -1のexampleを+1に間違えて分類する確率 ×−1”の総和が0であるということであって,間違いが均衡しているということである. あるいは,(y1,...,yn)Tというベクトルと,(1−P(y1|x1,θ,θ0),...,1−P(yn|xn,θ,θ0))Tというベクトルが直行しているということである.
同様に,(20)の等式は,exampleのそれぞれの次元jにおいて,(y1x1j,...,ynxnj)Tと(1−P(y1|x1,θ,θ0),...,1−P(yn|xn,θ,θ0))Tが直行しているということである.
この直交性によって(19,20)が成立しているとき,training setにはもはやθ,θ0をより良くするための情報が無いということがわかる.
ところで,yt(θTxt+θ0)が常に正であるθ,θ0をみつけて両方を定数倍してこれらの値を際限なく大きくすると,yt[1−P(yt|xt,θ,θ0)]は1に収束し,わざわざ確率的なモデルを使う意味がなくなってしまうので,regularziation項‖θ‖/2を加えて最適化する.すなわち
12‖θ‖2+Cn∑t=1log[1+exp(−yt(θTxt+θ0))]
の最少化問題とする.またこれは
λ2‖θ‖2+n∑t=1log[1+exp(−yt(θTxt+θ0))] (26)
の最小化と同じことであり,どれほどregularizationを強くするかの係数がλであるのがわかりやすいので,(26)の記法がよく使われる.っている.
0 件のコメント:
コメントを投稿