SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
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 にも同じ考え方
を適用したい。

Contenu connexe

Plus de Kimikazu Kato

Tokyo webmining 2017-10-28
Tokyo webmining 2017-10-28Tokyo webmining 2017-10-28
Tokyo webmining 2017-10-28Kimikazu Kato
 
機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPython機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPythonKimikazu Kato
 
Pythonを使った機械学習の学習
Pythonを使った機械学習の学習Pythonを使った機械学習の学習
Pythonを使った機械学習の学習Kimikazu Kato
 
Fast and Probvably Seedings for k-Means
Fast and Probvably Seedings for k-MeansFast and Probvably Seedings for k-Means
Fast and Probvably Seedings for k-MeansKimikazu Kato
 
Pythonで機械学習入門以前
Pythonで機械学習入門以前Pythonで機械学習入門以前
Pythonで機械学習入門以前Kimikazu Kato
 
Pythonによる機械学習
Pythonによる機械学習Pythonによる機械学習
Pythonによる機械学習Kimikazu Kato
 
Introduction to behavior based recommendation system
Introduction to behavior based recommendation systemIntroduction to behavior based recommendation system
Introduction to behavior based recommendation systemKimikazu Kato
 
Pythonによる機械学習の最前線
Pythonによる機械学習の最前線Pythonによる機械学習の最前線
Pythonによる機械学習の最前線Kimikazu Kato
 
Sparse pca via bipartite matching
Sparse pca via bipartite matchingSparse pca via bipartite matching
Sparse pca via bipartite matchingKimikazu Kato
 
正しいプログラミング言語の覚え方
正しいプログラミング言語の覚え方正しいプログラミング言語の覚え方
正しいプログラミング言語の覚え方Kimikazu Kato
 
Introduction to NumPy for Machine Learning Programmers
Introduction to NumPy for Machine Learning ProgrammersIntroduction to NumPy for Machine Learning Programmers
Introduction to NumPy for Machine Learning ProgrammersKimikazu Kato
 
Effective Numerical Computation in NumPy and SciPy
Effective Numerical Computation in NumPy and SciPyEffective Numerical Computation in NumPy and SciPy
Effective Numerical Computation in NumPy and SciPyKimikazu Kato
 
ネット通販向けレコメンドシステム提供サービスについて
ネット通販向けレコメンドシステム提供サービスについてネット通販向けレコメンドシステム提供サービスについて
ネット通販向けレコメンドシステム提供サービスについてKimikazu Kato
 
関東GPGPU勉強会資料
関東GPGPU勉強会資料関東GPGPU勉強会資料
関東GPGPU勉強会資料Kimikazu Kato
 
2012-03-08 MSS研究会
2012-03-08 MSS研究会2012-03-08 MSS研究会
2012-03-08 MSS研究会Kimikazu Kato
 
純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門Kimikazu Kato
 

Plus de Kimikazu Kato (17)

Tokyo webmining 2017-10-28
Tokyo webmining 2017-10-28Tokyo webmining 2017-10-28
Tokyo webmining 2017-10-28
 
機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPython機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPython
 
Pythonを使った機械学習の学習
Pythonを使った機械学習の学習Pythonを使った機械学習の学習
Pythonを使った機械学習の学習
 
Fast and Probvably Seedings for k-Means
Fast and Probvably Seedings for k-MeansFast and Probvably Seedings for k-Means
Fast and Probvably Seedings for k-Means
 
Pythonで機械学習入門以前
Pythonで機械学習入門以前Pythonで機械学習入門以前
Pythonで機械学習入門以前
 
Pythonによる機械学習
Pythonによる機械学習Pythonによる機械学習
Pythonによる機械学習
 
Introduction to behavior based recommendation system
Introduction to behavior based recommendation systemIntroduction to behavior based recommendation system
Introduction to behavior based recommendation system
 
Pythonによる機械学習の最前線
Pythonによる機械学習の最前線Pythonによる機械学習の最前線
Pythonによる機械学習の最前線
 
Sparse pca via bipartite matching
Sparse pca via bipartite matchingSparse pca via bipartite matching
Sparse pca via bipartite matching
 
正しいプログラミング言語の覚え方
正しいプログラミング言語の覚え方正しいプログラミング言語の覚え方
正しいプログラミング言語の覚え方
 
Introduction to NumPy for Machine Learning Programmers
Introduction to NumPy for Machine Learning ProgrammersIntroduction to NumPy for Machine Learning Programmers
Introduction to NumPy for Machine Learning Programmers
 
Effective Numerical Computation in NumPy and SciPy
Effective Numerical Computation in NumPy and SciPyEffective Numerical Computation in NumPy and SciPy
Effective Numerical Computation in NumPy and SciPy
 
Sapporo20140709
Sapporo20140709Sapporo20140709
Sapporo20140709
 
ネット通販向けレコメンドシステム提供サービスについて
ネット通販向けレコメンドシステム提供サービスについてネット通販向けレコメンドシステム提供サービスについて
ネット通販向けレコメンドシステム提供サービスについて
 
関東GPGPU勉強会資料
関東GPGPU勉強会資料関東GPGPU勉強会資料
関東GPGPU勉強会資料
 
2012-03-08 MSS研究会
2012-03-08 MSS研究会2012-03-08 MSS研究会
2012-03-08 MSS研究会
 
純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門
 

A Safe Rule for Sparse Logistic Regression

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