Publicité
第4回MachineLearningのための数学塾資料(浅川)
第4回MachineLearningのための数学塾資料(浅川)
第4回MachineLearningのための数学塾資料(浅川)
第4回MachineLearningのための数学塾資料(浅川)
Publicité
第4回MachineLearningのための数学塾資料(浅川)
第4回MachineLearningのための数学塾資料(浅川)
第4回MachineLearningのための数学塾資料(浅川)
第4回MachineLearningのための数学塾資料(浅川)
第4回MachineLearningのための数学塾資料(浅川)
Publicité
第4回MachineLearningのための数学塾資料(浅川)
Prochain SlideShare
回帰回帰
Chargement dans ... 3
1 sur 10
Publicité

Contenu connexe

Présentations pour vous(20)

Similaire à 第4回MachineLearningのための数学塾資料(浅川)(20)

Publicité

Dernier(20)

Publicité

第4回MachineLearningのための数学塾資料(浅川)

  1. 1 確率の定義 • 経験的確率 • 公理論的確率 • 主観的確率 サイコロの目の出る確率に基礎を与えるのは,「等確率の原理」 自然科学,物理学に基盤となす理論を提供する役割を担った他の数学の諸分野と異なり,確率は,社会 科学,あるいは賭けに基礎を与える目的で発展してきた。 19 世紀の科学の発展は,物理諸現象を確率的に解釈する試みであった。 日本語ウィキペディアによれば, 確率変数 X : Ω → E は、その取り得る値 (Ω) から取り出した部分 E に由来する可測関数である。 通 常、E = R である。そうでない場合は確率要素として考察する(概念の拡張参照)。Ω と E の両方が可測 空間である為に公理的定義が必要とされる(測度論的定義参照)。実数関数として、X はしばしば実験対象 の量を記述する。例えて言えば、或る回数コイントスをした場合に表が出た回数や、様々な人々の身長な どである。X の像(或いは範囲)が有限若しくは可算集合である時、確率変数は離散確率変数と呼ばれ、 その分布は X の像の値其々に関連付けられた確率として確率質量関数で記述できる。像が不可算無限集合 であるならば X は連続確率変数と呼ばれる。また特別な場合として、絶対連続の場合にはその分布は区間 内の確率として確率密度関数で記述される。注意すべき点は、其々独立した「点」で絶対連続な確率変数 の値 = 0 であるという事である。全ての連続確率変数が絶対連続だというわけではない。混合分布(英語 版)がその例である。そのような確率変数は確率密度関数または確率質量関数で記述できない。あらゆる 確率変数は累積分布関数で記述できる。累積分布関数とは、確率変数が或る値以下である確率を示すもの である。 P(A) + P( ¯A) = 1 (1) P( ¯A) = 1 − P( ¯A) (2) Ω = X1 + X2 + · · · + X_m (3) ¯Ω = ∅ (4) P(Ω) = 1 (5) P(¯Ω) = 0 (6) P(x_1 + x_2 + x_3 + · · · + x_n) = P(x_1) + (x_2) + · · · + P(x_n) (7) 1
  2. X と Y との同時確率: P(X, Y ) = P(Y |X)P(X) = P(X|Y )P(Y ) (8) ベイズの定理: P(Y |X) = P(X, Y ) P(X) (9) P(X1, X2, · · · , Xn) = P(X1)P(X2|X1)P(X3|X2, X1) · · · (10) P(Y |X) ≥ 0 (11) P(Ω|X) = 1 (12) P(Y1 + Y2|X) = P(Y1|X) + P(Y2|X) (13) P(Ai|B) = P(Ai)P(B|Ai) P(A1)P(B|A1) + P(A2)P(B|A2) + · · · + P(An)P(B|An) (14) 2 確率変数 2.1 期待値 E[X] = m∑ i=1 xiP(xi) (15) E[X] = ∫ Ω xf(x)dx (16) 2.2 分散 V [X] = E[X2 ] − (E[X])2 (17) = 1 n n∑ i=1 (X − ¯X)2 p(X) (18) = 1 n ∫ Ω (x − µ)2 f(x)dx (19) 2
  3. 2.3 共分散 E[(X − ¯X)(Y − ¯Y )] = 1 n ∑ (X − ¯X)(Y − ¯Y ) √ 1 n ∑ (X − ¯X)2 √ 1 n ∑ (X − ¯X)2 (20) 2.4 ベイズの定理について補足 上で述べたベイズの定理をデータ解析用に書き換えておく。 P(θ|D) = P(D|θ) p(θ) p(D) (21) ここで D はデータ,θ はモデルを記述するパラメータ,とする。データが得られたとき,モデルを記述 するパラメータを推定する問題を考えると上式右辺 P(θ|D) は 尤度 likelihood の推定式とみなしうる。 加えて P(D|θ) : 所与のデータ密度分布 P(θ) : パラメータの事前分布 prior distribution P(θ|D) : パラメータの事後分布 posterior distribution PP(D) : 証拠 evidence あるいは 周辺分布 marginal distribution ( ∑ θ P(D|θ)P(θ)) 上記のようにして,データが得られた場合に,事前分布とデータ(右辺)からモデルのパラメータ (左 辺) を推定することが可能となる。事前分布(あるいは事前知識ともいう)からモデルのパラメータを推定 していくので上式をベイズ推定 あるいは ベイズ推論 と呼ぶ。 3
  4. 活性化関数 浅川伸一[asakawa@ieee.org](asakawa@ieee.org) ロジスティック関数: In [24]: #!/bin/env python from __future__ import print_function import numpy as np import matplotlib.pyplot as plt %matplotlib inline In [31]: a = [] for x in np.linspace(-4,4,300): a.append(1./(1.+np.exp(-x))) plt.plot(a) plt.axis([0, 300, -1, 1]) plt.title('logistic function $sigma(x)$') plt.show() σ (x) σ (x) d dx = 1 1 + exp(−x) = x (1 − x) 4
  5. ハイパータンジェント: In [35]: a = [] for x in np.linspace(-4,4,300): a.append(np.tanh(x)) plt.plot(a) plt.axis([0, 300, -1, 1]) plt.title('tanh(x)') plt.show() 整流線形ユニットReLU (Rectified Linear Unit): ReLU は厳密には微分可能な関数ではない。ReLU では原点 において劣微分 subdifferential を考える。原点 での勾配が計算できないが,ReLU は下に凸であるの で における勾配はある範囲内に納まる。これを劣勾配subgradient と呼び である。すなわち劣勾配は値が定まるのではなく勾配の範囲を定め る。 tanh(x) tanh(x) d dx = exp(x) − exp(−x) exp(x) + exp(−x) = 1 − x 2 ReLU (x) ReLU (x) d dx = max (0, x) = max (0, 1) x = 0 x = 0 x = 0 dReLU (0) /dx = [0, 1] 5
  6. In [36]: def relu(x): return x * (x > 0) a = [] for x in np.linspace(-4,4,300): a.append(relu(x)) plt.plot(a) plt.axis([0, 300, -1, max(a)]) plt.title('relu(x)') plt.show() ソフトプラス: ソフトプラスはReLU を微分可能な関数で近似したと見做すことができる。 softplus (x) log(1 + exp(x)) d dx = log(1 + exp(x)) = 1 1 + exp(−x) 6
  7. In [39]: def softplus(x): return np.log(1. + np.exp(x)) def dsoftplus(x, delta=1e-05): a = softplus(x+delta) b = softplus(x-delta) return (a-b)/(2.* delta) a = [] for x in np.linspace(-4,4,300): a.append([softplus(x), dsoftplus(x), relu(x)]) plt.plot(a) plt.axis([0, 300, -1, 4]) plt.title('softplus and dsoftplus, and relu') plt.show() ソフトマックス: ここで はクロネッカーのデルタである: softmax ( )xi softmax ( ) ∂ ∂xi xi = exp( )xi exp( )∑ j xj = ( − )xi δij xi δij = { δij 1 0 (i = j) (i ≠ j) 7
  8. In [2]: #!/bin/env python from __future__ import print_function import numpy as np import matplotlib.pyplot as plt %matplotlib inline def relu(x): return x * (x > 0) def softplus(x): return np.log(1. + np.exp(x)) def dsoftplus(x, delta=1e-05): a = softplus(x+delta) b = softplus(x-delta) return (a-b)/(2.* delta) a = [] for x in np.linspace(-4,4,300): a.append([1./(1.+np.exp(-x)), np.tanh(x), softplus(x), dsoftplus(x), relu(x)]) plt.plot(a) plt.show() 8
  9. 1 正規分布を積分すると 1 になることの証明 1.1 ガウス積分 I = ∫ ∞ 0 {− 1 2 x2 dx = √ 2π (1) を証明する。 I を求めるかわりにその自乗である I2 を考える I2 = ∫ ∞ −∞ e− 1 2 x2 dx ∫ ∞ −∞ e− 1 2 y2 dy (2) = ∫ ∞ −∞ e− 1 2 x2 − 1 2 y2 dx dy (3) ここで,x と y とを極座標に変換する: x = r cos θ (4) y = r sin θ (5) x と y とを積分するかわりに変数変換した r と θ について積分することを 置換積分 という。 行列表現すれば ( x y ) = ( r cos θ r sin θ ) (6) 2 ヤコビアン Jacobian 関数行列の行列式をヤコビアンという。この場合,ヤコビアンは J = ∂J/∂r, ∂J/∂θ ∂J/∂r, ∂J/∂θ = r (7) となるので I2 = ∫ ∞ 0 ∫ 2π 0 e− 1 2 r2 rdrdθ (8) I2 = 2π ∫ ∞ 0 ∫ 2π 0 e− 1 2 r2 r dθ dr (9) = 2π ∫ ∞ 0 e−r2 rdr (10) = 2π [ − 1 2 e− 1 2 r2 ]∞ r=0 (11) = 2π (12) したがって I はその開平であるから I = ∫ ∞ −∞ e− 1 2 x2 dx は √ 2π である。 9
  10. 3 別解 3.1 ガンマ関数 Γ(x) = ∫ ∞ 0 tx−1 e−t dt (13) ガンマ関数には Γ(1) = π, Γ(n) = (n − 1)! である。すなわちガンマ関数 は 順列 nPm の実数への一般化 である。 3.2 ベータ関数 m,n が 0 以上の整数のとき,以下のような積分公式が成立する(ベータ関数の積分公式): β(x; m, n) = ∫ α β(x − α)m (β − x)dx= m!n! (m+n+1)! (β−α) {m + n + 1} (14) とくに α = 0, β = 1 とすると β(x; m, n) = ∫ 1 0 xm (1 − x)n ; dx = m!n! (m + n + 1)! (15) 上式をみるとベータ関数は順列 nCm の実数への一般化である。すなわち β(m, n) = Γ(m + n) xm−1 (1 − x)b−1 Γ(m)Γ(n) (16) あるいは β(m, n) = Γ(m) Γ(n) Γ(m + n) (17) Γ(1/2) = ∫ ∞ 0 e−t √ t dt (18) であるから t = x2 と置換する。 Γ( 1 2 ) = ∫ ∞ 0 e−x2 x 2ax dx (19) = 2 ∫ ∞ 0 e−x2 dx (20) = I (21) 一方 Γ(1/2)2 = Γ(1)β(1/2, 1/2) = ∫ ∞ 0 1 x(1 − x) dx (22) ここで x = sin2 θ と置換すると dx dθ = 2 sin θ cos θ (23) となるので, ∫ ∞ 0 1 x(1 − x) dx = ∫ π/2 0 2 sin θ cos θ sin θ cos θ dθ = π (24) すなわち I = 2 √ π See also: http://mathtrain.jp/gauss 10
Publicité