a safe rule for sparse logistic regression

21
A Safe Rule for Sparse Logistic Regression A Safe Rule for Sparse Logistic Regression 加藤公一 (シルバーエッグテクノロジー株式会社) 2015/1/20 NIPS2014 読み会 (@ 東京大学工学部 6 号館)

Upload: kimikazu-kato

Post on 13-Apr-2017

4.811 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: 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号館)

Page 2: A Safe Rule for Sparse Logistic Regression

A Safe Rule for Sparse Logistic Regression

自己紹介

加藤公一(かとうきみかず)

Twitter : @hamukazu

シルバーエッグテクノロジー株式会社所属

ショッピングサイト向けのレコメンデーションシステムのアルゴリズムを考えています。(ASPとして提供)

Page 3: A Safe Rule for Sparse Logistic Regression

A Safe Rule for Sparse Logistic Regression

この論文を選んだ動機

問題意識が一致Sparsenessはレコメンド業界でも重要

計算量とか消費メモリとかの考慮つまりサーバラックあたりにたくさんのサービスを詰め込みたい

Page 4: A Safe Rule for Sparse Logistic Regression

A Safe Rule for Sparse Logistic Regression

お断り

原論文は数学的な記述 (定理・証明)が多いですが、それらはあまり説明しません。できるだけ概要を伝えるように努めます。

Page 5: A Safe Rule for Sparse Logistic Regression

A Safe Rule for Sparse Logistic Regression

Introduction

Logistic Regression (LR, ロジスティック回帰)は主に二値分類に使われる手法モデルはベクトルによって表されるが、それが疎であると嬉しい。

消費メモリのメリット計算速度のメリット

早い段階でどのパラメータがゼロかを決定できないだろうか?

Page 6: A Safe Rule for Sparse Logistic Regression

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 :(最適化すべき)パラメータ

Page 7: A Safe Rule for Sparse Logistic Regression

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

Page 8: A Safe Rule for Sparse Logistic Regression

A Safe Rule for Sparse Logistic Regression

Notations

学習の入力データ X ∈ Mat(m, p;R)に対して、xi は i 行目のベクトル、x j は j 列目のベクトル。

λに依存した最適値として、β∗λ, θ

∗λ

βの i 番目の要素は [β]i で表す。

Page 9: A Safe Rule for Sparse Logistic Regression

A Safe Rule for Sparse Logistic Regression

L1 regularizationと sparseness

L1 regularization項がある最適化は解が疎であることが期待できるこの場合も、KKT条件から次の式が得られる

|θ∗Tλ x̄ j | < mλ ⇒ [βλ]j = 0

実際最適解の多くのパラメータが 0になる。

Page 10: A Safe Rule for Sparse Logistic Regression

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かつ効率のよい手法を提案。

Page 11: A Safe Rule for Sparse Logistic Regression

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∥∞

と定義すると次が成り立つ。

Page 12: A Safe Rule for Sparse Logistic Regression

A Safe Rule for Sparse Logistic Regression

λ > λmaxならば β∗λ = 0かつ θ∗λ = θ∗λmax

つまり、ハイパーパラメータ λが大きくなると β∗λがどんどん疎

になっていき、ある閾値を超えると β∗λ = 0となり、このときの最

適解は簡単に解析的に求めることができる。

Page 13: A Safe Rule for Sparse Logistic Regression

A Safe Rule for Sparse Logistic Regression

条件の緩和

KKT条件により

|θ∗Tλ x̄ j | < mλ ⇒ [βλ]j = 0

これを緩和し最適値 θ∗λが含まれるような領域をAλとすると

maxθ∈Aλ

|θT x̄ j | < mλ ⇒ [βλ]j = 0

方針:この条件を十分条件で簡略化していき、良いバウンドを見つける。

(途中計算略)

Page 14: A Safe Rule for Sparse Logistic Regression

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として計算してよい。

Page 15: A Safe Rule for Sparse Logistic Regression

A Safe Rule for Sparse Logistic Regression

といっても..

突然これだけ見せられても何を言ってるかわからないと思います。

でもとにかくバウンドできました!うれしい!

Page 16: A Safe Rule for Sparse Logistic Regression

A Safe Rule for Sparse Logistic Regression

実験 (1)

前立腺がんのデータを実験データとして使うSAFE, Strong Rule, Slores(=提案手法)を比較

Page 17: A Safe Rule for Sparse Logistic Regression

A Safe Rule for Sparse Logistic Regression

実験結果 (1)

最適化後に 0になる要素のうち、あらかじめ 0であると判定できたものの率

Figure : (論文より抜粋)

Page 18: A Safe Rule for Sparse Logistic Regression

A Safe Rule for Sparse Logistic Regression

実験 (2)

実験データはニュースグループと Yahoo!のカテゴリからあるカテゴリ(サブカテゴリ)をピックアップして、それに属すものと属さないものを、それぞれ同数になるようにランダムに抽出LRの最適化後に 0なる要素のうち、どの程度あらかじめ除外できたかという割合と、計算時間を比較既存手法の Strong Ruleと比較。(Strong rulesは safeな手法ではないので、結果の正確さは提案手法の方が良いはず)

Page 19: A Safe Rule for Sparse Logistic Regression

A Safe Rule for Sparse Logistic Regression

実験結果 (2a)

あらかじめ 0であると判定できたものの率

Page 20: A Safe Rule for Sparse Logistic Regression

A Safe Rule for Sparse Logistic Regression

実験結果 (2b)

計算速度

Page 21: A Safe Rule for Sparse Logistic Regression

A Safe Rule for Sparse Logistic Regression

結論

L1 regularized LRについて、最適解のゼロ要素をあらかじめ除外する手法を示し、その効率は既存手法を上回ったFuture work: LASSOや L1-reguralized SVMにも同じ考え方を適用したい。