Download - A Safe Rule for Sparse Logistic Regression
A Safe Rule for Sparse Logistic Regression
A Safe Rule for Sparse Logistic Regression
加藤公一 (シルバーエッグテクノロジー株式会社)
2015/1/20 NIPS2014 読み会 (@ 東京大学工学部 6号館)
A Safe Rule for Sparse Logistic Regression
自己紹介
加藤公一(かとうきみかず)
Twitter : @hamukazu
シルバーエッグテクノロジー株式会社所属
ショッピングサイト向けのレコメンデーションシステムのアルゴリズムを考えています。(ASPとして提供)
A Safe Rule for Sparse Logistic Regression
この論文を選んだ動機
問題意識が一致Sparsenessはレコメンド業界でも重要
計算量とか消費メモリとかの考慮つまりサーバラックあたりにたくさんのサービスを詰め込みたい
A Safe Rule for Sparse Logistic Regression
お断り
原論文は数学的な記述 (定理・証明)が多いですが、それらはあまり説明しません。できるだけ概要を伝えるように努めます。
A Safe Rule for Sparse Logistic Regression
Introduction
Logistic Regression (LR, ロジスティック回帰)は主に二値分類に使われる手法モデルはベクトルによって表されるが、それが疎であると嬉しい。
消費メモリのメリット計算速度のメリット
早い段階でどのパラメータがゼロかを決定できないだろうか?
A Safe Rule for Sparse Logistic Regression
LR with L1 regularization
min1
m
m∑i=1
(1 + exp(−βT xi − bic)
)+ λ∥β∥1
∥ · ∥1は L1ノルム (∥β∥ :=∑m
i=1|β|)xi ∈ Rm, i = 1, . . . , p:学習データの特徴ベクトルbi ∈ {−1, 1} , i = 1, . . . , p:学習データのラベルβ ∈ Rm, c ∈ R :(最適化すべき)パラメータ
A Safe Rule for Sparse Logistic Regression
双対問題への変換
min1
m
∑i
(1 + exp(−βT xi − bic)
)+ λ∥β∥1
双対問題:
min
{g(θ) =
1
m
m∑i=1
f (θi ) : ∥X̄T θ∥∞, θTb = 0, θ ∈ Rm
}
ただしx̄i := bixi
つまりX̄ = bTX
A Safe Rule for Sparse Logistic Regression
Notations
学習の入力データ X ∈ Mat(m, p;R)に対して、xi は i 行目のベクトル、x j は j 列目のベクトル。
λに依存した最適値として、β∗λ, θ
∗λ
βの i 番目の要素は [β]i で表す。
A Safe Rule for Sparse Logistic Regression
L1 regularizationと sparseness
L1 regularization項がある最適化は解が疎であることが期待できるこの場合も、KKT条件から次の式が得られる
|θ∗Tλ x̄ j | < mλ ⇒ [βλ]j = 0
実際最適解の多くのパラメータが 0になる。
A Safe Rule for Sparse Logistic Regression
既存研究
同じようにゼロ要素を先に見つける手法:
1 SAFE (El Ghaoui et al., 2010)
2 Strong rules (Tibshirani et al., 2012)
3 DOME (Xiang et al., 2012)
ここで、2.と 3.は safeではない (つまり最適解が 0でない要素を0と判定することがある)。
本研究では safeかつ効率のよい手法を提案。
A Safe Rule for Sparse Logistic Regression
閾値について
P = {i |bi = 1} ,N = {i |bi = −1} ,m+ = #P,m− = #N
[θ∗λmax
]i=
{m−/m if i ∈ Pm+/m if i ∈ N
λmax =1
m∥XT θλ∗
max∥∞
と定義すると次が成り立つ。
A Safe Rule for Sparse Logistic Regression
λ > λmaxならば β∗λ = 0かつ θ∗λ = θ∗λmax
つまり、ハイパーパラメータ λが大きくなると β∗λがどんどん疎
になっていき、ある閾値を超えると β∗λ = 0となり、このときの最
適解は簡単に解析的に求めることができる。
A Safe Rule for Sparse Logistic Regression
条件の緩和
KKT条件により
|θ∗Tλ x̄ j | < mλ ⇒ [βλ]j = 0
これを緩和し最適値 θ∗λが含まれるような領域をAλとすると
maxθ∈Aλ
|θT x̄ j | < mλ ⇒ [βλ]j = 0
方針:この条件を十分条件で簡略化していき、良いバウンドを見つける。
(途中計算略)
A Safe Rule for Sparse Logistic Regression
定理
λmax ≥ λ0 > λ > 0のとき次のいずれかが成り立てば [β∗λ]i = 0
1 x̄ j − x̄ jTb∥b∥22
b = 0
2 max{Tξ(θ
∗λ, x̄
j ; θ∗λ0)|ξ = ±1
}< mλ
ただしTξ(θ
∗λ, x̄
j ; θ∗λ0) := max
θ∈Aλλ0
ξθT x̄ j
Aλλ0
:={θ|∥θ − θ∗λ0
∥22 ≤ r2, θTb = 0, θT x̄∗ ≤ mλ}
2.は凸最適化で、解析的な最適解 (Theorem 8)が得られる。
実際の計算時には λ0 = λmaxとして計算してよい。
A Safe Rule for Sparse Logistic Regression
といっても..
突然これだけ見せられても何を言ってるかわからないと思います。
でもとにかくバウンドできました!うれしい!
A Safe Rule for Sparse Logistic Regression
実験 (1)
前立腺がんのデータを実験データとして使うSAFE, Strong Rule, Slores(=提案手法)を比較
A Safe Rule for Sparse Logistic Regression
実験結果 (1)
最適化後に 0になる要素のうち、あらかじめ 0であると判定できたものの率
Figure : (論文より抜粋)
A Safe Rule for Sparse Logistic Regression
実験 (2)
実験データはニュースグループと Yahoo!のカテゴリからあるカテゴリ(サブカテゴリ)をピックアップして、それに属すものと属さないものを、それぞれ同数になるようにランダムに抽出LRの最適化後に 0なる要素のうち、どの程度あらかじめ除外できたかという割合と、計算時間を比較既存手法の Strong Ruleと比較。(Strong rulesは safeな手法ではないので、結果の正確さは提案手法の方が良いはず)
A Safe Rule for Sparse Logistic Regression
実験結果 (2a)
あらかじめ 0であると判定できたものの率
A Safe Rule for Sparse Logistic Regression
実験結果 (2b)
計算速度
A Safe Rule for Sparse Logistic Regression
結論
L1 regularized LRについて、最適解のゼロ要素をあらかじめ除外する手法を示し、その効率は既存手法を上回ったFuture work: LASSOや L1-reguralized SVMにも同じ考え方を適用したい。