データ学習アルゴリズム」

「データ学習アルゴリズム」
報告者 佐々木 稔
2003年6月25日
第3章 複雑な学習モデル
3.1 関数近似モデル
3.1.1 関数近似モデルの定義
3.1.2 関数近似モデルの学習
3.1.3 3層パーセプトロン
3.1.4 球形基底関数、RBF
複雑な学習モデル
神経回路網モデルとその学習アルゴリズム
学習の性質は完全に解明されてはいない
実データの学習、認識、予測において有効性を実証
神経回路網モデルに使われる関数近似
モデルの定義と学習について説明
関数近似モデル
入力 x  R M から、n 次元空間に出力する関数
f (x, w) (w∈Rd はパラメータ)
出力空間上の確率変数 Y
雑音 Z (平均 0 の RM 上の確率変数)
Y = f (x, w) + Z
関数近似モデル
(Function Approximation Model)
Z が確率関数 q( ・ ) を持つとき
関数近似モデルの条件付き確率 p(y | x, w) は
p( y | x, w)  q( y  f ( x, w))
特に、
q( ・ ) が平均 0、共分散行列 σ2I の正規分布ならば
2


y

f
(
x
,
w
)
1


p( y | x, w) 
exp
2


(2 2 ) N / 2
2



このモデルは、関数 f (x, w) で定まるので、
関数のモデルと同じものとみなされる
例 T 個の観測データからなる1次元データ
{(x(t), y(t)) | t = 1, ・・・, T}
線形モデル y = ax で近似(傾き a を決定する)
二乗誤差 E
T
E   ( y (t )  ax(t ))2
t 1
を最小にする
T
T
E
 2 ( y(t )  ax(t ))x(t )  2 (ax2 (t )  x(t ) y(t ))  0
a
t 1
t 1
x(t ) y (t )

a
 x (t )
T

t 1
T
t 1
2
線形モデル y = ax は原点を通る直線
近似できる関数は限られたものになる
K 個の関数の集合 {ki(x) | i = 1, ・・・, K} を
用い、その線形結合で関数を近似する
K
y   a j k j ( x)
j 1
kj(x) はカーネル関数と呼ばれる
(一般に非線形関数が使われる)
例37
R1 上の関数を学習する時の代表的なモデル
多項式モデル
f ( x, w)  w0 x  w1x
K
K 1
  wK
フーリエ級数モデル
K
f ( x, w)  c   ak cos(kx)  bk sin(kx)
k 1
損失関数がパラメータの2次式となり、
最尤推定量を線形演算で求められる
例38
h (x) :
関数基底系
R1 から R1 への関数近似モデル
H
f ( x, w)   ah h ( x)
h 1
R2 から R1 への関数近似モデル
f ( x1 , x2 , w) 
H
a
h , k 1
hk
 h ( x1 ) h ( x2 )
高次元のモデルに拡張が可能
ahk のパラメータ数が指数乗で増加する
関数近似モデルの学習
p(y | x, w, σ) の学習誤差 Ln(w, σ)
1 n
2
Ln ( w,  ) 
   yi  f ( xi , w)   N log
2
2 n i 1
1
Ln(w, σ) を最小にするパラメータ (w, σ) を計算
最急降下法
(前回の2.2節参照)
一括学習の最急降下法(37ページ参照)
dw
  w Ln ( w,  )
dt
1 1 n
 2    yi  f ( xi , w)  w f ( xi , w)
 n i 1
d


Ln ( w,  )
dt

1 1 n
N
2
 3    yi  f ( xi , w)  
 n i 1

d
0
dt
のとき、
1 1 n
     yi  f ( xi , w)2
N n i 1
2
w の最適値 wˆ が得られれば、
σ の最適値 ˆ も得られる
w についての微分方程式
dw 1 n
   yi  f ( xi , w)  w f ( xi , w)
dt n i 1
を用いて最適値 wˆ を求め、 ˆ を算出
各サンプルから逐次学習を行う場合(41ページ参照)
サンプルの組 (xi, yi) ランダムに選ぶ
(t )  (1 / t )
以下の逐次学習アルゴリズムを繰り返す
w(t  1)  w(t )  (t )( yi  f ( xi , w)) w f ( xi , w)
  (w(t )  w(t  1))