fobos

43
L1正則化を導入した Online学習手法 東京大学 中川研究室 修士一年 大岩秀和

Upload: hidekazu-oiwa

Post on 15-Jan-2015

4.003 views

Category:

Documents


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: FOBOS

L1正則化を導入したOnline学習手法

東京大学 中川研究室

修士一年 大岩秀和

Page 2: FOBOS

目次

はじめに

紹介論文概要

問題設定:教師あり学習

Online学習/L1正則化

Online学習

L1正則化

Forward Backward Splitting(FOBOS)

FOBOS Algorithm

Regret分析

実験

まとめ

2

Page 3: FOBOS

目次

はじめに

紹介論文概要

問題設定:教師あり学習

Online学習/L1正則化

Online学習

L1正則化

Forward Backward Splitting(FOBOS)

FOBOS Algorithm

Regret分析

実験

まとめ

3

Page 4: FOBOS

紹介論文概要

Efficient Online and Batch Learning using Forward Backward Splitting

(J. Duchi, Y. Singer) [Journal of Machine Learning Research, 2009]

Online学習を行いながら、同時に特徴選択を行う手法

L1正則化に限らず様々な正則化項を一般的に取り扱った議論をしているが、本発表ではL1正則化に話を限定して紹介

4

Online学習

L1正則化

FOBOS

2手法を同時に組み込み、

さらに最適解への収束性の証明を行っている

Page 5: FOBOS

教師あり学習

訓練集合と呼ばれる大きな集合 を用いて、入力 から出力 を正確に予測する学習器を作成する技術

代表的な応用例

回帰問題

株価推定

分類問題

メールフィルタリング

画像認識

評価分類

問題設定

5

)...},(),,{( 2211 yy xx

ix iy

電子メール

プライベート

仕事 スパム

入力:

出力:

将来の株価

入力: ix出力: iy

iy

ix

Page 6: FOBOS

応用例を題材として、問題設定を解説

6

評価分類(Sentiment Classification)

ある商品のレビュー文章から、その文章が商品に対してpositiveな評価を与えているかnegativeな評価を与えているかを判定する

このレビューはpositiveかnegativeか?

Page 7: FOBOS

問題設定:訓練集合

7

レビュー文章から正解を正確に予測したい

文章と正解データがペアで与えられる

)(1

)(1

negative

positivey

文章から入力ベクトルを生成 入力 から正解 を正確に予測したい

文章形式のままでは、学習を行いにくい

入力ベクトルの各要素は、対応する単語の出現頻度

正解データは、-1/1で取り扱う

正解

入力

x y

)(

)3(

)2(

)1(

nx

x

x

x

x

嫌い

好き

退屈

認識

Page 8: FOBOS

問題設定:予測

8

入力 から出力 を予測するための道具として、重みベクトル を導入する

重みベクトル

w

positive

negativeと予測

0)( wxy

0)( wxy

予測は正しい

予測は誤り

重みベクトルと入力ベクトルの内積の値を用いて予測を行う

適切な の符号を返す重みベクトル を学習することが目標)( wx w

x y

0)( wxsign

0)( wxsign

)(

)3(

)2(

)1(

nw

w

w

w

w

Page 9: FOBOS

問題設定:損失関数

9

損失関数を、予測の正確さを図る指標として導入

今回の例では損失関数の一例として、Hinge-Lossを用いる

損失関数

0 )( xw y

0)(1)(1

0)(10)(1)(

ii

i

iiyy

yy

xwxw

xwxww

)(wi

Hinge-Loss

の予測が失敗しているほど、損失関数の値が大きくなる

xw

Page 10: FOBOS

問題設定の一般化

10

評価分類器の作成は、以下のように定義できる

入力データと損失関数は以下のように一般化出来る

1つのデータ:重みベクトルを受け取り損失を返す損失関数

学習器を作成する

全データの損失の合計 が

最小となる重みベクトル を求める

i

i )(w

w

n

i w:)(

Batch学習

Page 11: FOBOS

目次

はじめに

紹介論文概要

問題設定:教師あり学習

Online学習/L1正則化

Online学習

L1正則化

Forward Backward Splitting(FOBOS)

FOBOS Algorithm

Regret分析

実験

まとめ

11

Page 12: FOBOS

Online学習

データ一つに対して、重みベクトル を逐次的に更新する手法

1. 損失関数 を受け取る

2. 重みベクトル と を用いて、重みベクトルを に更新

3. 次の損失関数 が存在すれば、上記の操作を繰り返す

Online学習

12

w

1tw)(t

)(t

tw

)(1 ttw )(t

1tw

)(1 t

……

Page 13: FOBOS

Batch学習の目標

Online学習アルゴリズムの目標

13

t

t )(min ww

全データの損失の合計 が最小となる重みベクトル を求める

i

i )(w

w

Online学習の目標

t

tt )(min,..., 21

www

全データの損失の合計 が最小となる重みベクトル を求める

t

tt )(w

tw

Page 14: FOBOS

Online学習アルゴリズムの目標

14

Online学習の目標

t

tt )(min,..., 21

www

Online学習の目標

次にやってくる損失関数 の値を最小化するように重みベクトル を更新する問題

ただし、どのようなアルゴリズムを用いても、損失関数 を意地悪に設定してやれば、 のworst caseの値は無限に大きくなる

t

tt )(min,..., 21

www

tw

)(min ttt

t ww

)(t

)(t

Page 15: FOBOS

Online学習アルゴリズムの評価

15

という概念を導入

元々は、ゲーム理論等で使用されていた枠組み

学習をする過程で蓄積した累積損失と、データを全て見た後で重みベクトルを定めた時の最小合計損失との差

の上限が ならば、更新を重ねるごとに1データ当たりの は0に収束する→最適解に収束する

の上限を小さなオーダーで抑える事が出来るアルゴリズムは、重みベクトルを高速に最適解へ収束させられる

)(To

Regret

Regret

Regret

Regret

0

)()(

lim)()( 1

*

TToTRegret

T

t

ttt

T

ww

T

t

t

T

t

tttTRegret1

*

1

* )(minarg)()()( wwwww

Page 16: FOBOS

Online学習の利点

16

大量のメモリを必要としない

数TB程度の大規模なデータから学習を行う場合等に有効

大規模データでは、直接 を求めることは難しい

新たなデータを入手した時に、再学習が容易

batch学習では、新しいデータを入手するたびに、過去のデータも含めた を計算しなければならない

Online学習では新しいデータのみを使って更新を行えば良い

t

t )(minarg ww

t

t )(minarg ww

Page 17: FOBOS

Greedy Projection

17

Online学習での典型的な学習手法

パラメータ更新式

が となる条件

が凸(convex)

が微分可能

Hinge-Loss等の関数では、微分不可能な点が存在

劣勾配法(Subgradient Method)を用いる

)(1 ttttt www )(: スカラー更新幅t

損失関数が最小となる方向へ重みベクトル を更新する

)(

)(

Hinge-Loss

Convex]1,0[, vw

))1(()()1()( wvwv

)(To

w

Regret

Page 18: FOBOS

微分不可能な点では、劣勾配 (Subgradient) を用いる

パラメータ更新式

劣勾配:

劣勾配法(Subgradient Method)

18

wvgwvvgw ,)()(:|)(

)(1 tttttt wggww

Hinge-loss

劣勾配の集合の要素を点線で示している

が凸であれば、劣勾配が存在

)(

Page 19: FOBOS

目次

はじめに

紹介論文概要

問題設定:教師あり学習

Online学習/L1正則化

Online学習

L1正則化

Forward Backward Splitting(FOBOS)

FOBOS Algorithm

Regret分析

実験

まとめ

19

Page 20: FOBOS

正則化

20

過学習 (Over-Fitting)

訓練集合の損失関数を最小化する最適なパラメータを求めると、訓練集合に過剰適合する問題が発生することがある

正則化

パラメータが複雑になればなるほど値が大きくなるペナルティ項を、最適化問題に導入

過学習を抑止する

L2正則化とL1正則化が代表的

)()(minarg*www

w

rt

t

Page 21: FOBOS

L1正則化(Lasso)

自然言語等を扱う場合、パラメータ次元数が膨大になる

計算量が膨大になるため、全パラメータを同時には扱いにくい

L1正則化を導入する

パラメータを決める基準に normを追加する

211

)( ww t

t 正則化の比率:

nが非常に大きい場合、計算量も膨大になる

1L

)(

)3(

)2(

)1(

nw

w

w

w

w

)(

)3(

)2(

)1(

nx

x

x

x

x

嫌い

好き

退屈

認識

Page 22: FOBOS

L1正則化(Lasso)

22

の時、

)(

)(

i

t t

w

w

かつ

iw

0)(1)(

ww

t

tiw

0)(

)(

i

t t

w

w

)(

2

2

iw

w

)(

1

iw

w

)(

2

2

)(

)(

ii

t t

ww

ww)(

1

)(

)(

ii

t t

ww

ww0)( iw

0

Page 23: FOBOS

L1正則化の特徴

23

L1正則化では、勾配が一定

損失関数にとって重要でないパラメータは0に追いやられる

L1正則化では、多くのパラメータを0にすることが出来る

このような操作:Sparse化

多くのパラメータが0になった解:Sparseな解

)(

)3(

)2(

)1(

nw

w

w

w

w

)(

)3(

)2(

)1(

nx

x

x

x

x

嫌い

好き

退屈

認識認識に対応するパラメータは0に

Page 24: FOBOS

目次

はじめに

紹介論文概要

問題設定:教師あり学習

Online学習/L1正則化

Online学習

L1正則化

Forward Backward Splitting(FOBOS)

FOBOS Algorithm

Regret分析

実験

まとめ

24

Page 25: FOBOS

紹介論文(再掲)

Efficient Online and Batch Learning using Forward Backward Splitting

(J. Duchi, Y. Singer) [Journal of Machine Learning Research, 2009]

L1正則化に限らず様々な正則化項を一般的に取り扱った分析を行っているが、本発表ではL1正則化に話を限定する

25

Online学習

L1正則化

FOBOS

2手法を同時に組み込み、

さらに最適解への収束性の証明を行っている

Page 26: FOBOS

L1正則化

L2正則化

Hinge-Loss

最小二乗損失

正則化項付きOnline学習

26

重みベクトルの更新基準

条件:それぞれの関数は凸かつ下に有界

)()( ww rt

:損失関数項 (重みベクトル が不適である度合)

:正則化項 (重みベクトル の複雑さの度合)

例:

今回は、L1正則化に話を絞って紹介

1)( ww r

が最も小さくなる方向へ重みベクトル を動かす

2

2)( ww r

2)( ytt wxw

ytt wxw)(

例:

ww

)(wr w

)(wt w

Page 27: FOBOS

劣勾配法で解くと…

27

パラメータ更新式

L1正則化を用いても、パラメータはSparseになりにくい

が成立することは稀

L1正則化項を導入しても、Sparseな解は得られにくい

r

tttttt ggww

1

)()(,)(, j

t

jr

tt

j

tt wgg

クトルの劣勾配中の任意のベ

クトルの劣勾配中の任意のベ

ステップ幅

rr t

r

t

tt

tt

:

:

:,

wg

wg

を0においやる力が働くtw

Page 28: FOBOS

Forword Backward Splitting(FOBOS)

28

提案手法

重みベクトル の更新を2ステップに分けるtw

クトルの劣勾配中の任意のベ

ステップ幅

:

:

tt

t

wg

ステップ1損失関数 が最も小さくなる方向へ重みベクトルを更新正則化項 は考えない

tttt gww 21 劣勾配法

ステップ1損失最小化

ステップ2正則化tw 1tw21tw

)( tt w

1w

Page 29: FOBOS

Forword Backward Splitting(FOBOS)

29

ステップ幅:21t

ステップ2ステップ1で更新した重みパラメータをできるだけ動かさず、L1正則化を行う

121

2

2112

1minarg wwwww

ttt

パラメータをできるだけ動かさない 正則化

パラメータ更新を2ステップに分けることで、L1正則化を導入した上で、

Regret上限が のアルゴリズムが導出される)(To

Page 30: FOBOS

FOBOS更新式の導出

30

)(

21

2)(

21

)()(

1

121

2

211

2

1minarg

2

1minarg

)(

j

t

j

t

j

w

j

t

ttt

wwwwj

wwwww

21

)(,)()(,)(

21

)(

21

)(

21

)(

1

)(

)(

t

j

tt

j

t

j

tt

j

t

t

j

t

j

t

j

t

gwgwsign

wwsignw

ステップ2をパラメータ各要素の式に分解

閉じた更新式を導出可能

から を直接導くことが出来る)(

1

j

tw

)( j

tw

021

)(

21 t

j

tw になる

Page 31: FOBOS

FOBOSによるL1正則化

31

0

)(

21

j

tw

)(

1

j

tw

21 t

21t

)(

21

j

tw

Page 32: FOBOS

FOBOSの貢献

32

Subgradient Method等の既存手法と比べても、実質的に計算量を増やすことなくパラメータ更新が可能

閉じた式でパラメータ更新が可能

Subgradient Methodの の性質が、FOBOSでも同じく成立する

Subgradient Methodと同じ を得ることが出来る

21

)(,)()(,)()(

1 t

j

tt

j

t

j

tt

j

t

j

t gwgwsignw

Regret

Regret

Page 33: FOBOS

目次

はじめに

紹介論文概要

問題設定:教師あり学習

Online学習/L1正則化

Online学習

L1正則化

Forward Backward Splitting(FOBOS)

FOBOS Algorithm

分析

実験

まとめ

33

Regret

Page 34: FOBOS

Online学習アルゴリズムの評価(再掲)

34

という概念を導入

元々は、ゲーム理論等で使用されていた枠組み

学習をする過程で蓄積した累積損失と、データを全て見た後で重みベクトルを定めた時の最小合計損失との差

の上限が ならば、更新を重ねるごとに1データ当たりの は0に収束する→最適解に収束する

の上限を小さなオーダーで抑える事が出来るアルゴリズムは、重みベクトルを高速に最適解へ収束させられる

)(To

Regret

Regret

Regret

Regret

0

)()(

lim)()( 1

*

TToTRegret

T

t

ttt

T

ww

T

t

t

T

t

tttTRegret1

*

1

* )(minarg)()()( wwwww

Page 35: FOBOS

分析(1/2)

35

FOBOSにおける の上限

T

t

ttttr rrTR1

)()()()()( wwww

T

t

t r1

)()(minarg wwww

の上限を0に近づけたい

Gr

D

t

tt

,

www

の条件下では、 が保証される

tcc t0

TO

Regret

RegretRegret

Regret

ttt 211

12 tt

TcGc

DGDTR r

22

82

2)(

Page 36: FOBOS

分析(2/2)

36

がStrongly Convexの場合

つまり、 または がStrongly Convexの場合

は で上から押さえる事ができる

)(t )(r

)(logTO

)()( rt

Strongly Convex

Ht

t

1

は、Strongly

Convexではない

1)( ww r

Regret

Regret

2

2),()()(,0 ttttt

HfffH wwwwwwwww

T

H

GOT

H

GHDGDTR r loglog1

42)(

222

Page 37: FOBOS

目次

はじめに

紹介論文概要

問題設定:教師あり学習

Online学習/L1正則化

Online学習

L1正則化

Forward Backward Splitting(FOBOS)

FOBOS Algorithm

Regret分析

実験

まとめ

37

Page 38: FOBOS

実験概要

38

Amazon.comのデータセットで評価分類

原論文の実験とは異なり、追実験を行った

損失関数はHinge-Loss,

10回の交差検定、20回反復計算

FOBOSとSubgradient Methodで精度とSparseさを比較

データは、(レビュー文章, Positive/Negative)の組の集合

データ数 特徴次元数 代表的な単語

books 4465 332441 book, read, like, story, good, author, pages

dvd 3586 282901 movie, film, see, best, original, character

electronics 5681 235798 sound, product, work, quality, buy, iPod, headphones

kitchen 5945 205666 use, pan, coffee, product, machine, little

,1t

t 2001,2

1 tt

[ J. Blitzer+ 2007]

Page 39: FOBOS

実験結果

39

FOBOS (L1) Subgradient Method

books 82.84 (92.87) 83.66 (50.39)

dvd 82.12 (92.24) 81.37 (50.42)

electronics 87.61 (92.44) 85.85 (54.43)

kitchen 88.44 (92.64) 87.91 (56.53)

精度を落とすことなく、Sparseな解を得られている

精度 (重みベクトル中の0要素の割合)

20回反復計算を10回の交差検定した結果の平均値

Page 40: FOBOS

実験結果詳細(electronics)

40

80

81

82

83

84

85

86

87

88

1 3 5 7 9 11 13 15 17 19

FOBOS

Subgradient

反復回数(回)

精度(%)

Page 41: FOBOS

実験結果詳細(kitchen)

41

84

84.5

85

85.5

86

86.5

87

87.5

88

88.5

89

1 3 5 7 9 11 13 15 17 19

FOBOS

Subgradient

反復回数(回)

精度(%)

Page 42: FOBOS

実験結果まとめ

42

FOBOSはSubgradient Method等と比べて、精度を上回ることがある

FOBOSでは、過学習を抑制する効果を持つ

Subgradient Methodでは、数回反復を行うとパラメータ更新が殆ど行われなくなる(訓練集合に過剰適合してしまう)

一方FOBOSでは、反復試行を繰り返すことで正則化の力が弱まるため、稀だが有用なパラメータが残る

0 0

121

2

2112

1minarg wwwww

ttt

021 t

Page 43: FOBOS

発表のまとめ

43

Online学習

データを一つ読み込むたびに、逐次的に学習

という概念で、アルゴリズムを評価

L1正則化

重みベクトルをSparseにして、特徴選択を行う

Forward Backward Splitting(FOBOS)

Online学習とL1正則化(Sparse化)を同時に実現

の上限が となることを証明

評価実験でも、既存手法を上回る精度であることを確認

)( TO

Regret

Regret