More Related Content
Similar to [DSO]勉強会_データサイエンス講義_Chapter5
Similar to [DSO]勉強会_データサイエンス講義_Chapter5 (20)
[DSO]勉強会_データサイエンス講義_Chapter5
- 2. 教科書
2
Rachel Schutt, Cathy O‘Neil (2014) 「データサイエンス講義」
(瀬戸山 雅人・石井 弓美子・河内 崇・河内 真理子・古畠 敦・
木下 哲也・竹田 正和・佐藤 正士・望月 啓充 訳)
1章 はじめに:データサイエンスとは
2章 統計的推論、探索的データ分析、データサイエンスのプロセス
3章 アルゴリズム
4章 スパムフィルタ、単純ベイズ、データラングリング
5章 ロジスティック回帰
6章 タイムスタンプと金融モデリング
7章 データから意味を抽出する
8章 レコメンデーションエンジン:ユーザが直接触れる大規模データ製品を構築する
9章 データ可視化と不正検出
10章 ソーシャルネットワークとデータジャーナリズム
11章 因果関係
12章 疫学
13章 データ分析のコンペティションから得られた教訓:データのリークとモデルの評価
14章 データエンジニアリング:MapReduce、Pregel、Hadoop
15章 生徒たちの声
16章 次世代のデータサイエンティスト、データに対する過信と倫理
- 4. Leverages Marketing Department
● 思考実験とは
○ 頭の中で想像するだけの実験。科学の基礎原理に反しない限りで、極度に単純・理想化
された前提(例えば摩擦のない運動、収差のないレンズなど)により遂行される。
■ 出展:https://ja.wikipedia.org/wiki/思考実験
■ 例:アインシュタインが行った、光を追いかけるとどうなるかという思考実験。特殊相対性理
論につながった。
● 「すべての大統一理論があったら」
○ データサイエンスにそのようなものがあるとは思えない。
○ 物理学のようなピタッと予測できる分野とデータサイエンスとの違いは何か?
● データサイエンスのサイエンスと呼ぶのにふさわしい理由?
○ 最もよいモデルを保持
○ 2つのモデルを競い合わせる実験
○ 洗練させる作業
思考実験
4
- 5. Leverages Marketing Department
● 分類とは
○ データポイントを有限個のラベル集合に対応させること
○ どの分類器、最適化手法、損失関数、特徴、評価指標を使うかを選ぶ必要がある。
○ 実行時間、そのアルゴリズムを理解しているか、解釈がしやすいか、スケーラビリティ(学習
時間、評価時間、モデル保存サイズ)
分類器
5
広告をクリックするかどうか 0(いいえ)または1(はい)
何の数字の画像か 0, 1, 2, …, 9など
スパムかどうか 0(いいえ)または1(はい)
- 6. Leverages Marketing Department
● 例として、あるユーザがある広告をクリックするかどうか予測する問題を考える
○ ユーザが訪れたサイトをデータとして蓄積しておく
○ それを行列で表す
■ あるユーザがサイトを訪れていたら1、訪れていなかったら0として、行がユーザ、列がサイ
トを表す行列
■ ほとんどの要素が0になる(疎行列)
ロジスティック回帰
6
ユーザID \ サイトID 1 2 3 …
1 1 0 1 …
2 0 0 1 …
3 0 1 0 …
… … … … …
- 8. Leverages Marketing Department
● 2クラス分類において、クラス𝐶1 = 1と𝐶2 = 0があると
する。クラス𝐶1に属する確率は次のようになる。
○ 𝑝 𝐶1 𝑥 =
𝑝 𝑥 𝐶1 𝑝 𝐶1
𝑝 𝑥 𝐶1 𝑝 𝐶1 +𝑝 𝑥 𝐶2 𝑝 𝐶2
=
1
1+𝑒−𝑡 = 𝜎(−𝑡)
○ 𝑡 = ln
𝑝 𝑥 𝐶1 𝑝 𝐶1
𝑝 𝑥 𝐶2 𝑝 𝐶2
● 最初の式の3番目の辺はロジスティックシグモイド関数
(ロジット関数の逆関数)
○ 𝑝 𝐶1 𝑥 = 𝑙𝑜𝑔𝑖𝑡−1
𝑡
○ ある値を受け取っては[0, 1]の値を出力する。
ロジスティック回帰 数学
8
- 9. Leverages Marketing Department
● 𝑡 = 𝛼 + 𝛽 𝑇 𝑥𝑖
○ 𝑝 𝐶𝑖 𝑥 = 𝑙𝑜𝑔𝑖𝑡−1
(𝛼 + 𝛽 𝑇
𝑥𝑖) 𝑐 𝑖 ∗ 1 − 𝑙𝑜𝑔𝑖𝑡−1
(𝛼 + 𝛽 𝑇
𝑥𝑖) 1−𝑐 𝑖
● 𝑥𝑖 はユーザiの特徴ベクトルで、 𝐶𝑖 は 0か1をとる。
○ 𝐶𝑖 = 1のとき
○ 𝑝 𝐶𝑖 = 1 𝑥 = 𝑙𝑜𝑔𝑖𝑡−1
𝛼 + 𝛽 𝑇
𝑥𝑖 =
1
1+𝑒−(𝛼+ 𝛽 𝑇 𝑥 𝑖)
○ 𝐶𝑖 = 0のとき
○ 𝑝 𝐶𝑖 = 0 𝑥 = 1 − 𝑙𝑜𝑔𝑖𝑡−1
𝛼 + 𝛽 𝑇
𝑥𝑖 =
𝑒−(𝛼+ 𝛽 𝑇 𝑥 𝑖)
1+𝑒−(𝛼+ 𝛽 𝑇 𝑥 𝑖)
○ 𝑝 𝐶𝑖 = 0 𝑥 = 1 − 𝑝 𝐶𝑖 = 1 𝑥 なので、オッズ(発生確率が非発生確率の何倍かを表す)のt
対数をとると
○ log(
𝑝 𝐶𝑖 = 1 𝑥
1−𝑝 𝐶𝑖 = 1 𝑥
) = log 𝑒 𝛼+ 𝛽 𝑇 𝑥 𝑖 = 𝛼 + 𝛽 𝑇
𝑥𝑖
○ 𝑝 𝑡 = 𝑙𝑜𝑔𝑖𝑡−1
𝑡 なので、𝑙𝑜𝑔𝑖𝑡 𝑝 𝐶𝑖 = 1 𝑥 = 𝛼 + 𝛽 𝑇
𝑥𝑖 となり、確率のロジット関数
を線形関数で書けた。
○ ロジスティック回帰モデル
ロジスティック回帰 数学
9
- 10. Leverages Marketing Department
● n人のユーザに対して、クリックするかしないかは独立と仮定する。
● 独立と仮定すると各々のユーザがクリックする確率の積が尤度関数を最大化する
パラメタ𝛼, 𝛽を求める。
● ΘMLE = 𝑎𝑟𝑔𝑚𝑎𝑥 ς𝑖
𝑛
𝑝 𝐶𝑖 𝛼, 𝛽 = 𝑎𝑟𝑔𝑚𝑎𝑥 ς𝑖
𝑛
(
1
1+𝑒−(𝛼+ 𝛽 𝑇 𝑥 𝑖)
) 𝐶 𝑖∗ (1 −
1
1+𝑒−(𝛼+ 𝛽 𝑇 𝑥 𝑖)
)1−𝐶 𝑖
● 対数関数は単調増加なので、ΘMLEを最大化するためには、 − ln ΘMLE を最小化す
ればよい。
ロジスティック回帰 パラメタ推定
10
- 11. Leverages Marketing Department
● Θ(𝑘) を 𝑘 = 𝑘 𝑛 の周りで2次の項までテーラー展開する
○ Θ 𝑘 ~Θ 𝑘 𝑛 + ∇Θ 𝑘 𝑛 𝑘 − 𝑘 𝑛 +
1
2
𝑘 − 𝑘 𝑛
𝑇
∇2
Θ 𝑘 𝑛 𝑘 − 𝑘 𝑛
○ ∇2
Θ 𝑘 𝑛 はHesse行列
○ 𝐻 = ∇2Θ 𝑘 𝑛 , 𝑝 = (∇Θ 𝑘 𝑛 ) 𝑇 , 𝜉 = 𝑘 − 𝑘 𝑛とおくと右辺は次のように変形できる
○ Θ 𝑘 𝑛 + 𝑝 𝑇
𝜉 +
1
2
𝜉 𝑇
𝐻𝜉 = Θ 𝑘 𝑛 −
1
2
𝑝 𝑇
𝐻−1
𝑝 +
1
2
(𝑝 𝑇
𝐻−1
𝑝 + 2𝜉𝑝 𝑇
+ 𝜉 𝑇
𝐻𝜉)
= Θ 𝑘 𝑛 −
1
2
𝑝 𝑇
𝐻−1
𝑝 +
1
2
(𝜉 + 𝐻−1
𝑝) 𝑇
𝐻(𝜉 + 𝐻−1
𝑝)
○ 極小値をとるときHは正定値なので、第三項が最小になるとき左辺も最小。
○ 𝜉 = −𝐻−1
𝑝
○ 元に戻すと、
○ 𝑘 = 𝑘 𝑛 − (∇Θ 𝑘 𝑛 ) 𝑇
(∇2
Θ 𝑘 𝑛 )−1
○ ステップ幅を適当に定めて、Hは対称行列なので
○ 𝑘 = 𝑘 𝑛 − 𝛾(∇2
Θ 𝑘 𝑛 )−1
∇Θ 𝑘 𝑛
ロジスティック回帰 最適化 ニュートン法
11
- 12. Leverages Marketing Department
○ ニュートン法の手順としては
1. 初期値𝑘0を適当に決める。
2. ∇Θ 𝑘 𝑛 が0に近くなったら終了。
3. (∇2
Θ 𝑘 𝑛 )−1
∇Θ 𝑘 𝑛 を計算する。
4. ステップ幅を決めて、kを更新する。
5. 𝑛 = 𝑛 + 1として、2から繰り返す。
ロジスティック回帰 最適化 ニュートン法
12
- 13. Leverages Marketing Department
● ROC曲線とかやる前にちょっと整理する
● TP はサイトを訪れると予測されて実際にサイトを訪れたユーザ数、FNは訪れないと予
測されたが実際は訪れたユーザ数など。
評価 混同行列
13
予測されたクラス
訪れる(positive) 訪れない(negative)
実際のラベル
訪れる(positive) True positive(TP) False negative(FN)
訪れない(negative) False positive(FP) True negative(TN)
- 14. Leverages Marketing Department
● 閾値を変数として、閾値より大きいと
positive、小さいとnegativeと判断し
て曲線を描いていく
● ROC曲線は横軸にfpr、縦軸にtpr
○ 偽陽性率 fpr = FP / (FP + TN)
○ 真陽性率 tpr = TP / (TP + FN)
● ROC曲線の下の面積をAUC(Area
Under Curve)とよぶ。
○ モデルを良さや比較するのに用いられ
たりしている。
評価 混同行列
14
https://uxdaystokyo.com/articles/glossary/roccurve/
- 15. Leverages Marketing Department
○ リフト値=((xかつyを含む件数)/(xを含む件数)) / ((yを含む件数)/(全体の件数))
○ 正確度=(TP+TN) / (TP + FN + FP + TN)
○ 精度 = TP/(TP+FP)
○ 再現率=TP/(TP+FN)
○ F値=(2*精度*再現率)/(精度+再現率)
○ 平均二乗誤差、平均平方誤差、平均絶対誤差
○ など
評価 他の指標
15
- 16. Leverages Marketing Department
● C.M. ビショップ(2012), パターン認識と機械学習 上, (元田 浩, 栗田 多喜夫, 樋口 知
之, 松本 裕治, 村田 昇 訳)
● http://dsl4.eee.u-ryukyu.ac.jp/DOCS/nlp/node5.html
参考文献
16