Loading [MathJax]/jax/output/HTML-CSS/jax.js

2017年8月26日土曜日

MIT OCW, Discrete Stochastic Processes 02日目

Robert Gallager. 6.262 Discrete Stochastic Processes. Spring 2011. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.

Lecture videoを要約していく.

Lecture 3. Laws of Large Numbers, Convergence

Markov, Chebychev, Chernoff bounds

Markov inequality

Y0,y>0なら
Pr(Yy)E[Y]y

Chebyshev inequality

ϵ>0
Pr(|ZE[Z]|ϵ)σ2Zϵ2=var[Z]ϵ2

Chernoff bound

任意のz>0,r>0にmoment generationg function gZ(r)=E[erZ]が定義されているなら,
Pr(Zz)gZ(r)exp(rz)

proof.

Y=erZとする. E[Y]=gZ(r)で,y>0にMarkov inequalityを使って
Pr(Yy)gZ(r)/yすなわちPr(erZy)gZ(r)/y
z=(logy)/ry=erzzを導入すると,Pr(Zz)gZ(r)exp(rz)がたしかに成立.

Markov, Chebyshev, Chernoffを見比べると,Markovはy1, Chebyshevはy2に従って上限が小さくなるのに対し,Chernoffの上限は指数的に上限が小さくなる.これがChernoff boundの有用性の理由である.

Convergence

Weak Law of Large Numbers

X1,...,XnはIIDで,ˉX=E[X1],σ2=σ2X1とする.
Sn=X1+...+Xnとするとσ2Sn=nσ2である.
Sn/nの振る舞いを見る.
var[Sn/n]=nσ2/n2=σ2/n0(n)だから
limnE[(SnnX)2]=0. これをSn/n converges in mean square to ˉXという. 前者はIIDでないときには成り立たないし,分散が存在しないときにも成り立たないが,このようなときでも実は後者は成立する.

Definition

Y1,...,YnYにconverges in mean square to Y
limE[(YnY)2]=0

ここでChebishev’s inequalityを使って
Pr(|SnnˉX|ϵ)σ2nϵ20
以上より,weak law of large numbers(WLLN, 大数の弱法則)
ϵ>0. limnPr(|SnnˉX|ϵ))=0
が示せた. (IIDの仮定に注意,varianceは存在しなくても良い)これはPr(Sn/nx)のdistributionがnの極限でxˉXで0, xˉX1をとるステップ関数になるということである

Central Limit Theorem

limn[Pr(SnnˉXnσy)]=y12πexp(x22)dx

2017年8月25日金曜日

MIT OCW, Discrete Stochastic Processes 01日目

Robert Gallager. 6.262 Discrete Stochastic Processes. Spring 2011. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.

Lecture videoを要約していく.

Lecture 1

well-posed problemを解くのは簡単だが,現実にある現象をモデル化してwell-posed problemに落とし込むのは難しい. このコースでは現実世界での確率と確率の理論を学んだ後discrete processがなんであるかを学び,数あるdiscrete processの内いくつかを学ぶ.
確率論がどこで役に立つか–どこでも役に立つのだが,いくつか例を挙げる
Kormogrovの確率の公理がどのように役に立っているか
確率論の復習

モデルを作るときに現れる重要な問題

1. – 完全なモデルは存在しない

完璧なモデルというのは存在しないが,現実の問題をより詳細に記述するモデル–より複雑なモデルを構築することは出来る. 一方モデルが複雑になるほど理解しづらくなってしまうので,モデルの複雑さと理解のしやすさの間でバランスを取ることが重要になってくる. Whiteheadの警句 “Seek simplicity and distrust it.” は,我々は単純なモデルを正しいと思い込みがちなので,単純なモデルがうまく言っているように見えても,よく検証しなければならないと主張する.

2. – その数学的モデルの解が現実で意味を持つか

確率のモデルの正当性はKormogorvの確率の公理に従っているかで決まる.

Stochastic Processとは?

確率モデルの一種で,sample pointが時間を変数とする関数であるものをstochastic process(確率過程)という. このときあるsample pointは時刻を添字とする確率変数の列の,その時刻における1点の現れと考えることが出来る. この確率変数列の全ての元が離散確率変数であるとき特にdiscrete stochastic processという.

