Python機械学習プログラミング
読み会
第6章
モデルの評価とハイパーパラメータのチューニングの
ベストプラクティス
1
[第2版]
基盤 江口春紀
目次
● パイプラインによるワークフローの効率化
● k分割交差検証法を使ったモデルの性能の評価
● 学習曲線と検証曲線によるアルゴリズムの診断
● グリッドサーチによる機械学習モデルのチューニング
● さまざまな性能評価指標
● クラスの不均衡に対処する
2
3
パイプラインによる
ワークフローの効率化
パイプラインによるワークフローの効率化
● Pipelineクラス
● 標準化や次元圧縮、モデルのトレーニング等の一連のフローを結合して
処理することができる
4
StanderdScaler PCA LogisticRegression
pipeline.make_pipeline
● make_pipeline関数
パイプラインによるワークフローの効率化
5
6
k分割交差検証法を使った
モデルの性能の評価
k分割交差検証法を使ったモデルの性能の評価
● 汎化性能の評価
● 未知のデータに対するモデルの性能を評価することで、モデルが学習不足や
過学習に陥っていないかを推定できる
● モデルの汎化性能を評価する手法
● ホールドアウト法
● k分割交差検証法
7
ホールドアウト法
● データセット全体をトレーニングデータとテストデータに分割する
● トレーニングデータはモデルのトレーニングに使われ
テストデータはモデルの汎化性能を評価するために使用される
● デメリット
● ハイパーパラメータの最適な値を選択をする際、テストデータを
なんども使用するので,テストデータもトレーニングデータの一部となってしまう
8
ホールドアウト法
● 効果的な分割方法
● トレーニングデータ、検証データ、
テストデータの3つに分割する。
● 検証データがモデルの選択に使用
されて、ハイパーパラメータの
チューニング結果が良ければ
テストデータで汎化性能を評価する
9
k分割交差検証
● ホールドアウト法の問題点
● データセットをトレーニングデータとテストデータにどのように
分割するかによって性能の評価に影響が及ぶ
● k分割交差検証
● トレーニングデータを k個に分割して、
それぞれに対してホールドアウト法を k回繰り返す
10
k分割交差検証
● k-1個をモデルのトレーニングに使用して、1個を性能の評価に使用する
11
ランダムにk個に分割
性能の評価は
平均を使用
k分割交差検証
● 一個抜き(Leave One Out)
● 分割の個数をトレーニングサンプルの数と同じにする手法
● テストにはトレーニングサンプルのが 1つだけ使用される
● サンプルが少ないデータセット
を扱うときは、トレーニングに
使用するデータが増えるので
推奨される
12
k分割交差検証
● 層化k分割交差検証(stratified k-fold cross-validation)
● 各サブセットでのクラスの比率が維持されている
13
14
学習曲線と検証曲線による
アルゴリズムの診断
学習曲線を使ったアルゴリズムの診断
● 学習曲線からわかること
● モデルのバリアンスやバイアスが高いかどうか
● データをさらに集めることがこの問題の解決に役立つかどうか
15
訓練データと
検証データに
対する精度が
共に低い
訓練データに対する
精度がとても高く、
検証データに対する
精度は低い
学習曲線を使ったアルゴリズムの診断
● 実際に学習曲線をプロットする
● 悪性腫瘍細胞と良性腫瘍細胞の 596サンプルが含まれた
Breast Cancer Wisconsinデータセットを使用
● サンプルが250個を越えると、トレーニング
データと検証データの精度の差が小さいので
よく学習できていると言える
16
検証曲線を使って過学習と学習不足を明らかにする
● 検証曲線
● 過学習や学習不足の問題を特定して、モデルの性能を改善するのに役立つツール
● 学習曲線ではAccuracyとサンプルサイズ
についてプロットしたが、サンプル
サイズの代わりにモデルのパラメータ値
を変化させてプロットする
17
ロジスティック回帰
の逆正則化パラメータ C
を変化させる
18
グリッドサーチによる
機械学習モデルのチューニング
グリッドサーチによる機械学習モデルのチューニング
● 機械学習におけるパラメータ
● トレーニングデータから学習されるパラメータ
● モデルをチューニングするハイパーパラメータ
● グリッドサーチ
● ハイパーパラメータの最適化をする
● 指定されたハイパーパラメータの組み合わせごとにモデルを評価する
しらみつぶしの網羅的探索手法
19
グリッドサーチによる機械学習モデルのチューニング
● scikit-learnによるグリッドサーチの実装
20
SVMの逆正則化パラメータ、
kernel-SVMの逆正則化パラメータとガンマ
一方でグリッドサーチは
計算コストが高くつく
入れ子式の交差検証によるアルゴリズムの選択
● 入れ子式の交差検証
● 推定される汎化誤差と真の汎化誤差に
ほとんどバイアスがないとされている
● 外側のループでk分割交差検証で
データを分割し、内側の k分割交差検証
でモデルを選択する。その後テスト
サブセットを使ってモデルの性能を
評価する。
21
22
さまざまな性能評価指標
混同行列を解釈する
● 混同行列
● 学習アルゴリズムの性能を明らかにする行列
● 4つの予測個数を報告する正方行列
TP:真陽性
TN:真陰性
FP:偽陽性
FN:偽陰性
23
混同行列を解釈する
● 混同行列の例
● 悪性腫瘍細胞と良性腫瘍細胞の 596サンプルが
含まれたBreast Cancer Wisconsinデータセット
を使用
● クラス0が良性、クラス1が悪性
24
分類モデルの適合率と再現率を最適化する
● 誤分類率(ERR)と正解率(ACC)
25
分類モデルの適合率と再現率を最適化する
● 真陽性率(TPR)と偽陽性率(FPR)
● 不均衡なクラスの問題に役立つ
26
先ほどの例で言えば、悪性腫瘍を見つけるのも
大事だが、悪性として良性腫瘍を
誤分類しないことも重要である
分類モデルの適合率と再現率を最適化する
● 適合率(PRE)と再現率(REC)
● RECはTPRと同義である
27
分類モデルの適合率と再現率を最適化する
● F1スコア
● 適合率(PRE)と再現率(REC)の調和平均を取ったもの
28
ROC曲線をプロットする
● 受信者操作特性(Receiver Operating Characteristic)
● 性能に基づいて分類モデルを選択するためのツール
● 分類器のしきい値を変えることによって計算される偽陽性率 (FPR)と真陽性率(TPR)が
選択の基準となる
29
他クラス分類のための性能指標
● マイクロ平均
● 各クラスの真陽性、真陰性、偽陽性、偽陰性から計算される(適合率のマイクロ平均)
● マクロ平均
● それぞれの問題の性能指標の平均
30
31
クラスの不均衡に対処する
クラスの不均衡に対処する
● 1つまたは複数のサンプルがデータセットに過剰に出現する
32
スパムフィルタ
不正検出
疾患の
スクリーニング
クラスの不均衡に対処する
● Breast Cancer Wisconsinデータセットから不均衡なデータセットを作成する
33
良性腫瘍のサンプル 悪性腫瘍のサンプル
357 40
このようなデータセットで分類器を適合させる場合は
正解率以外の性能指標(適合率、再現率、ROC曲線)を調べるのが合理的
クラスの不均衡に対処する
● クラスの不均衡な割合に対処する
● 少数派クラスに関する誤った予測のペナルティを増やす
● 人工のトレーニングサンプルを
生成する(SMOTE)
● 少数派のアップサンプリングまたは
多数派のダウンサンプリング
34
元のデータセットから復元抽
出でアップサンプリング
まとめ
● Pipelineクラス
● 変換器と分類器の処理を連結
● k分割交差検証
● モデルの選択と評価
● 学習曲線と検証曲線
● 過学習や学習不足を見つけ出す
● さまざまな性能指標
● 混同行列を使って正解率以外の評価指標を算出する
35

More Related Content

PPTX
SMOTE resampling method slides 02-19-2018
PDF
怖くない誤差逆伝播法 Chainerを添えて
PDF
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
PDF
生成モデルの Deep Learning
PDF
ELBO型VAEのダメなところ
PPTX
強化学習エージェントの内発的動機付けによる探索とその応用(第4回 統計・機械学習若手シンポジウム 招待公演)
PDF
時系列問題に対するCNNの有用性検証
PDF
(文献紹介) 画像復元:Plug-and-Play ADMM
SMOTE resampling method slides 02-19-2018
怖くない誤差逆伝播法 Chainerを添えて
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
生成モデルの Deep Learning
ELBO型VAEのダメなところ
強化学習エージェントの内発的動機付けによる探索とその応用(第4回 統計・機械学習若手シンポジウム 招待公演)
時系列問題に対するCNNの有用性検証
(文献紹介) 画像復元:Plug-and-Play ADMM

What's hot (20)

PDF
[DL輪読会]Adversarial Learning for Zero-shot Domain Adaptation
PPTX
[DL輪読会]Flow-based Deep Generative Models
PDF
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
PDF
ドメイン適応の原理と応用
PPTX
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
PDF
[DL輪読会]Deep Learning 第15章 表現学習
PDF
信号処理・画像処理における凸最適化
PDF
三次元点群を取り扱うニューラルネットワークのサーベイ
PPTX
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
PDF
画像認識の初歩、SIFT,SURF特徴量
PPTX
強化学習における好奇心
PDF
変分推論法(変分ベイズ法)(PRML第10章)
PPTX
音響メディア信号処理における独立成分分析の発展と応用, History of independent component analysis for sou...
PPTX
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
PPTX
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
PPTX
【DL輪読会】AUTOGT: AUTOMATED GRAPH TRANSFORMER ARCHITECTURE SEARCH
PDF
A summary on “On choosing and bounding probability metrics”
PDF
強化学習と逆強化学習を組み合わせた模倣学習
PDF
Sparse estimation tutorial 2014
PDF
モンテカルロサンプリング
[DL輪読会]Adversarial Learning for Zero-shot Domain Adaptation
[DL輪読会]Flow-based Deep Generative Models
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
ドメイン適応の原理と応用
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
[DL輪読会]Deep Learning 第15章 表現学習
信号処理・画像処理における凸最適化
三次元点群を取り扱うニューラルネットワークのサーベイ
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
画像認識の初歩、SIFT,SURF特徴量
強化学習における好奇心
変分推論法(変分ベイズ法)(PRML第10章)
音響メディア信号処理における独立成分分析の発展と応用, History of independent component analysis for sou...
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
【DL輪読会】AUTOGT: AUTOMATED GRAPH TRANSFORMER ARCHITECTURE SEARCH
A summary on “On choosing and bounding probability metrics”
強化学習と逆強化学習を組み合わせた模倣学習
Sparse estimation tutorial 2014
モンテカルロサンプリング
Ad

