オンライン予測理論

オンライン予測理論
第4回
システム情報科学研究院・情報学部門
瀧本 英二
これまでのおさらい
オンライン予測
─ エキスパート予測の統合
乱択プロトコル
xt2 {0,1}N
各時刻 t = 1, 2, 3, ..., T において
問題 Qt
答え yt
③
2 {0,1}
①
統合
アルゴリズム
②
zt 2{0,1}
1
エ
キ
2 ス
パ
ー
ト
N
一意に定まる
統合アルゴリズム
f : ((x1,y1), ...,(xt-1,yt-1), xt)  pt = Pr(zt = 1)
これまでの履歴
現在のエキスパート達の出力
c乱択二分法
仮定:全問正解のエキスパートが存在
• Wt = 時刻 t – 1 まで全問正解のエキスパート数
• kt = そのうち “1” と予測したエキスパート数
pt
1
kt / Wt
0
c
1–c 1
c
誤り回数
1/2
log2 N
0
loge N
1 – ln 2
2
(log2 N) / 2
保存的二分法(conservative halving algo)
アルゴリズムが正解したとき(yt = zt を満たす時刻 t)は
間違えたエキスパートを殺さない決定性二分法
つまり
旧: Wt = 「時刻 t – 1 まで全問正解のエキスパート数」
新: Wt = 「ys ≠ zs, 1 ·s ·t – 1 を満たす全ての
時刻 s において正解したエキスパート数」
アルゴリズムの誤り回数は,高々 log2 N
今日のテーマ
「N人のエキスパートのうち,少なくとも1人は
高々 k 回しか間違えない」
のように仮定を緩めた場合の戦略を考えよ.
まず,N=8, k=1 の場合について考えよう.
二分法の素朴な拡張はどうか
「今までの誤り回数が 1 回以下の
エキスパートの中で多数決」
問題:最大で何回間違える?
二分法の素朴な拡張はどうか
一般の場合:
(最適なエキスパートの誤り回数が高々 k 回)
「今までの誤り回数が k 回以下の
エキスパートの中で多数決」
?回以上間違える
Binomial Weight Algorithm
(二分法への還元)
N. Cesa-Bianchi, Y. Freund, D. Helmbold, M. Warmuth,
On-line Prediction and Conversion Strategies,
Machine Learning, 25, 71-100, 1996
N=8, k=1 のとき,誤り回数 5 回以下
還元のアイディア(ver. 1)
• 仮想エキスパート Ei,A を導入
(1 · i · N, A µ {1, 2, ..., T}, |A| · k)
• 時刻 t のとき,Ei,A は
t 2 A ) エキスパート i と同じ予測
t 2 A ) エキスパート i の予測を反転
• 仮想エキスパートの1人は全問正解!
• 仮想エキスパート上で二分法を実行
仮想エキスパート Ei,A
コピーたち
1,4,7
オリジナルの
エキスパート i
3,6
・
・
・
いつもエキスパート i と
同じ予測をするよ
時刻 t = 1, 4, 7 のときだけ
エキスパート i と違う予測
をするよ
時刻 t = 3, 6 のときだけ
エキスパート i と違う予測
をするよ
例(N = 2, k=2, T = 4)
yt
xt,2
エキスパート 2
E2,
E2,{1}
E2,{2}
E2,{3}
E2,{4}
E2,{1,2}
E2,{1,3}
E2,{1,4}
E2,{2,3}
E2,{2,4}
E2,{3,4}
二分法
アルゴリズム
zt
仮想エキスパート 22人
E1,
E1,{1}
E1,{2}
E1,{3}
E1,{4}
E1,{1,2}
E1,{1,3}
E1,{1,4}
E1,{2,3}
E1,{2,4}
E1,{3,4}
xt,1
エキスパート 1
動作例: t = 1
yt = 1
0
エキスパート 2
E2,
E2,{1}
E2,{2}
E2,{3}
E2,{4}
E2,{1,2}
E2,{1,3}
E2,{1,4}
E2,{2,3}
E2,{2,4}
E2,{3,4}
X0
X
X
X
X
X
X
1
0
0
0
1
1
1
0
0
0
二分法
アルゴリズム
1
0
1
1
1
0
0
0
1
1
1
zt = 1
X
X
X
X
E1,
E1,{1}
E1,{2}
E1,{3}
E1,{4}
E1,{1,2}
E1,{1,3}
E1,{1,4}
E1,{2,3}
E1,{2,4}
E1,{3,4}
1
エキスパート 1
動作例: t = 2
yt = 1
1
エキスパート 2
E2,
E2,{1}
E2,{2}
E2,{3}
E2,{4}
E2,{1,2}
E2,{1,3}
E2,{1,4}
E2,{2,3}
E2,{2,4}
E2,{3,4}
X
1
1
X
X
X
X0
1
1
X
X
X
X
0
X
1
1
二分法
アルゴリズム
X
X
X
0 X
0 X
1
zt = 1
E1,
E1,{1}
E1,{2}
E1,{3}
E1,{4}
E1,{1,2}
E1,{1,3}
E1,{1,4}
E1,{2,3}
E1,{2,4}
E1,{3,4}
1
エキスパート 1
動作例: t = 3
yt = 1
0
エキスパート 2
E2,
E2,{1}
E2,{2}
E2,{3}
E2,{4}
E2,{1,2}
E2,{1,3}
E2,{1,4}
E2,{2,3}
E2,{2,4}
E2,{3,4}
X
X0
X
X
X
X
X
X
X
X
1
0
1
X
X
0
X
1
二分法
アルゴリズム
X
X
X
X
X
0 X
zt = 0
E1,
E1,{1}
E1,{2}
E1,{3}
E1,{4}
E1,{1,2}
E1,{1,3}
E1,{1,4}
E1,{2,3}
E1,{2,4}
E1,{3,4}
1
エキスパート 1
解析
• 仮想エキスパート数
• 誤り回数 (k ≧ 3 のとき)
問題点
1. アルゴリズムが T を知っている必要がある
2. 各時刻の計算時間と誤り回数の上界が
T に依存
•各時刻における計算時間を O(N) にできる
•誤り回数の上界も改善可能
Binomial Weighting Algorithm
アルゴリズムの改良について
• 計算量の改善
生き残っている仮想エキスパート数と,
その中で “1” と予想しているエキスパート数
さえ計算できればよい
演習
エキスパート i が,時刻 t - 1 までに li (≦ k)回間違え
ており,時刻 t で “0” と予想したとする.
1. 生き残っている仮想エキスパート Ei,A の数は?
2. その中で “1”と予想している仮想エキスパート数は?
アルゴリズムの改良について
• 誤り回数の改善
「保存的二分法」の利用:
アルゴリズムが正解した回は,エキスパートを殺さない
解析上,アルゴリズムが正解した
時刻は存在しなかったことと等価
m = アルゴリズムの誤り回数の上界
とするとき,T = m と考えて良い
解析
• 仮想エキスパート数
• 誤り回数の上界
を満たす最大の m
定理: