7. オンライン学習
定式化
評価法:Regretなど
パーセプトロン
Passive Aggressive Algorithm
(アルゴリズムと損失の限界の評価)
Confidence Weighted Algorithm
Pegasos
Coordinate Descent
バッチ、オンライン、ストリームの比較
ビッグデータへの対応
クラシックな機械学習の入門
by 中川裕志(東京大学)
オンライン(あるいは逐次)学習とは
 データを1つづつ読み込んで、それまでの学習結果
を更新する。
 2つの利用局面
1. データ全体は保持しているが、学習を1データ毎に行う
2. データが1こずつ時系列としてやってくる
 この場合はストリームという。
 データ全体をメモリの乗せなくてよいのでマシンに必
要なメモリ少、あるいはメモリに乗りきらないほど大
きなデータから学習可能
 1個のデータからの学習(これを1roundという)だけ
なら高速
オンライン学習の概観
以下1,2,3を時刻 t=1,2,…,Tで繰り返す
1. 時刻tにおいて、仮説ht、入力データxt 、正しい結果データ
yt∈Yが与えられる。
2. 仮説ht による結果h (t) (xt)を計算し、その後でytとの比較を
損失関数lによって行う。 つまりl(h (t) ,(xt , yt ))を計算
 lとしては2乗損失やヒンジ損失など
3. 損失関数lの値に応じてh (t) を更新し、新しい仮説 h (t+1)を
求める
 最終的な目的の累積損失 などを最小化す
ること
 簡単(線形)な仮説として重みベクトルwとxの内積 𝐰, 𝑥 を
使う場合はhを𝐰と書き、 と定義
  