Similar to [第2版]Python機械学習プログラミング 第6章 (6)

PDF
テスト 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第33回】
PDF
第11回rest勉強会 リファクタリング(クライアント編)
PPTX
Istqb : Test automation Engineer
PDF
アジャイル品質パターンによる伝統的な品質保証(Quality Assurance)からアジャイル品質(Agile Quality)への変革
PDF
Continuous delivery-9
PDF
テスト 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第33回】
第11回rest勉強会 リファクタリング(クライアント編)
Istqb : Test automation Engineer
アジャイル品質パターンによる伝統的な品質保証(Quality Assurance)からアジャイル品質(Agile Quality)への変革
Continuous delivery-9
Ad

More from Haruki Eguchi (17)

PDF
[第2版]Python機械学習プログラミング 第16章
PDF
[第2版]Python機械学習プログラミング 第15章
PDF
[第2版]Python機械学習プログラミング 第14章
PDF
[第2版]Python機械学習プログラミング 第13章
PDF
[第2版]Python機械学習プログラミング 第12章
PPTX
[第2版]Python機械学習プログラミング 第11章
PPTX
[第2版]Python機械学習プログラミング 第12章
PPTX
[第2版]Python機械学習プログラミング 第10章
PPTX
[第2版]Python機械学習プログラミング 第9章
PDF
[第2版]Python機械学習プログラミング 第8章
PDF
[第2版]Python機械学習プログラミング 第7章
PDF
[第2版] Python機械学習プログラミング 第5章
PDF
[第2版] Python機械学習プログラミング 第4章
PDF
[第2版] Python機械学習プログラミング 第3章(5節~)
PDF
[第2版] Python機械学習プログラミング 第3章(~4節)
PDF
[第2版] Python機械学習プログラミング 第2章
PDF
[第2版] Python機械学習プログラミング 第1章
[第2版]Python機械学習プログラミング 第16章
[第2版]Python機械学習プログラミング 第15章
[第2版]Python機械学習プログラミング 第14章
[第2版]Python機械学習プログラミング 第13章
[第2版]Python機械学習プログラミング 第12章
[第2版]Python機械学習プログラミング 第11章
[第2版]Python機械学習プログラミング 第12章
[第2版]Python機械学習プログラミング 第10章
[第2版]Python機械学習プログラミング 第9章
[第2版]Python機械学習プログラミング 第8章
[第2版]Python機械学習プログラミング 第7章
[第2版] Python機械学習プログラミング 第5章
[第2版] Python機械学習プログラミング 第4章
[第2版] Python機械学習プログラミング 第3章(5節~)
[第2版] Python機械学習プログラミング 第3章(~4節)
[第2版] Python機械学習プログラミング 第2章
[第2版] Python機械学習プログラミング 第1章

[第2版]Python機械学習プログラミング 第6章