Widrow-Hoffの学習規則(1)

知能情報工学
第5回
Widrow-Hoffの学習規則
2016年5月17日
吉川雅博
1
誤識別を許容した学習方法
𝜔1
𝜔2
2つのクラスが重複した場合,
2つのクラスを誤識別なく分類できる識別境界はない
→ 誤識別を許容した学習規則
Widrow-Hoffの学習規則
2
Widrow-Hoffの学習規則(1)
全学習データの集合を以下のように定義
𝜒 = {𝒙1 , … , 𝒙𝑛 }
𝑝番目の学習データを𝒙𝑝 として,𝑐個の識別関数の値を並べた
ベクトルは以下となる
𝑔1 𝒙𝑝 , … , 𝑔𝑐 (𝒙𝑝 )
𝑡
識別関数の望ましい値𝑏𝑖 を教師信号と呼び,
各クラス分並べたものを教師ベクトルと呼ぶ
𝒃𝑖 = 𝑏1 , … 𝑏𝑖 , … , 𝑏𝑐
𝑡
(𝑏𝑖 = 1, 𝑏𝑗 = 0(𝑗 ≠ 𝑖))
𝒙𝑝 がクラス𝜔𝑖 に属するのであれば𝑏𝑖 = 1,残りは0とする
3
Widrow-Hoffの学習規則(2)
識別関数の値と教師信号の値との誤差を𝜀𝑖𝑝 とすると,
𝜀𝑖𝑝 = 𝑔𝑖 𝒙𝑝 − 𝑏𝑖
誤差𝜀𝑖𝑝 の2乗和を𝐽𝑝 とすると,
1
𝐽𝑝 =
2
微分のため
1
=
2
𝑐
2
𝜀𝑖𝑝
𝑖=1
1
=
2
𝑐
𝑔𝑖 𝒙𝑝 − 𝑏𝑖
2
𝑖=1
𝑐
𝒘𝑡𝑖 𝒙𝑝
− 𝑏𝑖
2
𝑖=1
4
Widrow-Hoffの学習規則(3)
すべての学習データの誤差の和をとったものを𝐽とすると
𝑛
𝐽=
𝑝=1
1
𝐽𝑝 =
2
𝑛
𝑐
2
𝜀𝑖𝑝
𝑝=1 𝑖=1
1
=
2
𝑛
1
=
2
𝑛
𝑐
𝑔𝑖 𝒙𝑝 − 𝑏𝑖
2
𝑝=1 𝑖=1
𝑐
𝒘𝑡𝑖 𝒙𝑝 − 𝑏𝑖
2
𝑝=1 𝑖=1
𝐽を最小にするように各クラスの重み𝒘𝑖 𝑖 = 1, … , 𝑐 を調整する
→ 最急降下法
5
最急降下法
クラス𝑖に対する重み𝒘𝑖 ,更新後の重み𝒘𝑖 ′,学習係数𝜌とすると
重みの更新式は以下となる
𝜕𝐽 𝐽を𝒘𝑖 の成分で微分して,
𝒘′𝑖 = 𝒘𝑖 − 𝜌
𝜕𝒘𝒊 ベクトル形式に並べたもの
𝐽
(𝑤𝑖0 , 𝐽(𝑤𝑖0 ))
𝑑𝐽
−𝜌
傾き
𝑑𝑤𝑖
𝑤𝑖1 𝑤𝑖0
𝑤𝑖
6
Widrow-Hoffの学習規則(4)
𝜕𝐽
=
𝜕𝒘𝑖
𝑛
𝑝=1
𝜕𝐽𝑝
𝜕𝒘𝑖
1
𝐽𝑝 =
2
𝑐
𝒘𝑡𝑖 𝒙𝑝
− 𝑏𝑖
2
𝑖=1
𝑛
𝒘𝑡𝑖 𝒙𝑝 − 𝑏𝑖 𝒙𝑝
=
𝑝=1
最終的に最急降下法の式は以下となる
𝜕𝐽
𝒘′𝑖 = 𝒘𝑖 − 𝜌
𝜕𝒘𝒊
𝑛
𝒘𝑡𝑖 𝒙𝑝 − 𝑏𝑖 𝒙𝑝
= 𝒘𝑖 − 𝜌
𝑝=1
7
演習7
Widrow-Hoffの学習規則を用いて,以下の学習データから識
別関数を求めよ.
重みの初期値は𝑤0 = 0.2, 𝑤1 = 0.3,学習係数は𝜌 = 0.2とする
𝑥1
(1.0, 1.0)
𝜔1
(1.0, 0.5)
(1.0, -0.2)
𝑥0
𝜔2
(1.0, -1.3)
※荒木雅弘「フリーソフトでつくる音声認識システム」より
8
演習7-解答
𝑔1 (𝒙)を学習
クラス𝜔1 → 教師信号1
クラス𝜔2 → 教師信号0
1回目の更新
クラス
𝑥0
𝑥1
𝑤0
𝑤1
𝑔(𝒙)
誤差
𝜔1
1.0
1.0
0.2
0.3
0.5
-0.5
𝜔1
1.0
0.5
0.2
0.3
0.35
-0.65
0.35 − 1 = −0.65
𝜔2
1.0
-0.2
0.2
0.3
0.14
0.14
𝜔2
1.0
-1.3
0.2
0.3
-0.19
-0.19
0.14 − 0 = 0.14
−0.19 − 0 = −0.19
0.5 − 1 = −0.5
誤差の2乗和 0.7282
Widrow-Hoffの学習規則による重みの更新
𝑤0 ′ = 0.2 − 0.2 × −0.5 × 1.0 − 0.65 × 1.0 + 0.14 × 1.0 − 0.19 × 1.0
= 0.44
𝑤1 ′ = 0.3 − 0.2 × (−0.5 × 1.0 − 0.65 × 0.5 + 0.14 × −0.2 − 0.19 × −1.3)
9
= 0.4212
演習7-解答
2回目の更新
クラス
𝑥0
𝑥1
𝑤0
𝑤1
𝑔(𝒙)
誤差
𝜔1
1.0
1.0
0.44
0.4212
0.8612
-0.1388
𝜔1
1.0
0.5
0.44
0.4212
0.6506
-0.3494
𝜔2
1.0
-0.2
0.44
0.4212
0.3557
0.3577
𝜔2
1.0
-1.3
0.44
0.4212
-0.1075
-0.1075
誤差の2乗和 0.2794
Widrow-Hoffの学習規則による重みの更新
𝑤0 ′ = 0.4876
𝑤1 ′ = 0.4702
これ以降10回更新を繰り返すと,誤差は0.2450で落ち着き,
識別関数は𝑔1 𝒙 = 0.5𝑥0 + 0.5𝑥1 となる
10
演習7-解答
𝑔2 (𝒙)を学習
1回目の更新
クラス𝜔1 → 教師信号0
クラス𝜔2 → 教師信号1
クラス
𝑥0
𝑥1
𝑤0
𝑤1
𝑔(𝒙)
誤差
𝜔1
1.0
1.0
0.2
0.3
0.5
0.5
𝜔1
1.0
0.5
0.2
0.3
0.35
0.35
0.35 − 0 = 0.35
𝜔2
1.0
-0.2
0.2
0.3
0.14
-0.86
𝜔2
1.0
-1.3
0.2
0.3
-0.19
-1.19
0.14 − 1 = −0.86
−0.19 − 1 = −1.19
0.5 − 0 = 0.5
誤差の2乗和 2.528
Widrow-Hoffの学習規則による重みの更新
𝑤0 ′ = 0.2 − 0.2 × 0.5 × 1.0 + 0.35 × 1.0 − 0.86 × 1.0 − 1.19 × 1.0
= 0.44
𝑤1 ′ = 0.3 − 0.2 × (0.5 × 1.0 + 0.35 × 0.5 − 0.86 × −0.2 − 1.19 × −1.3)
= −0.1788
11
演習7-解答
以降更新を繰り返すと,
識別関数𝑔2 𝒙 = 0.5𝑥0 − 0.5𝑥1 となる
𝑔1 𝒙 = 0.5𝑥0 + 0.5𝑥1
𝑔2 𝒙 = 0.5𝑥0 − 0.5𝑥1
クラス
𝑥0
𝑥1
𝑔1 (𝒙)
𝑔2 (𝒙)
𝜔1
1.0
1.0
1.00
0
𝜔1
1.0
0.5
0.75
0.25
𝜔2
1.0
-0.2
0.4
0.6
𝜔2
1.0
-1.3
-0.15
1.15
12