このコースで学ぶprocessたち

  • counting process
  • Poisson process
  • renewal process
  • Markov process
  • random walkとmartingale

以下はほとんどFundamentals of probabilityでやったが,念の為復習

Kormogorovの公理

Ωはある集合で,F2Ωがeventの集合

(1) ΩF
(2) A1,A2,...FAiF
(3) AFACF
つまりFΩσ-algebraであるということ.

PFに確率を割り当てる((Ω,F)のprobability measureである)

(1) P(Ω)=1
(2) AFP(A)0
(3) {Ai}Fが互いに素ならP(Ai)=P(Ai)

Eventの独立性

A1,A2Fがindependent
P(A1A2)=P(A1)P(A2)

仮にA1F1が赤いサイコロをふって出る目が1であるというeventで,A2F2が白いサイコロをふって出る目が1であるというeventとすると,A1A2というのは(Ω1×Ω2,F1×F2,P1×P2)という新しいprobability spaceがあらわれて,例えばΩ1×Ω2は単に{1,...6}2といデカルト積(とりあえずサイコロの場合はそう).
一方ふるサイコロが両方とも白いとき(区別できないとき)には話は複雑になる.Ω1×Ω2={(1,1),(1,2),...,(1,6),(2,2),(2,3),...,(2,6),(3,3),...,(6,6)}となって,|Ω1×Ω2|=21これはサイコロが区別できるときとは異なる集合である. これは2つのeventを,区別できない状況で組み合わせるときに,組み合わせたeventの確率をどう評価するかという重要な問題の最も簡単な例と言える. この話題はまたあとで扱う.

Random Variable

X:ΩR(Ω,F,P)のrandom variable(r.v., 確率変数)
rR,{ω|X(ω)r}FX(F,B)-可測BB.X1(B)F

また,FX(x)=P({ω|X(ω)x})Xのdistributinoという.

Lecture 2. 確率論の復習

Expectations

Xのexpectation(期待値) ˉX=E[X]
E[X]=iaipX(ai)   for discrete XE[X]=xfX(x)dxfor continuous XE[X]=FCX(x)dxfor arbitrary nonegative XE[X]=0FX(x)dx+0FCX(x)dxfor arbitrary X
と定める(上の二つが定義,下の二つが定義から導かれる公式).
4番目の式の片方の項が,もう一方がの場合を考えれば,expectationが定義できないrandom variableが存在することがわかる. 普通|E[X]|<のときのみ,E[X]が存在するという.
また,Xのstandard deviation(標準偏差) をσX=E[|XE[X]|2]と定める.
上から3番目の式を,discreteの場合に直感的に正当化する.
enter image description here
figure 1.
fig.1のそれぞれの四角形の面積がi{1,2,3,4}aipX(ai)の各項を表している.a0=0として,x[ai1,ai]x軸に垂直な直線と,四角形の重複する部分の長さは1FX(ai)=FCX(Ai)だから,四角形の面積の和はi{1,2,3,4}FCX(ai)と一致する.

example: indicator random variable

