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
min
1
m
m∑
i=1
(
1 + exp(−βT
xi − bi c)
)
+ λ∥β∥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
双対問題への変換
min
1
m
∑
i
(
1 + exp(−βT
xi − bi c)
)
+ λ∥β∥1
双対問題:
min
{
g(θ) =
1
m
m∑
i=1
f (θi ) : ∥ ¯XT
θ∥∞, θT
b = 0, θ ∈ Rm
}
ただし
¯xi := bi xi
つまり
¯X = bT
X
A Safe Rule for Sparse Logistic Regression
Notations
学習の入力データ X ∈ Mat(m, p; R) に対して、xi は i 行目のベク
トル、xj は j 列目のベクトル。
λ に依存した最適値として、β∗
λ, θ∗
λ
β の i 番目の要素は [β]i で表す。
A Safe Rule for Sparse Logistic Regression
L1 regularization と sparseness
L1 regularization 項がある最適化は解が疎であることが期待
できる
この場合も、KKT 条件から次の式が得られる
|θ∗T
λ ¯xj
| < 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 ∈ P
m+/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
λ ¯xj
| < mλ ⇒ [βλ]j = 0
これを緩和し最適値 θ∗
λ が含まれるような領域を Aλ とすると
max
θ∈Aλ
|θT
¯xj
| < mλ ⇒ [βλ]j = 0
方針:この条件を十分条件で簡略化していき、良いバウンドを見
つける。
(途中計算略)
A Safe Rule for Sparse Logistic Regression
定理
λmax ≥ λ0 > λ > 0 のとき次のいずれかが成り立てば [β∗
λ]i = 0
1 ¯xj − ¯xjT b
∥b∥2
2
b = 0
2 max
{
Tξ(θ∗
λ, ¯xj ; θ∗
λ0
)|ξ = ±1
}
< mλ
ただし
Tξ(θ∗
λ, ¯xj
; θ∗
λ0
) := max
θ∈Aλ
λ0
ξθT
¯xj
Aλ
λ0
:=
{
θ|∥θ − θ∗
λ0
∥2
2 ≤ r2
, θT
b = 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 にも同じ考え方
を適用したい。

A Safe Rule for Sparse Logistic Regression

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