itエンジニアのための機械学習理論入門 第5章
TRANSCRIPT
![Page 1: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/1.jpg)
第5章
ロジスティック回帰とROC曲線:
学習モデルの評価方法
AISECjp 2016.11.04
Presented by Isao Takaesu
![Page 2: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/2.jpg)
ロジスティック回帰?
(パーセプトロンと同じ)分類アルゴリズム
最尤推定法でパラメータを決定
LR & ROC
×:「このデータは t = 1 である」
〇:「t = 1 である確率は70%である」
AISECjp
![Page 3: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/3.jpg)
5.1
分類問題への最尤推定法の適用
LR & ROC AISECjp
![Page 4: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/4.jpg)
5.1.1 データの発生確率の設定
2種類のデータを分類する直線:f(x,y)
LR & ROC AISECjp
-30
-20
-10
0
10
20
30
40
-30 -20 -10 0 10 20 30 40
●●
● ●
●
●●
●
●
xx
xx
x
x
xx
xx
f(x,y) = 0 f(x,y) > 0
f(x,y) < 0
●:t = 1
x:t = 0
この方向にf(x,y)が
大きくなる
f 𝒙, 𝒚 = 𝒘𝟎 +𝒘𝟏𝒙 + 𝒘𝟐𝒚
![Page 5: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/5.jpg)
5.1.1 データの発生確率の設定
LR & ROC AISECjp
データの属性が「t=1」である確率
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-1 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
𝒂
𝜎 𝑎 =1
1 + 𝑒−𝑎
ロジスティック関数
![Page 6: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/6.jpg)
5.1.1 データの発生確率の設定
LR & ROC AISECjp
点(x,y)で得られたデータの属性が・・・
𝑷 𝒙, 𝒚 = 𝝈(𝒘𝟎 +𝒘𝟏𝒙 + 𝒘𝟐𝒚)
𝟏 − 𝑷 𝒙, 𝒚
の確率:𝑡 = 1
の確率:𝑡 = 0
![Page 7: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/7.jpg)
5.1.1 データの発生確率の設定
LR & ROC AISECjp
トレーニングセット で考える𝑥𝑛, 𝑦𝑛, 𝑡𝑛 𝑛=1𝑁
𝑷 𝒙𝒏, 𝒚𝒏の場合:
𝟏 − 𝑷 𝒙𝒏, 𝒚𝒏
𝑡𝑛 = 1
𝑡𝑛 = 0 の場合:
𝑷𝒏 = 𝑷 𝒙𝒏, 𝒚𝒏𝒕𝒏 𝟏 − 𝑷 𝒙𝒏, 𝒚𝒏
𝟏−𝒕𝒏
𝒙𝟎 = 𝟏, 𝒙𝟏 = 𝒙
![Page 8: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/8.jpg)
𝑃𝑛 = 𝑃 𝑥𝑛, 𝑦𝑛𝑡𝑛 1 − 𝑃 𝑥𝑛, 𝑦𝑛
1−𝑡𝑛
5.1.1 データの発生確率の設定
LR & ROC AISECjp
を使うと・・・
の場合:𝑡𝑛 = 1
𝑡𝑛 = 0 の場合:
𝑷𝒏 = 𝑷 𝒙𝒏, 𝒚𝒏𝟏 𝟏 − 𝑷 𝒙𝒏, 𝒚𝒏
𝟎 = 𝑷 𝒙𝒏, 𝒚𝒏
𝑷𝒏 = 𝑷 𝒙𝒏, 𝒚𝒏𝟎 𝟏 − 𝑷 𝒙𝒏, 𝒚𝒏
𝟏 = 𝟏 − 𝑷 𝒙𝒏, 𝒚𝒏
![Page 9: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/9.jpg)
𝑃𝑛 = 𝑃 𝑥𝑛, 𝑦𝑛𝑡𝑛 1 − 𝑃 𝑥𝑛, 𝑦𝑛
1−𝑡𝑛
5.1.1 データの発生確率の設定
LR & ROC AISECjp
𝑃 𝑥, 𝑦 = 𝜎(𝑤0 +𝑤1𝑥 + 𝑤2𝑦)
𝑷𝒏 = 𝒛𝒏𝒕𝒏 𝟏 − 𝒛𝒏
𝟏−𝒕𝒏
に、
を代入すると・・・
![Page 10: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/10.jpg)
5.1.1 データの発生確率の設定
LR & ROC AISECjp
𝒛𝒏って?
![Page 11: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/11.jpg)
5.1.1 データの発生確率の設定
LR & ROC AISECjp
𝒛𝒏とは 𝒛𝒏 = 𝝈 𝑾𝑻𝝋n
𝑾 =
𝒘𝟎𝒘𝟏𝒘𝟐
𝝋𝒏 =𝟏𝒙𝒏𝒚𝒏
トレーニングセットの全データを纏めると・・・
𝑷 =
𝒏=𝟏
𝑵
𝑷𝒏 =
𝒏=𝟏
𝑵
𝒛𝒏𝒕𝒏 𝟏 − 𝒛𝒏
𝟏−𝒕𝒏
𝝈(𝒘𝟎 +𝒘𝟏𝒙 + 𝒘𝟐𝒚)
![Page 12: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/12.jpg)
5.1.2 最尤推定法によるパラメータの決定
LR & ROC AISECjp
確率Pを最大化するパラメータ「W」を求める
パーセプトロン :確率的勾配降下法
ロジスティック回帰:ニュートン・ラフソン法
𝑾𝒏𝒆𝒘 = 𝑾𝒐𝒍𝒅 − Φ𝑻𝑹Φ
−𝟏ΦT 𝒛 − 𝒕
![Page 13: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/13.jpg)
5.1.2 最尤推定法によるパラメータの決定
LR & ROC AISECjp
の各成分
𝒕 =
𝒕𝟏⋮𝒕𝑵
Φ =𝟏 𝒙𝟏 𝒚𝟏⋮ ⋮ ⋮𝟏 𝒙𝑵 𝒚𝑵
𝒛 =
𝒛𝟏⋮𝒛𝑵
𝑾𝒏𝒆𝒘 = 𝑾𝒐𝒍𝒅 − Φ𝑻𝑹Φ
−𝟏ΦT 𝒛 − 𝒕
Rは、 を対角成分とした対角行列z𝒏 𝟏 − 𝒛𝒏
𝐑 = 𝒅𝒊𝒂𝒈 𝒛𝟏 𝟏 − 𝒛𝟏 , ⋯ , 𝒛𝑵 𝟏 − 𝒛𝑵
![Page 14: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/14.jpg)
5.1.2 最尤推定法によるパラメータの決定
LR & ROC AISECjp
𝒕 =
𝒕𝟏⋮𝒕𝑵
Φ =𝟏 𝒙𝟏 𝒚𝟏⋮ ⋮ ⋮𝟏 𝒙𝑵 𝒚𝑵
𝒛 =
𝒛𝟏⋮𝒛𝑵𝐑 = 𝒅𝒊𝒂𝒈 𝒛𝟏 𝟏 − 𝒛𝟏 , ⋯ , 𝒛𝑵 𝟏 − 𝒛𝑵
定数のベクトル/行列
パラメータ「W」に依存( )𝒛𝒏 = 𝝈 𝑾𝑻𝝋n
![Page 15: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/15.jpg)
5.1.2 最尤推定法によるパラメータの決定
LR & ROC AISECjp
を繰り返し計算し、確率Pを最大化
𝑾𝒏𝒆𝒘
𝑾𝒐𝒍𝒅
𝑾𝒏𝒆𝒘 = 𝑾𝒐𝒍𝒅 − Φ𝑻𝑹Φ
−𝟏ΦT 𝒛 − 𝒕
1. ⇒ 「z」と「R」を計算
2. 「z」と「R」を下記に代入
3. ⇒ ⇒「z」と「R」を計算
・・・
𝑾𝒐𝒍𝒅
𝑾𝒏𝒆𝒘
![Page 16: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/16.jpg)
5.1.2 最尤推定法によるパラメータの決定
LR & ROC AISECjp
計算の打ち切り条件
変化分の大きさの2乗 < 修正前の大きさの2乗
𝑾𝒏𝒆𝒘 −𝑾𝒐𝒍𝒅𝟐
𝑾𝒐𝒍𝒅𝟐< 𝟎. 𝟎𝟎𝟏
𝑾𝒏𝒆𝒘
𝑾𝒐𝒍𝒅
𝑾𝒏𝒆𝒘 −𝑾𝒐𝒍𝒅
![Page 17: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/17.jpg)
5.1.3 サンプルコードによる確認
LR & ROC AISECjp
パーセプトロン
vs
ロジスティック回帰
![Page 18: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/18.jpg)
5.1.3 サンプルコードによる確認
LR & ROC AISECjp
パーセプトロンの結果
少し偏った位置に分割線がある
![Page 19: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/19.jpg)
5.1.3 サンプルコードによる確認
LR & ROC AISECjp
ロジスティック回帰の結果
ほぼ中央部分に分割線がある
![Page 20: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/20.jpg)
5.1.3 サンプルコードによる確認
LR & ROC AISECjp
パーセプトロン
全データが分類されるとWの更新を停止
ロジスティック回帰
全体的な確率を最大化する
![Page 21: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/21.jpg)
5.2
ROC曲線による学習モデルの評価
LR & ROC AISECjp
![Page 22: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/22.jpg)
なぜROC曲線で評価?
は確率が1/2になる点
この確率(境界)は適切か?
LR & ROC AISECjp
f 𝑥, 𝑦 = 0
ROC曲線を使うことで
最適な境界を求めることが可能
![Page 23: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/23.jpg)
5.2.1 ロジスティック回帰の現実問題への適用
LR & ROC AISECjp
ウィルス感染検査の例
検査結果と感染/非感染の関係
-30
-20
-10
0
10
20
30
40
-30 -20 -10 0 10 20 30 40
●●
● ●
●
●●
●
●
xx
xx
x
x
xx
xx
●:感染
x:非感染
確率 80%
●
確率 50%
確率 20%
![Page 24: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/24.jpg)
5.2.1 ロジスティック回帰の現実問題への適用
LR & ROC AISECjp
真陽性率と偽陽性率を使う
![Page 25: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/25.jpg)
5.2.1 ロジスティック回帰の現実問題への適用
LR & ROC AISECjp
用語の定義
陽性 :発見したい属性を持つデータ(t=1)
陰性 :そうでないデータ(t=0)
真陽性:本当に陽性だったもの
偽陽性:本当は陰性だったもの
真陽性率:陽性データ全体での真陽性の割合
偽陽性率:陰性データ全体での偽陽性の割合
![Page 26: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/26.jpg)
5.2.1 ロジスティック回帰の現実問題への適用
LR & ROC AISECjp
真陽性率
(TP率)
偽陽性率
(FP率)
偽陰性
(FN)
真陽性
(TP)
真陰性
(TN)
偽陽性
(FP)
1
0 0
1
陰性と判定
陽性と判定
真陽性率と偽陽性率の定義
![Page 27: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/27.jpg)
5.2.1 ロジスティック回帰の現実問題への適用
LR & ROC AISECjp
真陽性率
(TP率)
偽陽性率
(FP率)
偽陰性
(FN)
真陽性
(TP)
真陰性
(TN)
偽陽性
(FP)
1
0 0
1
陰性と判定
陽性と判定
真陽性率と偽陽性率の定義
判定ライン
![Page 28: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/28.jpg)
5.2.1 ロジスティック回帰の現実問題への適用
LR & ROC AISECjp
「判定ライン」の設定 ⇒ ROC曲線を使う
![Page 29: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/29.jpg)
5.2.2 ROC曲線による性能評価
LR & ROC AISECjp
No. x y t P
1 24.43 6.95 1 0.98
2 8.84 11.92 1 0.91
3 18.69 -1.17 1 0.86
4 17.37 -0.07 1 0.86
5 4.77 11.66 1 0.85
6 0.83 10.74 0 0.73
7 1.57 8.51 1 0.69
8 10.07 -0.53 1 0.66
9 0.99 6.04 1 0.58
10 10.73 -4.88 0 0.53
11 11.16 -6.77 0 0.47
12 -11.21 14.64 0 0.46
トレーニングセットを確率順に並べたデータ
![Page 30: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/30.jpg)
5.2.2 ROC曲線による性能評価
LR & ROC AISECjp
トレーニングセットを確率順に並べたデータ
P>1:全データは「陰性」
真陽性率=0, 偽陽性率=0
P>0.95:No.1は「陽性」
真陽性率=1/10, 偽陽性率=0
P>0.90:No.1~2は「陽性」
真陽性率=2/10, 偽陽性率=0
![Page 31: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/31.jpg)
5.2.2 ROC曲線による性能評価
LR & ROC AISECjp
判定ラインの変更でTP率とFP率が変化する様子
真陽性率
(TP率)
偽陽性率
(FP率)
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
![Page 32: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/32.jpg)
5.2.3 サンプルコードによる確認
LR & ROC AISECjp
ERR 9.0%の場合
![Page 33: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/33.jpg)
5.2.3 サンプルコードによる確認
LR & ROC AISECjp
ERR 22.0%の場合
![Page 34: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/34.jpg)
5.2.3 サンプルコードによる確認
LR & ROC AISECjp
箱の左上の角 ⇒ 理想の判定方法(TP=1, FP=0)
・左上の角付近を通るROC曲線:有用性が高い
・右下の部分の面積が大きい:優秀なアルゴリズム
![Page 35: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/35.jpg)
5.2.3 サンプルコードによる確認
LR & ROC AISECjp
理想の判定法 すべてを「陽性」と判定
一定確率でランダムに
「陽性」と判定する
すべてを「陰性」
と判定する
![Page 36: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/36.jpg)
私的なまとめ
LR & ROC AISECjp
ログ分析(攻撃検知)に使えそう
例)60%以上 ⇒ 人間による精査
60%未満 ⇒ 異常なしと判断
ROC曲線は他アルゴリズムの性能検証にも使える
計算時間は多くなるか?
パーセプトロンも捨てたもんじゃない
![Page 37: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/37.jpg)
LR & ROC AISECjp
機械学習アルゴリズムは適材適所で!!
私的なまとめ
![Page 38: ITエンジニアのための機械学習理論入門 第5章](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5871524a1a28ab8e5b8b4745/html5/thumbnails/38.jpg)
• Download “.PDF” version of this document:
≫ http://ssmjp.connpass.com/event/40469/