AFのindicator random variable IA:Ωω{1  (ωA)0  (ωA)
についてPIA(0)=1Pr(A),PIA(1)=Pr(A)だから,E[IA]=Pr(A)
σIA=Pr(A)(1Pr(A))2+(1Pr(A))(0Pr(A))2=Pr(A)(1Pr(A))

multiple random variables

random variables X,Yについてjoint distribution function
FXY(x,y)=Pr({ω|X(ω)x}{ω|X(ω)y})が定義できる.これはrandom variableの集合{Xi}でも動揺に定義できて,X=(X1,...,Xn)がindependentなら
FX(x1,...,xn)=nm=1FXm(xm)  x1,...,xn
である.

discrete rv’s X,Yについて
pX|Y(x|y)=pXY(x,y)pY(y)  (if pY(y)0)
をconditional probabilityという. X,Yがindependentなら

IID random variables

X1,...,Xnがindependent and identically distributed(IID)
x1,...,xnFX(x1,...,xn)=nk=1FX1(xk)かつx.FXi(x)=FX1(x)
Ω=Rで,その上のr.v. Xがあるとき,i.i.d.として並べてRn上のr.v. (X1,...,Xn)を考えることが出来る(extended modelという).
(ΩがなんであってもΩnを考えればいいような気がするが・・・・)

Sample Average

Sn/n=(X1+...+Xn)/nはある実数に収束して,その極限が,extended modelが現実世界における試行の繰り返しであるとするなら,その結果の平均であるというのが,大数の法則の主張である.
しかし,いかに述べる問題から,正しいモデルが作れないこともある.
1. 現実での試行の列というのは,それぞれが十分似ていなかったり,独立でなかったりして,i.i.d.でモデル化できないかもしれない.
2. もとのモデルが間違っているかもしれない.例えばコイントスが表が出る確率0.5としたが,実際には0.45かもしれない

実験によって得られる結果というのはsample pointであって,確率ではない. extended modelが現実と合致しているときにのみ大数の法則やその関連を使って分布を考えることが出来る.
また,SnnˉXは平均0,分散nσ2のr.v.で,(SnnˉX)/nσは平均0, 分散1. これがnN(0,1)に分布収束するというのがcentral limit theorem(CLT, 中心極限定理)の主張である.(characteristic functionの各点収束を示して証明した)

The Bernoulli Process

pY(1)=p>0,pY(0)=1p=q>0がi.i.d.に並んだY1,...,Ynがあるとき,
Sn=Y1+...+Ynの分布を調べる.この節ではp<1/2と約束する.
(Y1,...,Yn)=(1,...,1_k個,0,...,0_n-k個)となる確率はpkqnk.k=0で最大となり,kの増加とともに減少する.
また,(Y1,...,Yn)のうちちょうどk個が1,ほかが0である場合の数は(nk)個で,それぞれの確率はpkqnkだから,確率の和は(nk)pkqnk.よって
pSn(k)=(nk)pkqnk
kによる増減は,
pSn(k+1)pSn(k)=n!(k+1)!(nk1)!k!(nk)!n!pk+1qnk1pkqnk=nkk+1pq
だから,kの増加とともに狭義単調減少する.
さらに,
pSn(k+1)pSn(k)={<1  for kpn1for k<pn<k+1>1for k+1<pn

(以下CLTの成立の証明が続く)

Assignment 1. Problem set 1.

Exercise 1.3

A1,A2,...Fはdisjointで,Pr(An)=2n1,Ω=Anとする.
(a) この過程が確率の公理に反することを示せ
(b) Pr(i1Ai)=i1Pr(Ai)Pr(ni=1Ai)=ni=1Pr(Ai)で置き換えると,上の過程がその公理系を満たすことを示せ
この結果から,countable additivityがfinite additivityよりも強い概念であることがわかる.

答案.

(a)
i1Pr(Ai)=n12n1=1/2Pr(i1Ai)=Pr(Ω)=1
よって示せた.
(b)
ni=1Pr(Ai)=(1/2)(12n)<1. これとPr(Ω)=1は矛盾しない.

Exercise 1.9

Xはr.v.で,distributionはFXとする.以下のr.v.たちのdistributionを与えよ
(a) XにIIDなr.v.たちの最大値のr.v.
(b) XにIIDなr.v.だちの最小値のr.v.
(c) (a)と(b)の差のr.v. ただしXはPDF fXを持つとする.

答案.

(a)
max(X1,...,Xn)xX1x...Xnxから
Pr(max(X1,...,Xn)x)=Pr(X1x,....,Xnx)=Pr(X1x)...Pr(Xnx)(独立性)
よってFmax(X1,...,Xn)(x)=ni=1FXi(x)=FX(x)n
(b)
(a)とほとんど同様に,
F(min(X1,...,Xn))=(1FX(x))n
(c) (模範解答)
求めるr.v. をRとする.
MAX=max(X1,...,Xn),MIN=min(X1,...,Xn)とする.
MAXxMIN>yi.y<Xixから
Pr(MAXx,MIN>y)=[FX(x)FY(y)]n.
Pr(Rr)=Pr(MAXx,MIN>y)x|y=xrdx
XがPDF fXを持つことから,これはnfX(x)[FX(x)FX(xr)]n1dxである.

Exercise 1.13

X1,...はPDF fX(x)をもつr.v.のIIDな無限列とする. n2について,Xnrecord-to-date,すなわちi<n.Xn>Xiと定める. IIDの対称性を使って以下の問いに答えよ.
(a) X2がrecord-to-dateである確率を求めよ.
(b) Xnがrecord-to-dateである確率をnの関数として求めよ
(c) 任意のmについて,最初のm回の試行におけるrecord-to-dateの個数の期待値を求めよ. mによって期待値がに発散すると示せ.

答案.

(a) Pr(X1<X2)=Pr(X1>X1)=1/2
(b) X1>max({Xi}{X1}),X2>max({Xi}{X2},...,Xn>max({Xi}{Xn})
のどれか一つが確立1で成立し,対称性からPr(Xn>X1,...,Xn1)=1/n.
(c) 1_個数(1/2_(2)+1/3_(3)+1/m_m) ((i)Xiがrecord-to-dateである確率)
i21/iが発散することは有名である.
(模範解答ではX1は必ずrecord-to-dateになっていた.全件否定からたしかにX1はrecod-to-date)

Exercise 1.20

(a) X,Y,Zは確率1/2で1,確率1/2で0をとるbinary rv’sとする. {X,Y,Z}がdependentだが,それぞれ2つを選ぶとindependentになる例を挙げ,PMF pXYZ(x,y,z)を求めよ (hint: もっとも単純な例では,ただ4つのjoint probabilityが正となる)
(b) pairwise independenceは
E[ni=1Xi]=ni=1E[Xi]
の十分条件か.

模範解答.

(a) Z=(X+Y)mod2
(b) この例で, Pr(XYZ=0)=1.よって十分条件でない.

Exercise 1.26

r.v. Xはcontinuousで,distributionはFX(x)とする. Y=FX(X)を新たなr.v.として考える.すなわち,ωΩに,X(ω)=xならばY(ω)=FX(x)ということである. Y[0,1]上でuniformly distributedであることを示せ.

答案.

FY(y)=y  (0y1)を言えば良い.
FY(y)=Pr(Yy)=Pr({ω|Y(ω)y})=Pr({ω|FX(X(ω))y})
FXの単調性から,あるrがあって,xrFX(x)y.rの最大値(連続性から存在)をF1(y)とするとFY(y)=Pr(XF1X(y))=FX(F1X(y))=y.

2017年8月24日木曜日

MIT OCW, Machine Learning 08日目 カーネル

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 6.

Active Learning (cont)

y=θx+θ0+ϵ,   ϵN(0,σ2)というlinear modelについて,最尤法で推測されるパラメータˆθ,^θ0のMSEは
E[[ˆθ^θ0][θθ0]2|X]=σ2Tr[(XTX)1]
となることから,Xをうまく設計することで少ないexampleからよりよい推測を行うことをactive learningといった. Xの設計で最も単純な方法は,x1,...,xkがあるときに,Tr[XTX]が最少になるようにxk+1を選ぶという操作を繰り返すというのがある. すでにXがあって,A=(XTX)1とする. [xT,1]Xの行に新たに加えることを考える.
[XxT1]T[XxT1]=(XTX)+[x1][x1]T=A1+vvT   (v=[xT,1]T)
Tr[(A1+vvT)1]
を最小化するvを考える.
(A1+vvT)1=A11+vTAvAvvTA
であって,Tr(A+B)=Tr(A)+Tr(B),Tr(AB)=Tr(BA)を考えれば
Tr[(A1+vvT)1]=Tr[A]vTAAv1+vTAv
が成立する. (vTAAvは実数で,traceはその実数そのもの)
任意のvvTAAv1+vTAv>だから,どのようなxを加えたとしてもMSEは減少するが,減少量が最大であるようなxを求めたい.
vTAAv1+vTAv
の大きさはAの最大の固有値が上限である. 言い換えると,新しいexampleによってパラメータ空間からせいぜい1つだけ自由度を減じることが出来る. xに制限がなければ,Aの最大の固有値に対応する固有ベクトルに平行な長さ無限のベクトルをvとするのだが,vcという制限が有る場合には,最大固有値に対応する固有ベクトルと平行でながさcのベクトルをvとする. ほかにもxに制限が有る場合には,vもその制限を考慮することになる.

これまでMSEを推定量の良さの基準としてきたが,今度はvarianceを考える.
var[y|x,X]=E[(ˆθTx+ˆθ0θTxθ0)2|x,X]=E[[x1]T([ˆθ^θ0][θθ0])([ˆθ^θ0][θθ0])T[x1]|x,X]=[x1]Tσ2(XTX)1[x1]=σ2vTAv

よって,vTAvが最大になるようなvがよいが,これはMSEを小さくするようなvと同じである.
(MSEを小さくしつつvarianceを小さくすることが対立することを言いたいのかと思ったら,varianceを大きくしたいらしい・・・)

Non-linear Predictions, Kernels

xの非線形な写像に対する像ϕ(x)に対してこれまで議論してきた方法が使える.例えばy=θx+θ0+ϵ,ϵN(0,σ2)というlinear modelが有るとき,xx2を含む高次元のベクトルに写像してquadratic(二次) modelが得られ,x3を含む高次元のベクトルに写像するとthird order modelが得られる.
ϕ(x)=[1,2x,x2]T,ϕ(x)=[1,3x,3x2,x3]Tのような感じである.23の意味は後で見る.
新しいpolynomial regression modelは
y=θTϕ(x)+θ0+ϵ,  ϵN(0,σ2)
となる. 高次元空間に写像してから線形回帰するわけだが,このときregularizationを行わないとoverfittingが起きることが多い.(figure 2)
!

xが多次元の場合も,
x=[x1,x2]Tϕ[1,x1,x2,2x1x2,x21,x22]T=ϕ(x)
というふうにしてより高次元な空間に写像できる.
高次元な空間への変換は計算コストが膨大になることが有るが,ϕを直接計算せずとも,例えば
ϕ(x)=[1,3x,3x2,x3]Tϕ(x)=[1,3x,3x2,x3]Tϕ(x)Tϕ(x)=1+3xx+3(xx)2+(xx)3=(1+xx)3
のように,ϕ(x)Tϕ(x)=k(x,x)と,ϕを暗黙に表現する計算が簡単なKが存在することが有る(存在するようにϕを定めたのである). ϕではなく計算が簡単なKを使うように問題を書き換えることを考える.

Lecture 7.

Linear Regression and Kernels

θ0を外したモデルy=θTϕ(x)+ϵはの推測は
J(θ)=nt=1(ytθTϕ(xt))2+λθ2
の最適化問題である. 前節で述べたとおり,ϕではなくkでこの最適化問題を表現する.
regularizationによってθ0に圧縮され,θのtraining feature vectorと関係ない次元は0になる. よってこの問題の解は{ϕ(xt)}の張る空間の元である.
proof.

局地の条件を考えると
dJdθ=2nt=1(ytθTϕ(xt))_αtϕ(xt)+2λθ=0
θ=1λnt=1αtϕ(xt)
dJdθ=0を満たして,最適解である.

αt=ytθTϕ(xt)=yt1λnt=1αtϕ(xt)Tϕ(xt)
が成立するから,αtytϕ(x),ϕ(x)だけで決まる.
Gram行列
K=[ϕ(x1)Tϕ(x1)ϕ(x1)Tϕ(x2)ϕ(x1)Tϕ(xn)ϕ(xn)Tϕ(x1)ϕ(xn)Tϕ(xn)]
によってベクトルで書くと
a=[α1,...,αn]Ty=[y1,...,yn]Ta=y1λKa
そして解は
ˆa=λ(λI+K)1y
ˆαtが得られたら,
y=ˆθTϕ(x)=nt=1(^αt/λ)ϕ(xt)Tϕ(x)=nt=1ˆαtK(xt,x)
によって,新しいexample xに対してresponseの推測yが計算できる.ここでK(xt,x)kernel functionという.

Kernels

以上で, regularized linear regressionをkernel formに変形できた. kernel function Kを変えることで,例えば任意の次数のpolynomial expansionが実現できるし,polynomial expansion以外のxを高次元に写した像を使ったlinear regressionも実現できる.
実現される高次元への写像の種類によってKを分類することが有る.例えば
- Polynomial kernel

K(x,x)=(1+xTx)p,  p=1,2,...
- Radial basis kernel
K(x,x)=exp(β2xx2),  β>0

polynomial kernelは,x=[x1,...,xn]T(x1++xn)pを二項展開したときの各項へと写す写像ϕを考えたときのkernel functionで, radial basis kernelは無限次元空間への写像のkernel functionである. radial basis functionはxxの近さを表していると考えることが出来る.

2017年8月22日火曜日

MIT OCW, Fundamentals of Probability 24日目 Markov Chain III

David Gamarnik, and John Tsitsiklis. 6.436J Fundamentals of Probability. Fall 2008. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.

Lecture 25. Markov Chain III. Periodicity, Mixing, Absorption

25.1 Periodicity

xXがrecurrentであるとき,xがそれ自身からaccessibleである時刻,すなわちIx={n1:p(n)xx>0}を考える. Ixは和に対して閉じている(i.e. m,nIxm+nIx). dxIxの元の最大公約数として,xperiodという. periodの諸性質を論じる.

Lemma 25-1

x,yが同じrecurrentにあるとき,dx=dyである.

proof.

p(m)xy,p(n)yx>0であるm,nを選ぶ(同じrecurrentだから存在する). p(m+n)yyp(m)xyp(n)yx>0だからdym+nを割り切る. またlp(l)xx>0なるlNとすると,pm+n+lyyp(n)yxp(l)xxp(m)xy>0だから,dym+n+lを割り切り,故にlを割り切る. したがってdydxを割り切る. 同じ論法でdxdyを割り切ることも言えて,以上よりdx=dy

d>1であるようなrecurrent classをperiodicといい,d=1であるときにはaperidicという. periodicityはp(n)xyπyに収束することを妨げている. yがperiodicなrecurrent classの元とすると,p(n)yy=0が,ndの倍数でない限り成立するが,πy>0である. 一方d=1(aperiodic)であれば,十分大きな全てのnに,markov chainがyに戻ってくる確率が正になる.

Lemma 25-2 (証明略)

dy=1であれば,N1があって,nNp(n)yy>0である.

Markov chainがただ一つのrecurrent classをもち(irreducible),かつaperiodicであるとき,steady stateの振る舞いはstationary distributionによって与えられる.この事実をmixingという.

Theorem 25-3 (証明略)

irreduibleかつaperiodicなMarkov chainがあるとき,任意のstateの組x,yについてlimnp(n)xy=πy

periodicな場合には,p(n)xyの部分列の収束に関する定理が有るがここでは扱わない.
πxpxy=πypyxが任意のx,yXに成り立つとき,そのMarkov chainはreversibleであるという. Theorem 25-3の仮定にreversible性を加ええ場合の重要な定理が知られている.

Theorem 25-4 (証明略)

irreducible, aperiodic, reversibleなMarkov chainについて,任意のx,yX|p(n)xyπy|C|λ2|nが成り立つような定数Cが存在する.ただしλ2Pの二番目に絶対値が大きいeigenvalueとする.

|λ2|<1だから,これはp(n)xypiyへの収束の速さを与える.

25.2 Absorption Probabilities and Expected Time to Absorption

Markov chainの長期的な振る舞いを見てきたが,今度は短期的な振る舞いを議論する. 特にtransientなstateから始まったchainの振る舞いを考える. 簡単のため,recurrent state iabsorbingであるとする.すなわちpii=1である. これから考察するMarkov chainはtransient classのほかは全てabsorbingとする.
absorbing state iがただ一つであるときにはπi=1であって,必ずiに到達する. 一方absorbing stateが複数存在するときには,どのabsorbing stateに至るかは確率的に決まる.
aki=P(Xneventually equals i|X0=k)
をabsorbing probabilityという. jがabsorbingならajj=0,aji=0である.
kがtransientなら
aki=P(n:Xn=i|X0=k)=Nj=1P(n:Xn=i|X1=j)pkj=Nj=1ajipkj
だから,この線形連立方程式を解くことでabsorption probabilityを得られる.

Example: Gambbler’s Ruin

あるギャンブラーが一回の勝負ごとにpの確率で1ドルを得て,1pの確率で1ドルを失うとする. それぞれの勝負は独立であるとする. ギャンブラーはmドルを稼ぐか金を全て失うまで勝負を続ける. 彼が全財産を失う確率を求めよ

iはギャンブラーの持つ金額として,Markov chain X={0,1,...,m}を考える. i=0なるとき,彼は全財産を失うったということであり,i=mとなるとき,彼は目的を達成したということである. 0,mはabsorbing stateであると言える.
transition probabilityはpi,i+1=p,pi,i1=1pが全てのi=1,...,m1で成立する.またp00=pmm=1である. i=0のabsorbing probabilityは
a00=1am0=0amm=1ai0=(1p)ai1,0+p(ai+1,0)     for i=1,...,m1
によって計算できる.bi=ai0ai+1,0,ρ=(1p)/pとすると,上の方程式から
(1p)(ai1,0ai,0)=p(ai0ai+1,0)bi=ρbi1
であって,故にbi=ρib0である. b0+b1++bm1=a00am0=1であって, (1+ρ+...+rhom1)b0=1であって,
bi={ρi(1ρ)1ρm   ifρ11motherwise
さらにai,0ρ1ならばi=1,...,m1について
ai0=a00bi1...b0=ρiρm1ρm
ρ=1ならば
ai0=mim
したがってiがいかなる値でもmが大きくなると全財産を失う確率が1に近づく.

Discrete Stochastic Processesに続く

MIT OCW, Machine Learning 07日目 リッジ回帰

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.

Penalized Log-Likelihood and Ridge Regression

training dataが,その各exampleの次元dに対して十分に大きくないときには,パラメータをregularizeすることが多い. prior distributionをP(θ,θ0)にassign することで,どのようにregularizeすればよいかを見る. prior distributionは, パラメータの推測値の絶対値を小さくするために導入する.
prior distributionを平均0のnormal distributionとする.つまり
P(θ,θ0,σ2)=N(θ0;0,σ2)
をlikelihood Lに追加すると
l(θ,θ0,σ2)=nt=1log[12πσ2exp(12σ2(ytθTxtθ0)2)]+logP(θ,θ0;σ2)=const.n2logσ212σ2nt=1(ytθTxtθ0)212σ2(θ20+dj=1θ2j)d+12logθ2
また,σ2=σ2/λとすることも多い. σ2が小さいときにはoverfittingのおそれがあるので,よりpenallityを大きくしてパラメータを0に近づけるのである. training dataが小さいときにはσ2が小さくなりなちなので,この節のはじめに説明したregularizationをする動機と合目的である.
σ2=σ2/λlに代入すると
l(θ,θ0,σ2)=const.n2logσ212σ2nt=1(ytθTxtθ0)2λ2σ2(θ20+dj=1θ2j)d+12log(σ2/λ)=const.n+d+12logσ2+d+12logλ12σ2[nt=1(ytθTxtθ0)2+λ(θ20+dj=1θ2j)]
このregularization problemの解を求めることをRidge regressionという.
その解ˆθ,^θ0は,
[ˆθ^θ0]=(λI+XTX)1Xy
で与えられる.
E[[ˆθ^θ0]|X]=(λI+XTX)1XTX[θθ0]=(λI+XTX)1(XTX+λIλI)[θθ0]=[θθ0]λ(λI+XTX)1[θθ0]=(Iλ(λI+XTX)1)[θθ0]
だから,ˆθ,^θ0はbiasedな推測である. また(Iλ(λI+XTX)1)は固有値が1未満の正定値行列で,λが大きくなるとともにθ,θ00へと近づいていく. 以前やったのと同じ方法で MSEを計算すると,
E[[ˆθ^θ0][θθ0]|X]=σ2Tr[(λI+XTX)1λ(λI+XTX)2]+λ2[θθ0]T(λI+XTX)2[θθ0]
であって,これはregularizationを考えない場合のMSE σ2Tr[(XTX)1]よりも小さく出来る.

Active Learning

training data {x1,...,xn}を能動的に選んでestimation errorを小さくすることを,active learning問題という. 例えば画像の分類で,すでにたくさんのtraining dataのもととなるlabelなしの画像データが有るが,そこからできるだけ少なくデータを選んでラベル付けし(ときにラベル付は画像そのものの収集よりコストがかかる),training dataとする状況を考える. 推測の正確性を犠牲にせずに,できるだけ選ぶ画像データを少なくする方法を考えるのである.
この問題を考察するため,regularizationの無い場合のestimation errorを再掲する.
E[[ˆθ^θ0][θθ0]|X]=σ2Tr[(XTX)1]
σ2はtraining dataの選び方によらないので,Tr[(XTX)1]が小さくなるようにすれば良い. ただし,この方法はexampleと推定値の写像の線形性を仮定しているから,そうでない場合には使えない.

2017年8月20日日曜日

MIT OCW, Machine Learning 06日目 宿題2

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.

Assignment

Problem set 1 Section B

1.

パーセプトロンの実装.pythonを使う.

import numpy as np
import matplotlib.pyplot as plt

def sign(r):
    if r >= 1:
        return 1
    else:
        return -1

class PerceptronClassifier:
    def get_params(self):
        gamma = np.argmin(np.abs([np.dot(self.theta, x) for x in self.train_X]))
        gamma_geom = gamma / np.linalg.norm(self.theta)
        print("theta is: {0}, k till the convergence is {1}".format(self.theta, self.k))
        print("The angle with [1, 0] and theta is: {0} (rad)".format(np.arccos(self.theta[0]/np.linalg.norm(self.theta))))
        print("The geometric margin is {0}".format(gamma_geom))

    def perceptron_train(self, X, y):
        self.train_X = X
        self.train_y = y
        self.theta = np.zeros(len(X[0]))
        self.k = 0
        while True:
            cnt = 0
            for i in range(len(self.train_y)):
                if y[i] != sign(np.dot(self.theta, self.train_X[i])):
                    self.k += 1
                    self.theta = self.theta + y[i]*X[i]
                    cnt += 1
            if cnt == 0:
                break

    def perceptron_test(self, test_X, test_y):
        self.test_X = test_X
        self.test_y = test_y
        errors = 0
        for i in range(len(test_y)):
            if test_y[i] != sign(np.dot(self.theta, test_X[i])):
                errors += 1
        print("The error ratio is: {0}".format(errors/len(test_y)))

    def draw_graph(self, train=True):
        if train:
            X = self.train_X
            y = self.train_y
        else:
            X = self.test_X
            y = self.test_y

        plus = np.array([x for x in X if np.dot(self.theta, x)>=0 ])
        minus = np.array([x for x in X if np.dot(self.theta, x) < 0])

        plt.scatter(plus[:, 0], plus[:, 1], color='red', s=2)
        plt.scatter(minus[:, 0], minus[:, 1], color='blue', s=2)
        plt.show()

模範解答とはことなった結果を示すが,収束までの更新回数kγgeomは更新を行う前に定義するθの初期値にわりと鋭敏に反応するので,深く考えなくてもいいかもしれない(MATLABとPythonの精度も関係しているかも?).

X_a = np.loadtxt('p1_a_X.dat' )
y_a = np.loadtxt('p1_a_y.dat')
X_b = np.loadtxt('p1_b_X.dat')
y_b = np.loadtxt('p1_b_y.dat')

per_cla = PerceptronClassifier()
per_cla.perceptron_train(X_a, y_a)
per_cla.perceptron_test(X_a, y_a)
per_cla.draw_graph('Dataset A')
per_cla.get_params()

per_cla = PerceptronClassifier()
per_cla.perceptron_train(X_b, y_b)
per_cla.perceptron_test(X_b, y_b)
per_cla.draw_graph('Dataset B')
per_cla.get_params()


enter image description here

2, 3.

SVMの実装. quadratic programを解く関数を使っていいらしいがpythonだとpipにも入ってないから飛ばす