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

なら

Chebyshev inequality


Chernoff bound

任意のにmoment generationg function が定義されているなら,

proof.

とする. で,にMarkov inequalityを使って
すなわち
を導入すると,がたしかに成立.

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

Convergence

Weak Law of Large Numbers

はIIDで,とする.
とするとである.
の振る舞いを見る.
だから
. これを converges in mean square to という. 前者はIIDでないときには成り立たないし,分散が存在しないときにも成り立たないが,このようなときでも実は後者は成立する.

Definition

にconverges in mean square to

ここでChebishev’s inequalityを使って

以上より,weak law of large numbers(WLLN, 大数の弱法則)

が示せた. (IIDの仮定に注意,varianceは存在しなくても良い)これはのdistributionがの極限でで0, をとるステップ関数になるということである

Central Limit Theorem

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の公理

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

(1)
(2)
(3)
つまり-algebraであるということ.

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

(1)
(2)
(3) が互いに素なら

Eventの独立性

がindependent

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

Random Variable

のrandom variable(r.v., 確率変数)
-可測

また,のdistributinoという.

Lecture 2. 確率論の復習

Expectations

のexpectation(期待値)

と定める(上の二つが定義,下の二つが定義から導かれる公式).
4番目の式の片方の項が,もう一方がの場合を考えれば,expectationが定義できないrandom variableが存在することがわかる. 普通のときのみ,が存在するという.
また,のstandard deviation(標準偏差) をと定める.
上から3番目の式を,discreteの場合に直感的に正当化する.
enter image description here
figure 1.
fig.1のそれぞれの四角形の面積がの各項を表している.として,軸に垂直な直線と,四角形の重複する部分の長さはだから,四角形の面積の和はと一致する.

example: indicator random variable

のindicator random variable
についてだから,

multiple random variables

random variables についてjoint distribution function
が定義できる.これはrandom variableの集合でも動揺に定義できて,がindependentなら

である.

discrete rv’s について

をconditional probabilityという. がindependentなら

IID random variables

がindependent and identically distributed(IID)
かつ
で,その上のr.v. があるとき,i.i.d.として並べて上のr.v. を考えることが出来る(extended modelという).
(がなんであってもを考えればいいような気がするが・・・・)

Sample Average

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

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

The Bernoulli Process

がi.i.d.に並んだがあるとき,
の分布を調べる.この節ではと約束する.
となる確率は.で最大となり,の増加とともに減少する.
また,のうちちょうど個が,ほかがである場合の数は個で,それぞれの確率はだから,確率の和は.よって

による増減は,

だから,の増加とともに狭義単調減少する.
さらに,

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

Assignment 1. Problem set 1.

Exercise 1.3

はdisjointで,とする.
(a) この過程が確率の公理に反することを示せ
(b) で置き換えると,上の過程がその公理系を満たすことを示せ
この結果から,countable additivityがfinite additivityよりも強い概念であることがわかる.

答案.

(a)

よって示せた.
(b)
. これとは矛盾しない.

Exercise 1.9

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

答案.

(a)
から
(独立性)
よって
(b)
(a)とほとんど同様に,

(c) (模範解答)
求めるr.v. をとする.
とする.
から
.

がPDF を持つことから,これはである.

Exercise 1.13

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

答案.

(a)
(b)
のどれか一つが確立1で成立し,対称性から.
(c) (がrecord-to-dateである確率)
が発散することは有名である.
(模範解答ではは必ずrecord-to-dateになっていた.全件否定からたしかにはrecod-to-date)

Exercise 1.20

(a) は確率1/2で1,確率1/2で0をとるbinary rv’sとする. がdependentだが,それぞれ2つを選ぶとindependentになる例を挙げ,PMF を求めよ (hint: もっとも単純な例では,ただ4つのjoint probabilityが正となる)
(b) pairwise independenceは

の十分条件か.

模範解答.

(a)
(b) この例で, .よって十分条件でない.

Exercise 1.26

r.v. はcontinuousで,distributionはとする. を新たなr.v.として考える.すなわち,に,ならばということである. 上でuniformly distributedであることを示せ.

答案.

を言えば良い.

の単調性から,あるがあって,.の最大値(連続性から存在)をとすると.

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)

というlinear modelについて,最尤法で推測されるパラメータのMSEは

となることから,をうまく設計することで少ないexampleからよりよい推測を行うことをactive learningといった. の設計で最も単純な方法は,があるときに,が最少になるようにを選ぶという操作を繰り返すというのがある. すでにがあって,とする. の行に新たに加えることを考える.


を最小化するを考える.

であって,を考えれば

が成立する. (は実数で,traceはその実数そのもの)
任意のだから,どのようなを加えたとしてもMSEは減少するが,減少量が最大であるようなを求めたい.

の大きさはの最大の固有値が上限である. 言い換えると,新しいexampleによってパラメータ空間からせいぜい1つだけ自由度を減じることが出来る. に制限がなければ,の最大の固有値に対応する固有ベクトルに平行な長さ無限のベクトルをとするのだが,という制限が有る場合には,最大固有値に対応する固有ベクトルと平行でながさのベクトルをとする. ほかにもに制限が有る場合には,もその制限を考慮することになる.

これまでMSEを推定量の良さの基準としてきたが,今度はvarianceを考える.

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

Non-linear Predictions, Kernels

