8. 問題設定:予測
入力 xから出力y を予測するための道具として、重みベ
クトル w を導入する
重みベクトルと入力ベクトルの内積
w (1)
の値を用いて予測を行う
( 2)
w sign(x w ) 0 positive
重みベクトル w w ( 3) sign(x w ) 0 negative
と予測
(n)
w
y (x w ) 0 予測は正しい
y (x w ) 0 予測は誤り
適切な ( x w )の符号を返す重みベクトル w を学習することが目標
8
9. 問題設定:損失関数
損失関数を、予測の正確さを図る指標として導入
今回の例では損失関数の一例として、Hinge-Lossを用いる
0 1 y (w x i ) 0
損失関数 i ( w ) 1 y ( w x i )
1 y (w x i ) 1 y (w x i ) 0
i (w )
Hinge-Loss
w x の予測が失敗しているほど、
損失関数の値が大きくなる
0 y ( w x)
9
10. 問題設定の一般化
評価分類器の作成は、以下のように定義できる
学習器を作成する
全データの損失の合計 i (w ) が
i
最小となる重みベクトル wを求める Batch学習
入力データと損失関数は以下のように一般化出来る
1つのデータ:重みベクトルを受け取り損失を返す損失関数
i () : w n
10
12. Online学習
Online学習
データ一つに対して、重みベクトル w を逐次的に更新する手法
1. 損失関数 t () を受け取る
2. 重みベクトル w tと t () を用いて、重みベクトルを w t 1 に更新
3. 次の損失関数 () が存在すれば、上記の操作を繰り返す
t 1
t () t 1 ()
… wt w t 1 …
12
13. Online学習アルゴリズムの目標
Batch学習の目標
min t (w )
w
全データの損失の合計 i (w) が最小
t
となる重みベクトル w を求める
i
Online学習の目標
min
w1 , w 2 ,...
(w )t t
全データの損失の合計 t (w t ) が最小
t
t
となる重みベクトル w t を求める
13
14. Online学習アルゴリズムの目標
Online学習の目標 Online学習の目標
min
w1 , w 2 ,...
(w )
t
t t t min t (w t )
wt
次にやってくる損失関数 t () の値を最小化
するように重みベクトル w t を更新する問題
ただし、どのようなアルゴリズムを用いても、損失関数 t () を意地悪に設
定してやれば、 min,... t (w t ) のworst caseの値は無限に大きくなる
w ,w 1 2
t
14
15. Online学習アルゴリズムの評価
Regret という概念を導入
元々は、ゲーム理論等で使用されていた枠組み
学習をする過程で蓄積した累積損失と、データを全て見た後で
重みベクトルを定めた時の最小合計損失との差
T T
Regret (T ) t (w t ) t (w ) *
w arg min t (w)
*
t 1 w t 1
Regret の上限が o(T ) ならば、更新を重ねるごとに1データ当た
りの Regret は0に収束する→最適解に収束する
(w ) (w )
T
*
t t t
Regret (T ) o(T ) lim t 1
0
T T
Regret の上限を小さなオーダーで抑える事が出来るアルゴリズ
ムは、重みベクトルを高速に最適解へ収束させられる
15
16. Online学習の利点
大量のメモリを必要としない
数TB程度の大規模なデータから学習を行う場合等に有効
大規模データでは、直接 arg min t (w) を求めることは難しい
w t
新たなデータを入手した時に、再学習が容易
batch学習では、新しいデータを入手するたびに、過去のデータ
も含めた arg min t (w) を計算しなければならない
w t
Online学習では新しいデータのみを使って更新を行えば良い
16
17. Greedy Projection
Online学習での典型的な学習手法
パラメータ更新式
w t 1 wt t t (w t ) : 更新幅(スカラー)
t
損失関数が最小となる方向へ重みベクトル w を更新する
Regret がo(T ) となる条件
() が凸(convex) Convex
w, v [0,1]
() が微分可能
( v) (1 )(w) (v (1 )w)
Hinge-Loss等の関数では、微分不可能な点が存在
劣勾配法(Subgradient Method)を用いる
Hinge-Loss 17
18. 劣勾配法(Subgradient Method)
微分不可能な点では、劣勾配 (Subgradient) を用いる
劣勾配:(w) g | v : ( v) (w) g, v w
Hinge-loss
() が凸であれば、
劣勾配が存在
劣勾配の集合の要素を
点線で示している
パラメータ更新式
wt 1 w t t gt gt (w t )
18
20. 正則化
過学習 (Over-Fitting)
訓練集合の損失関数を最小化する最適なパラメータを求める
と、訓練集合に過剰適合する問題が発生することがある
正則化
パラメータが複雑になればなるほど値が大きくなるペナルティ
項を、最適化問題に導入
w arg min t (w) r (w)
*
w t
過学習を抑止する
L2正則化とL1正則化が代表的
20
21. L1正則化(Lasso)
自然言語等を扱う場合、パラメータ次元数が膨大になる
計算量が膨大になるため、全パラメータを同時には扱いにくい
x (1) 嫌い w(1)
( 2) ( 2)
x 好き w
x x ( 3) 退屈 w w ( 3)
認識
(n) (n)
x w nが非常に大きい場合、
計算量も膨大になる
L1正則化を導入する
パラメータを決める基準に L1 normを追加する
(w ) w
t 1
: 正則化の比率
t 21
22.
(i ) t
(w ) w 1 0
L1正則化(Lasso) w t
w1
w( i )
w
2
2
wi w (i )
t t (w )
w(i )
0
t t (w ) t t (w ) w t t (w )
2
w1
0 の時、 w(i ) 0
2
かつ
w (i ) w (i )
w (i )
w (i )
w(i )
22
25. 紹介論文(再掲)
Efficient Online and Batch Learning using
Forward Backward Splitting
(J. Duchi, Y. Singer) [Journal of Machine Learning Research, 2009]
Online学習
FOBOS
L1正則化
2手法を同時に組み込み、
さらに最適解への収束性の
証明を行っている
L1正則化に限らず様々な正則化項を一般的に取り扱った分析を
行っているが、本発表ではL1正則化に話を限定する
25
26. 正則化項付きOnline学習 wが最も小さくなる方向へ
重みベクトル w を動かす
重みベクトルの更新基準 t (w) r (w)
条件:それぞれの関数は凸かつ下に有界
t (w) :損失関数項 (重みベクトル wが不適である度合)
例: 最小二乗損失 t (w) xt w y
2
Hinge-Loss t (w) xt w y
r (w) :正則化項 (重みベクトル wの複雑さの度合)
例: L2正則化 r (w) w
2
2
L1正則化 r (w ) w 1
今回は、L1正則化に話を絞って紹介
26
27. 劣勾配法で解くと…
パラメータ更新式 w t を0においやる力が働く
w t 1 w t t gt tgtr
t ,t : ステップ幅
g t w t : の劣勾配中の任意のベクトル
g tr r w t : rの劣勾配中の任意のベクトル
L1正則化を用いても、パラメータはSparseになりにくい
t gt,( j ) tgtr ,( j ) wt( j ) が成立することは稀
L1正則化項を導入しても、Sparseな解は得られにくい
27
28. Forword Backward Splitting(FOBOS)
提案手法
重みベクトル w t の更新を2ステップに分ける
ステップ1 ステップ2
wt 損失最小化
w t 1 2 正則化
w t 1
ステップ1
損失関数 t (w t ) が最も小さくなる方向へ重みベクトルを更新
正則化項 w 1は考えない
w t 1 2 w t t g t 劣勾配法
t : ステップ幅
g t w t : の劣勾配中の任意のベクトル
28
29. Forword Backward Splitting(FOBOS)
ステップ2
ステップ1で更新した重みパラメータをできるだけ動かさず、
L1正則化を行う
パラメータをできる
だけ動かさない 正則化
1 2
w t 1 arg min w w t 1 2 t 1 2 w 1
w 2
t 1 2 : ステップ幅
パラメータ更新を2ステップに分けることで、
L1正則化を導入した上で、
Regret上限が o(T )のアルゴリズムが導出される 29
34. Online学習アルゴリズムの評価(再掲)
Regret という概念を導入
元々は、ゲーム理論等で使用されていた枠組み
学習をする過程で蓄積した累積損失と、データを全て見た後で
重みベクトルを定めた時の最小合計損失との差
T T
Regret (T ) t (w t ) t (w ) *
w arg min t (w)
*
t 1 w t 1
Regret の上限が o(T ) ならば、更新を重ねるごとに1データ当た
りの Regret は0に収束する→最適解に収束する
(w ) (w )
T
*
t t t
Regret (T ) o(T ) lim t 1
0
T T
Regret の上限を小さなオーダーで抑える事が出来るアルゴリズ
ムは、重みベクトルを高速に最適解へ収束させられる
34
35. Regret の上限を
Regret 分析(1/2) 0に近づけたい
Regret
T
R r (T ) t (w t ) r (w t ) t (w ) r (w )
t 1 T
w arg min t (w ) r (w )
w t 1
FOBOSにおける Regret の上限
w t w t w D t 1 t 1 2 t
t , r G t 2t 1 の条件下では、O T が保証される
c 0 t c t
D2 2
R r (T ) 2GD
2c 8G c T
35
36. r (w ) w 1は、
Regret 分析(2/2) Strongly
Convexではない
t () r () がStrongly Convexの場合
つまり、 t ()または r () がStrongly Convexの場合
Strongly Convex
H
H 0 w, w t f (w ) f (w t ) f (w t ), w w t w wt
2
2
Regret は O(logT ) で上から押さえる事ができる
1
t
Ht
4G 2 G2
R r (T ) 2GD HD
2
1 log T O log T
H
H
36