T
t tt
t
yh1
)(
,, xl
    ttt yf ,, xww l
識別関数h(t)
データ
xt
正解(実測
あるいは人
手による)
yt
予測
h
(t)
(xt)
If 予測≠正解
then 更新:h(t)→h(t+1)
オンライン学習のイメージ
オンライン学習の評価法
仮説hのなす空間をH, tラウンドの予測値をh
(t)
(xt)
累積損失 (最小化したい):
Mistake(失敗回数)のupper bound
以後は識別に失敗しなくなるまでの学習回数=学習
データ数
    
T
t ttt
t
yh1
)(
,, xxl
         
   
       







T
t tt
h
T
t ttt
t
h
T
t tt
T
t ttt
t
yxhyxh
h
hyxhyxhh
1
*
1
)(
*
TT
*
1
*
1
)(*
T
,,min,,
RegretmaxRegret
:,,,,Regret
*
*
ll
H
Hll
H
H
x
x
オンライン学習をオンライン凸最適化の観点から定式化
By Shai Shalev-Shwartz
 以下では L(w ,(xi , yi )) をfi (w)と略記することに留意。
 最も簡単なオンライン学習は、過去の全roundの損失を最小
化するようなwを選ぶ方法:Follow-The-Leader(FTL)
 
           










T
t
tttt
T
t
tttT
t
i
i
Sw
t
ffff
S
FTL
Sft
1
1
1
21
1
1
Regret
,10Lemma
minarg
(FTL)LeaderTheFollow
wwuwu
u
ww
www
トルで生成された重みベクを
の取り得る範囲で凸は

 
   
 
     
     
     
 より。 □の定義最後の等式は
でも成り立つで成立し、この式は
を加えると両辺に
仮定する。つまりで不等式が成立すると
を選べる。より、式の成立するの定義の場合は
を帰納法で導く。  そこのこの不等式
き移項するとの不等式の両辺から引を





































T
t
t
S
TT
T
t
t
S
T
t
Tt
T
t
tt
T
T
t
tTT
T
t
tt
TT
T
t
t
T
t
tt
t
T
t
t
T
t
tt
t tt
f
fff
S
fff
fffS
Tt
fT
ff
f
1
11
11
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
121
11
1
minarg
min
1:stepinduction
minarg1:casebase
10Lemma
Proof
www
uww
wuu
uww
wuwu
uwww
uw
w
w
u
w
Follow-The-Regularized-Leader (FoReL)
 FTLではwに制約がないので、過学習が危ぶまれる
。そこで、正則化項(Regularizer)を加えたものを最
適化(FoReL)
   
             
 □ とおけばよい    
とし、で
トルで生成された重みベクを
の取り得る範囲で凸は
RfTt
ffRRffS
wSRft
T
t
tttt
T
t
ttt
t
i
i
Sw
t










0
1
11
1
21
1
1
..0Lemma10Proof
FoReL,02Lemma
minarg
FoReL
wwwuuwu
ww
www

Example of FoReL:   2
2
2
1
ww R
   
   30
2
1
,0
2
1
,minargFoReL
0where
2
1
,
1
1
1
1
2
2
1
2
2
1
1
2
2
tttt
tt
t
i
it
t
i
i
t
i
i
t
i
it
d
tt
f
RRSf
www
zwzw
w
zwzw
w
wzww
wwzww























つまり  
 
を使えばより、
は  この場合は
で正則化項かつ
Online Gradient
Descent: OGD
FoReLのRegretのUpper Bound
Theorem 30
   
 
 
   
          

















T
t
t
T
t
ttt
T
t
ttttT
T
U
T
T
t
t
T
t
tT
d
tt
ffRR
TBLU
TL
B
L
T
BU
RRSf
1
2
2
2
2
1
1
2
2
1
11
2
1
2
2
1
2
2
2
2
2
2
2
1
,
2
1
Regret
(30)20LemmaProof
2RegretinfRegret
2
then
1
and:if
2
1
Regret
2
1
,,,
zuzwwu
wwwuu
u
zuu
zuuu
wwzww
u






よりと式
 とおくと  
 
 とする    
Regretの上限が
𝑇に比例してい
ることに注目!
損失fが連続でない場合
Sub-gradient(劣勾配)のFoReL
fの凸性が重要
   
 
 
 tttttt f
f
ffz
ffSS
SfS
wzzww
w
w
w
zw,uwuuzw





 where
,0,0
DescentGradientOnline
gradient-sub)50(
)50(,,iff
50Lemma
1
1
 
が以下。 これを使った
と同じ。連続なら
 と書く。 と呼び のの集合をを満たす
上の凸関数 がが凸集合、


               
   
   
          
          
2
1
,
2
1
Regret
OGDgradient-subinplugTheorem30and02Lemma
,,
round
)50(,,iff
50Lemma
(60)
2
1
,
2
1
Regret
FoReL,:Theorem30and02Lemma
1
2
2
2
2
1
1
2
2
1
11
1
1
1
111
11
111
1
2
2
2
2
1
1
2
2
1
11
1
21



























T
t
t
T
t
ttt
T
t
ttttT
T
t
tttt
T
t
ttttttttttt
ttttttt
tttttttt
T
t
t
T
t
ttt
T
t
tttt
T
t
Tttt
ffRR
ffff
fft
ffSS
SfS
ffRRffS
zuzwwu
wwwuu
zwzwwwz,wwww
z,wwww
z,wwwwwzw
zuzwwu
wwwuuuwu
ww




でもするとにこれを
 だからに対して凸だと各
上の凸関数 がが凸集合、を少し変形して再掲:
     
トルで生成された重みベクを再掲: 
Sub-gradient の場合のFoReLのRegret Bound
問題はこの部分
 
     
   
  30Theoremassame2
2
1
Regret
,
whereLipfshitz
where,
gradient-sub
2
1
2
1
Regret
22
2
2
21
11
11
11
22
2
1
2
2
2
2
TBLTL
LL
L
LffLLf
fff
TL
T
tttttt
ttttt
tttt
ttttttt
t
T
t
tT




















uu
zzzwwz
wwzww
wwww
wzwwzww
z
uzuu
だったので
 上の2式を合わせると
だとするとが
の定義から 
ことを示す必要があるが上から押さえられるそのためには
 にしたいが
このboundは
1
2
にできる。
付録参照
FoReLの上界を厳しくする
• まず、FoReLの別形式を導入する
 
 
   
 
 )(;
;
,..,1for
0initialize
FoReL,maxarg
,maxarg
,minarg
1
1
1
1
1
tttttt
tt
t
i
i
t
i
it
f
g
Tt
Rg
R
R
wzzθθ
θw
θ
wθwθ
wzw
zwww
w
w
w













  
は次式で書ける  とおくとここで  
 
Online Mirror Descent
(OMD)という
数学的ツールの準備
• Fenchel-Young 不等式
   
   
   
   uθuθ
θuθθu
uθuθu
uθuθ
u
ff
ff
ff
ff








,
,,
,max
  
で微分可能なら   あるいは
  
とすると
   
22
,max
2
22
*
2
θw
θwθ
w
w
w











 RR
数学的ツールの準備
• Bregman Divergence: DR
        
   
 
)1(
2
,
22
2
,
2
21
212
2
2
2
121
*
2
*
*
DR
D
RR
RRRD
R
R
zz
zzzzzzz
zz
z
z
uwuuwuw









だと
 uwRD
   
   
 
 
 
       
     
     
 
 
 


 


































































































































T
t
t
i
i
t
i
iRtt
T
t
t
i
i
t
i
iRtt
T
t
t
T
t
t
T
t
t
i
i
t
i
iRtt
T
t
t
i
i
t
i
i
T
t
t
t
i
itt
T
t
t
T
t
t
T
t
t
T
t
t
i
i
t
i
iR
T
t
tt
DRR
DRRRR
RRRR
DR
RRRR
Rg
RRR
DRR
Rg
1
1
11
1
1
1
1111
1
1
1
11
1
1
111
1
1
111
1
1
11
1
1
||,
||,0,
)4(min,0max0
)3(||,0
0
DivergenceBregman
)2(
)1(,,
Young-Fenchel
Proof
||,
DescentMirrorOnline:OML1
zzzwwu
zzzwuzuzu
wwww
zzzw
zzz
zθw
zzuuzuu
zzwuzuw
ww これらを合わせるとなお、
の定義より
不等式から
であるならで  補題 
   
 
 
 20,
1
1OMD1Proof
10
22
,
2
,
2
DescentMirrorOnline
1
1
22
1
2
2
1
2
*
2
OMDTBL
B
TL
B
T
L
DR
OMD
RR
T
t
tt
T
t
t
T
t
t
T
t
tt


















zuw
uz
z
u
zuw
θ
θ
w
w
  とするとただし かつ  
より明らか  ■ と 補題
とする。であるつまり
において





定理 OMD2
パーセプトロン(Perceptron)
 FoReLから導出されたOnline Gradient Descent
の例としてパーセプトロンを紹介する。
 パーセプトロンはF. Rosenblattが1956年に提案し
た線形識別の繰り返しアルゴリズム
 効率がよく、現在でもその価値が高い
 入力xtが目的のクラスに
 属する場合にyt=1, 属さない場合にyt= −1
 右図

   
  正 これより失敗側では00
,

 
t
ttt
f
yf xww
tty xw, 
𝑓𝑡 𝑤 のsub-gradientを計算すると
ηは正
次にPerceptronのアルゴリズムが得られる。
FoReLの別形式として導入したOnline Mirror
Descentとみれば、(OMD20)の上界が使え
る
   
   











otherwise
0,if
DescentGradientOnline
otherwise
0then0,if
1
1
ttt
tttt
t
ttt
ttttttt
ttttttttt
y
y
fyf
fyf
xw
xww
w
zww
wxzw
zwxwwz

 に当てはめるとの形式:
 
Perceptron アルゴリズム
else
enth
0,if
入力
21for
0
1
1
1
tt
tttt
ttt
t
y
y
,...,T,t
ww
xww
xw
x
w







 
初期化:
分類に失敗し
たときだけ
そのデータを分類器Wに足し
込むという至って単純な更新
線形分離可能性
線形分離可能:クラスを識別するする超平面
が存在する場合
そうでない場合を線形分離不可能という。
下図参照
線形分離可能 線形分離不可能
γ:マージン
Perceptronアルゴリズムの分析
     
  ttyt
t
tttt
T
t
t
T
t
t
T
t
ttT
y
f
yf
ff
ttt
x1z
xw
zuuwu
xw 0,
1
2
2
2
2
11
gradient-sub
],1[
(60)
22
1
Regret





 
は 
界は甘くなる。)より必ず大きいので上(もとの
で近似する。ためここで解析の容易さの


Wt,Xtをスケール変換し
て、最も0に近い正例で
𝑤𝑡, 𝑥 𝑡 =1となったと見
なしたと考えてもよい
FoReLの別形式として導入したOnline Mirror
Descentとみれば、(OMD20)の上界が使える
Perceptronアルゴリズムの分析
 
 
 





ータと境界面の距離は境界面に最も近いデ線形分離できる場合
データが線形分離可能
のときなので=の右辺の最小値は
とおくとの形より明らかに
回数、の集合をを起こした判定の失敗
u
uu
uxuu
uuu
u
xw
x
1
:0then1,if
(70)
22
1
)60(
max
mistakemistake:
2
2
22
1
22
1
1












R
RR
fy
RRf
R
Rff
T
t
ttt
T
t
t
t
t
T
t
ttt
t
MMM
MMM
M
M
MM
Passive Aggressive Algorithm
 K.Crammer et.al. Online Passive-Aggressive Algorithms
Journal of Machine Learning Research 7 (2006) 551–585
識別(あるいは分類)の問題設定
round t でn次元データ が到着
 の正負は のように与えられる
重みベクトル:
正しい(誤った)判定:
wtはデータが到着するたびに更新されている
n
t Rx 
tx  負 正 :1,:1 ty
正負を表すので:, xwsignRw n

 00,   、 ttt xwy
損失関数による定式化
境界面そのもので判定はきわどいのでマー
ジンを持たせる。マージンを1とした場合の損
失関数(hinge-loss function)は以下の通り
この設定で、round tの更新は次の条件付き
最適化問題となる。
  
   と書く以下では tttt y
otherwisey
y
y
,;
1
10
,;
xw
xw,
xw,
xw









0
1xwy
xwy
,
,1 
    10,..||||
2
1
minarg 2
1 

 PAyts ttt
Rw
t
n
xw;www 
FoReLとして見ると
   
  
できない。のような簡単な解析が
に依存するため個別の
はに相当するの定式化では次ページのように
の取り得る範囲で凸は
)60(
,,
FoReL
2
1
,;minarg
minarg
FoReL
2
2
1
1
1
1
ttt
t
t
i
iii
Sw
t
i
i
Sw
t
y
y
wSRft
wx
wwxw
www










最適化問題(PA-1)を解く
If lt=0 then wt minimizes
wt+1 =wt
If lt≠0 then Lagrange 未定乗数法で解く。
2
||||
2
1
tww 
   
 
   
   
ttttt
t
ttt
t
tttt
ttttttt
ttt
ttt
y
y
y
L
yLy
y
L
yL
xww
x
xw
xwx
xwxxww
xww
w
w
xwwww




















12
2
22
2
,1
0,1
,1
2
1
0
,
,1
2
1
,
Passive
Aggressive
Passive Aggressive
xt
tt ww 1
Passive
xt
ttttt y xww 1
Aggressive
2
t
t
t
x


soft marginの学習法 PA-I, PA-II
    
    
   IIPA
C
IPAC
y
IIPAytsC
IPAytsC
t
t
t
t
t
t
ttttt
ttt
Rw
t
ttt
Rw
t
n
n





















    
2
1
,min
,;..
2
1
minarg
0,,;..
2
1
minarg
2
2
1
22
1
2
1
xx
xww
xwwww
xwwww







INPUT: aggressiveness parameter C > 0
INITIALIZE: w1 = (0, . . . ,0)
For t = 1,2, . . .
• receive instance: xt ∈ Rn
• predict: ˆ yt = sign wt ,xt
• receive correct label: yt ∈ {−1,+1}
• suffer loss: lt = max{0 , 1−yt wt ,xt }
• update:
1. set: (PA)
(PA-I)
(PA-II)
2. update: wt+1 = wt +τt wt ,xt
C
C
t
t
t
t
t
t
t
t
t
2
1
,min
2
2
2












x
x
x






Passive Aggressive Algorithm
付録:PA-Iの導出
  
    
 
 
  
)41(
1
2
1
),,,(
)11(2)-1(
1case
2)case(1)case(
)31(0)21(0
0
)21(00
0
)11(0,01
2
1
1
2
1
),,,(
2
2
22
2
2













paxPA
wxwywwwL
papa
xCxC
paCCpaKKT
L
CC
paCC
xyww
w
L
paxwyCww
xwyCwwwL
LagrangianIPA
ttt
tt
tttt
ttt
tt
tt
  と同じく 元々の
について最適化するととなるので、これを
に代入しを
に分けて考える。と以下では
  よりなので、条件より
の最小化ができない。ので、
れるはいくらでも小さくなすると、 である。そうでないと
のとき。  で  の最小値は
          
は以下の通りの










 
















2
22
2
2
1
22
,min2)(case1)case(
)21(00
0)31(
)61()81(
)81(,1
0and)71(,1.
2
1
minarg
)61(,1/2case
t
t
t
tt
ttttttt
ttt
w
t
tttttt
x
C
CpaKKT
Cpa
xxCpapa
paxxwyxyww
paxwytsCwww
onoptimazati
paxwyxCCx








を合せると 
より なので、条件から
だったから、 で
を組み合わせると  と
   により と 
   
元々の
  
付録:PA-IIの導出
  
    
 
2
1
2
1
1
0
1
2
1
2
,
202
0
)12(01
2
1
),,(
000
22
2
2
22
■
に代入するとをとこの
  
ばよいの場合について考えれ
C
x
C
x
xwyL
xwy
C
xwL
LwCC
L
xyww
w
L
paxwyCwwwL
t
t
t
ttt
tttt
ttt
tt
ttt


































損失の限界の評価
     ttttttt
t
yxullyxwll
lu
,;,; *
*
    
とする。に対する損失をベクトル任意の固定された重み
     
 
2
1
*2
11
22
の
parameterにおける更新式AlgorithmのII-PAI,-PAPA,は
11,はデータ列。ただし
1Lemma




T
t
ttttt
n
t
t
n
tTT
uxττ
Ru
τ
,+yRx, yx, . . . ,, yx

に対して上記
の
Proof
 
  
  22
2222
222
1
2
1
2
1
2
11
2
1
2
1
1
2
1
2
1
2
1
2
,2
,2
0
00,0violatemarginminimum
00
ttttttt
tttttttt
tttttttt
tttttt
ttt
T
t
t
T
T
T
t
tt
T
t
t
tt
def
t
xxxuwy
xxuwyuwuw
xyuwuwuwuw
xyww
u
uww
uwuwuwuw
uwuw

























  
  
の場合にだけ注目:よって、
しない場合は、を
なので


 
    
           ■  
  
同じく 
の場合 
*2
22*
22
*
22
112
,2
1,
1,,10
ttttt
ttttt
ttttttt
ttt
ttttttttt
x
x
xxuwy
xuy
xwyxwy












 
22
1
2
*
max,0..1Lemma
2
Ru
Rxttsu
Theorem
T
t
t
t
t
t




     と同じ設定。
Proof
   
  ■
では 
2
1
22
1
22222
1
2222
2
1
2*
PA
21Lemmaand0
RuuRRxt
uxxτ
uxττt
T
t
t
T
t
tt
T
t
ttttt
T
t
ttttt












    0.. *
 tlttsuTheorem 2では次の制約が厳しい。
この制約は、uで完全な識別ができること。
この制約を外す定理を考える
  
 
2
1
2*
1
2
*2
2
,;1
1Lemma
3Theorem





 

 

T
t t
T
t
t
n
tttt
u
Ruyxuxt

 に対してであるような  このとき  
 と同じ設定。
 
Proofは次ページ
 
 
 
 
   
 
  ■          
を使うと  
ほうの解。とした2次式の大きなをは上式での最大値
とおくと  ここで
だからより
2
1
2*
1
2
1
2*
1
2
2
1
2*
1
2*
2
1
2*2
1
22
1
2*
1
2
1
2
1
2*
1
2
1
*
2
1
*
1
2
1
2*2
2
2max
2maxmax
max
max
02
2
Schwartz-Cauchy
222
1































u
uLTbaba
uLT
LTLT
ulLTLT
LTlulll
llll
ulllulxτlτ
lx
T
t
t
T
t
t
T
t
t
T
t
t
T
t
t
T
t
t
T
t
t
T
t
t
T
t
t
T
t
t
T
t
t
T
t
t
T
t
t
T
t
tt
T
t
tt
T
t
t
T
t
ttttt
ttt




Proof
Proofは次のページ
  
















T
t
t
t
t
tt
CuCRmistakes
C
x
Rx
1
*22
2
22
21,max#
,min


   
PA-Iにおける入力データ識別の失敗回数の上限
   
   
  
 
 
      
   
      ■
を掛けるとの両辺に
  より  
に代入すると   これを
かつ
  なので  
回数とする。るを繰り返し全体におけ
よりと
が起きたとすると回目の繰り返しで
























T
t
t
T
t
t
T
t
t
T
t
tt
T
t
ttttt
ttttttttt
T
t
tttt
tttttt
t
CuCRM
CR
CuMCR
Cu
uxττ
xCyxu
MCR
mistakeM
CRCxRx
mistaket
1
*22
2
1
*22
1
*2
1
1
2*2
2***
1
2
2222
21,max
1,max30-pa1
30-pa12,1min20-pa110-pa1
20-pa12
221Lemma
,;
10-pa1,1min0
,1min,min
1












PA-IIにおける累積損失の上限















 
T
t
t
T
t
t
t
t
tt
Cu
C
R
C
x
Rx
1
*22
1
2
2
22
2
2
1
2
1


   
Proofは次のページ
   
  
 
  
  
■を使えば、
1
を代入すると 
1
を代入すると
ただし  
を差し引く内でで右辺の
2
2
1
2
2
21
2
2
2
21
2
222
22
21
22:1Lemma
1
*22
1
222
1
2*
2
2
22
1
2*222
1
22*222
1
22**22*22
1
2**22
2*
1
*22



























































T
t
t
T
t
tt
T
t
t
t
t
ttt
T
t
ttttt
T
t
ttttt
T
t
tttttttttt
T
t
ttttttt
tt
T
t
ttttt
Cu
C
RRx
C
C
x
uCxτ
C
C
xττu
C
xττ
τττxττ
τxττu
C
τxττu















Confidence Weighted
Algorithm
Crammer et al. 2008
学習する重みベクトルWを点ではなく分布(正規分布)にする
 Wの期待値と分散を更新する
Pegasos:
Primal Estimated sub-GrAdientSOlver for SVM
 L2正則化+L1損失のSVM
 Pegasosの更新は次式による
 更新の後、wを半径 の球にproject
 以上を収束するまで繰り返す。データ集合Aごとな
ので、onlineというよりはmini-batch
    AkAy
k
Bf
Bi
T
i  
は学習に使うデータ、1,0max
1
2
;min
2
2
xwww
w

     
   
は繰り返し回数の次元、,はベクトル    
の要素の劣微分は
tl
t
yAiiAy
A
Afwhere
AffAfAf
i
i
T
i
Ai
iit
ttttt
xw
xwxww
wwwww
,
1
,01,|
1
;
;;;2/1











 /1,1min
 www 2
/1,1min 
Pegasos:Primal Estimated sub-GrAdient
SOlver for SVM のアルゴリズム
 
 
 
 
 
1
2/1
2/1
1
2/1
1
:Output
1
,1min
1
1
0,1|
T,1,2,......For t
0:























T
t
t
t
Ai
ii
t
t
t
t
t
t
ititt
tt
t
y
A
t
yAiA
kAAD
w
w
w
w
xww
xw
w





を選ぶ。から全データ
初期化
f(w)の評価
 
   という。が凸のとき、は、また、関数
  とする。まず 
convexstrongly
2
minarg
2
*




ww
ww
w
ff
f
   
 
      
T
TG
f
T
f
T
BG
ttB
f
Bff
T
t
t
T
t
tt
tt
ttttt
B
t
ttT
T



2
ln111
1minarg1,
,...,
convexstrongly-,...,Lemma1.
2
11
11
11
1





 



uw
uw
wwwww
ww
w
つに対して次式が成り立のとき、
ただし  
の劣微分の要素はルの列とする:を以下のようなベクト
を閉凸集合とする。とし、を
     
 
 
 
       
 
      
   
     T
G
t
GT
t
G
tt
t
G
tt
Gff
Tt
Gff
G
tG
B
projectionB
ff
f
T
t
t
T
t
T
t
tt
T
t
T
t
t
tt
t
T
t
t
T
t
t
t
tt
T
t
ttt
t
t
t
tt
ttt
t
t
tt
tt
tt
ttttttttt
tt
tttttt
tttttt
tt
ln1
2
1
22
1
2
1
1
222
401
40
222
,130
30
222
20)10(
20
22
,
)15(1
)15(2
)10(
2
convex-strongly:Proof
2
1
2
2
1
1
2
1
2
1
2
1
2
1
2
2
1
2
1
2
1
2
2
1
2
1
22
2
1
2
2
2
1
2
22222
1
2
2
1
2
1
2


















 




























































uwuwuw
uw
uwuw
uw
uwuw
uw
uw
uwuw
uw
uwuw
uw
uwuwuwuwuw
uwuwu
wwww
uwuwuw
を代入すると
まで総和をとるとを
を組み合わせるとと
によりなのでかつ
 である。よって なので  
でありへののは とおき、
内積
は劣微分の要素なのでで、は
Lemma1を拡張するとさらに強力な次の定理が得られる。
詳細は:Mathematical Programming 127(1), 2011, pp.3-30
Pegasos:primal estimated sub-gradient solver for SVM. Shai
Shalev-Schwarts, et.al.
 
 
 
      
。から選ばれた部分集合は全データ         
      
に対して      
  とするとしないときは           
したときは かつ  
 入力データ
DA
T
Tc
Af
T
Af
T
T
Rcprojection
Rcprojection
fR
t
T
t
t
T
t
tt
f


2
ln1
;
1
;
1
3
4
minarg,:)(:1Theorem
1
*
1
2
2
*






 
ww
wwxx
w
 
   
convexstrongly-
2
:convexstrongly-,1
Lemma1Theorem1
;minarg1then
projectionif
:Proof
2
1




の和なのでのヒンジ損失の平均値とは、
ことを証明する。の前提条件が成立するを証明するには
 の球で、は半径
が起こらない
tt
tttt
B
t
AAf
AfB
ww
wwww
w




 
   
 
 
  








R
y
At
y
A
y
A
y
A
y
A
y
A
y
A
yAiA
y
Att
y
A
Ry
A
AfR
t
t
j Ai
ii
j
t
Ai
ii
Ai
ii
Ai
ii
Ai
ii
Ai
ii
Ai
ii
i
t
itt
Ai
ii
t
t
Ai
ii
t
t
ttt
Ai
ii
t
ttt
t
j
tt










































 






 









1
1
321
4
21
3
1
21
1
11
3
111
2
1
3
2
2
11
2
11
0
01|where
11
11then
stepprojectionif
1
;1then
stepprojectionif
2
dcont':Proof
321
211
w
xw
xxxw
xxwxww
xw
xwxww
xwwxw
ここで
が実行されなかった 
かつ
が実行された
の上界を求める。次に
ここの導出は初等的が
だちょっとした計算
 
 
   
 
 
  とすると、双対問題の解を主問題の解を
題を導く。とおき、以下の双対問
の主問題は以下の形式ここで対象にしている
を示す。した場合は、
と言える。
により しない場合は、
を示す。最後に
***
2
11
1
2
*
*
1
*
,
)50(0:m1,is.t.
2
1
min
1
1,0:m1,is.t.
2
1
min
1projection
minargprojection
3
dcont':Proof






w
x
xww
w
w
wwww
w
w
Cy
mC
yC
SVM
B
B
i
m
i
iii
m
i
i
iiii
m
i
i
tttt
B
t













ここで双対問題を思い
つくところがいかにも
SVM的
 
 
   
    られる。 □  に適用すれば定理が得を以上の結果
が成り立つのでの問題では強双対定理
る。は次のように書き直せであり
とすると、双対問題の解を主問題の解を
Lemma1321
1
2
11
2
1
2
1
2
1
11max
2
1
2
1
2
1
50
,
dcont':Proof
*
2*2*
1
*
1
*2*2*
1
1
***
2*
1
*
1
*2*
2*
1
*
1
**
***


















w
wwww
ww
wxw
w
C
CmmC
C
SVM
y
m
i
ii
m
i
iii
強双対定理の実に
賢い使い方だ
Coordinate Descent
C.-J. Hsieh, et.al. ICML2008
Target: L1損失- L2正則化のSVM 双対化し
て解く。下に定義
 
,where
,...,10subject to
2
1
min
jijiij
i
TTD
yyQ
liC
Qf
xx
αeααα
α




Coordinate Descent
Coordinate Descentは順番に1変数づつ選
び、他の変数は固定して最適化。
     

   10,0,maxmin
0,...0,1,0,..0where0subject to
2
1
min
1
2
CDC
Q
f
d
eCd
ffdfdQfdef
ii
D
i
ii
i
T
i
ii
DD
iii
D
i
D
d













 












α
ααα



の更新式は下式を計算することによる
の双対は
Coordinate Descent つづき
(CD10)のQiiはαiの最適化の中で1回計算すれ
ばよいが



     
 
   
 
   
(CD10)(CD10)
CD30
(CD20)1,1
,..,1,1,1
1
1
の更新後の更新前、
+
でうれしい。以下の計算のためのとなり計算コストは
を保持しておけば
ででうれしくない。そこの計算コストが
は  
ii
iiii
iii
D
i
l
t
ttt
tit
l
t
titii
D
i
y
nO
yQf
y
nlO
ltyyQf




xuu
xuαα
xu
xxxxαα








L1損失-L2正則化のSVMの
Coordinate Descent アルゴリズム
  iiii
ii
ii
ii
ii
ii
l
i
iii
y
C
Q
G
yG
li
liQ
y
xuu
xu
α
xuα
























 
,0,maxmin
1,(CD20)
,..1For
optimalnotiswhile
,...,1
1
   
   
の計算により
の計算
の初期化、および
オンライン学習とストリーム学習
学習 正解との比較モデル1データづつ
到着データのモデ
ル学習
と分類などの結果
学習結果
1データづつ
モデル
データ
発生
オンライン学習
ストリーム学習
バッチ、オンライン、ストリームの比較
バッチ学習 オンライン学習 ストリーム学習
メモリに乗せるデータ 同時に全部 同時には1データ 同時には1データ
メモリ量 大 小でも可能 小
データの到来 全データが揃ってか
ら処理
全データが揃って
から処理
1データ到着ごとに処
理
データの消去 消去せず 消去せず データは処理後に消去
同一データの処理
回数
収束するまで繰り返
し
収束するまで繰り
返し
1回
メモリに保持するモ
ノ
全データと途中に内
部状態
内部状態のみで
も可能
内部状態のみ
性能 精度高 バッチより劣る。
ただし、最近は
バッチに肉迫
劣る
可能な処理 何でもあり やや制限あり 限定的
捕捉:世の中、ビッグデータがホットだと言うけれど
?
?
? ?
?
?
異なる分類のデータ
?
?
?
?
分類されていない生のデータ
パーセプトロンの別のアルゴリズム
 
0),(
)(
for
until
}
};1;)()1({
then0),({if
1
;max;0;00 1
 の場合なし)(すなわち
。を最適化の結果とするように
ループ内で失敗しない
 
      
個ある。はデータ




 
ii
ii
ii
iNi
i
xkwy
kw
kkxykwkw
xkwy
Ntoifor
repeat
xRkw
Nx

という識別に失敗したデータに、その値を
重み(学習率と呼ぶ)ηでwに足しこんで是正を図るアルゴリズム
 0),( ii xkwy
この部分が線形識別
パーセプトロンは有限回で収束
 mistakeのupper bound
Novikoffの定理(バイアスのない場合)
 
回である
る回数はたかだかアルゴリズムが失敗す
セプトロンが存在するなら、パーである
マージン
2
2
1
)1(:,
0max
opt
opt
iopti
iNi
w
R
w
xwy
xR







 


証明
 
   
 
 
  
■
   より
項は負は負例なので第
より
を繰り返し用いてとすれば
より
 このときのとき起こる。  更新は、
重みを回目の失敗 に先立つ
2
2
222
222
1
222
1
22
1
2
1
2
0
11
11
1
||||
,||||||||||||54
5||||||||
||ˆ||||||||||
2
||||,2||||||||2
4,30
3,,,,)1(
)2(0,
opt
optttoptopt
tt
tit
i
iititt
optt
opttoptiiopttoptt
iittiti
t
w
R
t
twwwwRtw
RtwRtw
Rwxw
x
xxwyww
twww
wwwxywwww
xywwxwy
wt




























メモリ容量より大きなデータのSVM
Hsiang-Fu Yu et.al KDD2010
1. 全データインデクス{1,..,l}をmブロック B1,…Bmに分割
2. 主問題ならw, 双対問題ならαを初期化
3. For k=1,2,… (外側の繰り返し)
4. For j=1,…,m (内側の繰り返し)
5. read xr ∀r∈Bj from Disk
6. {xr| r∈Bj}に関して最適化(PegasosかCD)を行う
7. wあるいはαを更新
主問題の場合はPegasos, 双対問題の場合は
Coordinate Descent(CD)をブロックごとに適用
ここが重要
主問題をPegasosで解く場合の6.の部分
 
 
Forend
1
,1min
0,1|,
11
where
,...,1For
,....,
0,,1max
1
2
1
min
Pegasos
1
1
2




















tt
lC
yBiBy
BlCt
lC
rr
BB
y
llC
ii
l
Bi
ii
tt
tt
r
jjj
l
i
ii
w
w
w
xwxw
ww
B
xww
w


に分割を
     
では次の最適化をする
双対問題でCoordinate Descent(CD)を使う場合
   
     
 
 
は更新すればよい。の更新部分でという更新で
なお、
だけ。ロック最適化に必要なのはブ  
ておけば をメモリ中に保持しさて、
更新部分:の
に注意)う(使い、下の最適化を行
に関する部分だけをロックのうちメモリにいるブここで、
の双対問題  は主問題   
w
xww
BBxwdα
xw
dαααα
αdedαdddα
B
BBxx
d
dα
B
Bj
d
BjBj
BjBjBjBjBjBjBjBjBj
d
B
Bj
dBj
Bj
Bj
.6
CD30
,,
minarg.6
CD20
2
1
min
,..,1
},...,1{,where
0and0subject to
CD10min
,
1
,













jr rrr
rrrir
T
ii
l
i
i
D
DT
i
TTD
jijiij
jiij
DD
yd
jjryQ
y
f
fQQf
li
jQ
jljyyQ
BiCd
fff


双対化の御利益:
教師データアクセスの観点から
主問題と双対問題は最適化するパラメタ-数
が違う。
主問題パラメタ-数 >>双対問題パラメタ-数 な
ら双対問題を解くほうが楽 教科書的
SVMの場合:
主問題のパラメタ-は重みベクトル:w
双対問題にパラメタ-は個別データ:xi
必ずしも教科書的なお得感ではない。
双対化の御利益
SVMの場合:
主問題のパラメタ-は重みベクトル:w
下の定式化なので、全教師データ{tn,xn}が同時
に必要
データ量が大きくメモリにロード仕切れない場
合に困ったことになる。
データ量は最近、増加傾向
)30(,,11))((subject to
||||
2
1
minarg 2
,
SVMNnbt n
T
n
b
xw
w
w

双対化の御利益
必ずしも教科書的なお得感ではない。
 一方、双対問題では入力データxitiのと最適化するaiが対応
する形で最適化式に現れるので、どのデータを学習で使うか
制御しやすい。(下の式参照)
 例えば、 ai(i≠j)を固定して、ajを最適化する操作をjを動かして繰り返
すなど。そのときには だけしか使わない。
)()()()90(0
)80(,..,10subject to
)70()(
2
1
max)(
~
max
1
1 1 1
m
T
nmn
N
n
nn
n
N
n
N
n
N
m
mnmnmnn
kwhereSVMta
SVMNna
SVMkttaaaL
xxx,x
x,xa










 

  
 


  Njk ji ,...,1, xx
双対化の御利益
入力データ、あるいはカーネル行列
全体がメモリに乗り切らないビッグデ
ータを扱うために、入力(すなわちカ
ーネルk(xn, xm)の一部を取捨選択し
てメモリにロードして使う方法が、こ
の双対化で可能になっている。
ビッグデータ時代における御利益
cf. 台湾大学のLIBSVM (SVMの実装)
全データからどのようにメモリにロードする部
分を切り出すかについてはここで紹介した通
り。
k(xn, xm)
M
N
この部分だけ
使って最適化:
次に使う部分
ロードし直して最
適化:繰り返す
内外のバランス など
内側の繰り返しで最適化でCDにおいてαの
更新を1回にし、looseな解を求めると、外側
の繰り返しが多数回必要
内側の繰り返しで精密な最適化を行えば、外
側の繰り返しは少なくてよい。
Bj{j=1,..,m}内の要素の最適化処理における
順番は外側の繰り返し毎にランダムに変更し
た方が収束が早い
小さなブロックに分けてデータマイニング、機械学習
?
?
?
?
?
?
ブロックをメモリに順次ロードして学習し、その結果を活
用して次のブロックへ と繰り返す:
例えば Stream SVM
転移学習
?
?
?
?
?
?
異なる分類のデータ
?
?
?
?
分類されていない生のデータ
この分類での学習の
結果を別のグループ
に転移して有効利用
人間に正解をつけてもらうデータを絞り込む:Active学習
?
?
?
?
?
?
異なる分類のデータ
?
?
?
?
分類されていない生のデータ
分類しにくい部
分のデータ
付録: DualityによるFoReLの定式化
   
   
 
   
   
 tt
tt
ttt
tttt
tt
fff
f
ff
ff
f
ff
ff
wz
wz
zwuwu
uzuwzw
uzuw
uθuθu
uθuθ
u
u






の定義よりが成立するときはが微分可能なら、等式
におけるのは
だとすると
明らかに次式が成立
双対
*
*
*
gradient-sub
,
,,
,maxarg
,,
:EqualityYoung-Fenchel:
,max:Fenchel
Online Mirror Descent:OMD
     
 
   
 
   
 11
1
:1
:111
1:1
2.
1.
FoReL,maxarg
,maxarg
,minarg,minarg
FoReL
,FoReL














tt
ttt
t
t
t
i tt
t
i it
tt
g
Rg
R
RR
RS
RRf
θw
zθθ
wθwθ
wzw
zwwzwww
zz
ww
wwzww
w
w
ww
はとおくと
はと略記すると
とするだと      なお、
は正則化関数とする   で
   
 
          
  2*2
1
2
*
1
1
1
2
1
2
1
(OMD100)minRegret
where
),maxarg(
,...2,1for
0
(OMD)DescentMirrorOnline
θww
zvuuwu
wzzθθ
wθwθw
θ
v
w







 



RR
RRff
f
Rg
t
Sg:R
T
t
t
S
T
t
tttT
tttttt
tt
d

ここで以下が言える
パーセプトロンの別のアルゴリズム
   
  
   
  
 ),(
0)(
for
until
}
};1;1;)()1({
then0)({if
1
;max;0;00;00
2
1
。を最適化の結果とするように
 の場合なし)(すなわち
ループ内で失敗しない
 
      
個ある。はデータ
kbkw
kbxkwy
kkRykbkbxykwkw
kbxkwy
Ntoifor
repeat
xRkbw
Nx
i
T
i
iii
i
T
i
iNi
i




 

という識別に失敗したデータに、その値を
重み(学習率と呼ぶ)ηでwに足しこんで是正を図るアルゴリズム
    0)(  kbxkwy i
T
i
この部分が線形識別
  
    
    
    
     
は改善していく。い方向にしたがって、失敗しな
よって、 
項は必ず正第
みる更新後の判定式を見て
w
kbxkwykbxkwy
xxykbxkwy
Rxykbxkwy
Ryxyykbxkwy
kbxkwy
i
T
ii
T
i
iiii
T
i
iii
T
i
iiiii
T
i
i
T
i





)(1)1(
2
max)(
)(
)(
1)1(
222
222
2



w(k)
w(k+1)
パーセプトロンは有限回で収束
 mistakeのupper bound
Novikoffの定理(バイアスのある場合)
 
 
回である
る回数はたかだかアルゴリズムが失敗す
セプトロンが存在するなら、パーである
マージン かつ  
2
1
2
)1(:1
0max







 


R
w
bxwyw
xR
opt
opti
T
optiopt
iNi
証明
 
   
 
Ry
R
b
R
b
Rybb
xywRxy
R
b
w
R
b
ww
yx
bxwyxwy
wt
R
b
ww
RxxR
i
tt
itt
iit
TT
ii
T
tT
t
T
tT
tt
titiiti
t
T
iT
ii
TT
ii

































12
1
1
1
1
111
1
)2(ˆˆ,,,ˆ
0ˆˆ
ˆ
,ˆ
,ˆ1
、なぜなら
このとき
は内積 る。     のとき起こ          
更新は、
重みを回目の失敗 に先立つ
とする。
とする。次元加え、となる入力ベクトルに値
証明 つづき
 
   
   
   
 
 
  
  ■
   より
項は負は負例なので第
より
を繰り返し用いてとすれば
より
2
2
2
2
2
222
222
1
2222
1
222
1
22
1
2
1
2
0
11
1
1
1
2
1||ˆ||2||ˆ||2
ˆˆ||ˆ||||ˆ||2||ˆ||54
52||ˆ||2||ˆ||
2||ˆ||||||||ˆ||||ˆ||||ˆ||
2ˆ
||ˆ||ˆˆ2||ˆ||||ˆ||2
4ˆˆ30ˆ
3ˆˆˆˆˆˆˆˆ)1(
)2(ˆˆ,,,ˆ





















































R
w
R
w
R
t
twwwwRtw
RtwRtw
RwRxwxw
x
xxwyww
twww
wwwxywwww
xywRxy
R
b
w
R
b
ww
optopt
optttoptopt
tt
titit
i
iititt
optt
opttoptiiopttoptt
iit
TT
ii
T
tT
t
T
tT
tt

クラシックな機械学習の入門 7. オンライン学習