の非線形な写像に対する像に対してこれまで議論してきた方法が使える.例えばというlinear modelが有るとき,を含む高次元のベクトルに写像してquadratic(二次) modelが得られ,を含む高次元のベクトルに写像するとthird order modelが得られる.
のような感じである.の意味は後で見る.
新しいpolynomial regression modelは

となる. 高次元空間に写像してから線形回帰するわけだが,このときregularizationを行わないとoverfittingが起きることが多い.(figure 2)
!

が多次元の場合も,

というふうにしてより高次元な空間に写像できる.
高次元な空間への変換は計算コストが膨大になることが有るが,を直接計算せずとも,例えば

のように,と,を暗黙に表現する計算が簡単なが存在することが有る(存在するようにを定めたのである). ではなく計算が簡単なを使うように問題を書き換えることを考える.

Lecture 7.

Linear Regression and Kernels

を外したモデルはの推測は

の最適化問題である. 前節で述べたとおり,ではなくでこの最適化問題を表現する.
regularizationによってに圧縮され,のtraining feature vectorと関係ない次元はになる. よってこの問題の解はの張る空間の元である.
proof.

局地の条件を考えると


を満たして,最適解である.


が成立するから,だけで決まる.
Gram行列

によってベクトルで書くと

そして解は

が得られたら,

によって,新しいexample に対してresponseの推測が計算できる.ここでkernel functionという.

Kernels

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


- Radial basis kernel

polynomial kernelは,を二項展開したときの各項へと写す写像を考えたときのkernel functionで, radial basis kernelは無限次元空間への写像のkernel functionである. radial basis functionはの近さを表していると考えることが出来る.

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

がrecurrentであるとき,がそれ自身からaccessibleである時刻,すなわちを考える. は和に対して閉じている(i.e. ). の元の最大公約数として,periodという. periodの諸性質を論じる.

Lemma 25-1

が同じrecurrentにあるとき,である.

proof.

であるを選ぶ(同じrecurrentだから存在する). だからを割り切る. またなるとすると,だから,を割り切り,故にを割り切る. したがってを割り切る. 同じ論法でを割り切ることも言えて,以上より

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

Lemma 25-2 (証明略)

であれば,があって,である.

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

Theorem 25-3 (証明略)

irreduibleかつaperiodicなMarkov chainがあるとき,任意のstateの組について

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

Theorem 25-4 (証明略)

irreducible, aperiodic, reversibleなMarkov chainについて,任意のが成り立つような定数が存在する.ただしの二番目に絶対値が大きいeigenvalueとする.

だから,これはへの収束の速さを与える.

25.2 Absorption Probabilities and Expected Time to Absorption

Markov chainの長期的な振る舞いを見てきたが,今度は短期的な振る舞いを議論する. 特にtransientなstateから始まったchainの振る舞いを考える. 簡単のため,recurrent state absorbingであるとする.すなわちである. これから考察するMarkov chainはtransient classのほかは全てabsorbingとする.
absorbing state がただ一つであるときにはであって,必ずに到達する. 一方absorbing stateが複数存在するときには,どのabsorbing stateに至るかは確率的に決まる.

をabsorbing probabilityという. がabsorbingならである.
がtransientなら

だから,この線形連立方程式を解くことでabsorption probabilityを得られる.

Example: Gambbler’s Ruin

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

はギャンブラーの持つ金額として,Markov chain を考える. なるとき,彼は全財産を失うったということであり,となるとき,彼は目的を達成したということである. はabsorbing stateであると言える.
transition probabilityはが全てので成立する.またである. のabsorbing probabilityは

によって計算できる.とすると,上の方程式から

であって,故にである. であって, であって,

さらにならばについて

ならば

したがってがいかなる値でもが大きくなると全財産を失う確率がに近づく.

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の次元に対して十分に大きくないときには,パラメータをregularizeすることが多い. prior distributionをにassign することで,どのようにregularizeすればよいかを見る. prior distributionは, パラメータの推測値の絶対値を小さくするために導入する.
prior distributionを平均0のnormal distributionとする.つまり

をlikelihood に追加すると

また,とすることも多い. が小さいときにはoverfittingのおそれがあるので,よりpenallityを大きくしてパラメータを0に近づけるのである. training dataが小さいときにはが小さくなりなちなので,この節のはじめに説明したregularizationをする動機と合目的である.
に代入すると

このregularization problemの解を求めることをRidge regressionという.
その解は,

で与えられる.

だから,はbiasedな推測である. または固有値が1未満の正定値行列で,が大きくなるとともにへと近づいていく. 以前やったのと同じ方法で MSEを計算すると,

であって,これはregularizationを考えない場合のMSE よりも小さく出来る.

Active Learning

training data を能動的に選んでestimation errorを小さくすることを,active learning問題という. 例えば画像の分類で,すでにたくさんのtraining dataのもととなるlabelなしの画像データが有るが,そこからできるだけ少なくデータを選んでラベル付けし(ときにラベル付は画像そのものの収集よりコストがかかる),training dataとする状況を考える. 推測の正確性を犠牲にせずに,できるだけ選ぶ画像データを少なくする方法を考えるのである.
この問題を考察するため,regularizationの無い場合のestimation errorを再掲する.

はtraining dataの選び方によらないので,が小さくなるようにすれば良い. ただし,この方法は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()

模範解答とはことなった結果を示すが,収束までの更新回数は更新を行う前に定義するの初期値にわりと鋭敏に反応するので,深く考えなくてもいいかもしれない(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にも入ってないから飛ばす