SlideShare a Scribd company logo
機械学習勉強会(2)
機械学習のワークフロー
May 28, 2019
Tomoya Nakayama
今日おぼえてほしいこと
• 機械学習のワークフロー
• (データ分析の手法)
• データ前処理の手法
• モデルの評価と調整方法
2
機械学習プロジェクトのワークフロー
3
データ
収集
データ
分析
データ
前処理
モデル
作成
モデル
評価
組込み
監視
参考: https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/how-it-works-mlconcepts.html
1. データ分析
4
変数の種類
分類 尺度 説明 例
質的変数 名義尺度 カテゴリーの違いだけを表すもの 性別、職業
順序尺度 順序に意味はあるが、カテゴリー間
の差は同じではないもの
成績(優、良、可、不可)
量的変数 間隔尺度 順序も間隔も意味があるが、原点の
位置はどこでもよいもの
温度
比例尺度 間隔尺度であり、原点が定まってい
るもの
長さ、重さ
5
参考:永田靖ほか「多変量解析法入門」サイエンス社, 2001年
分布をみる
• ヒストグラム等を使って値の
分布を調べる
6
相関をみる
• 特徴量とラベル、あるいは特徴量どうしの関係性を調べる
• 相関係数(関係性を-1〜1の数値で算出)
• 0から離れるほど関係性が高い
• クロス集計
7
2. データの前処理
8
生データは扱いづらい
• 質的変数(連続的な数値では
ない)
• 欠損値
• 外れ値
• 値の範囲がバラバラ
駅からの
距離
(分)
築年数
(年)
面積(m2) 管理状態
4 10 60 良い
7 5 75 悪い
? 7 68 良い
5 12 500 普通
2 6 45 悪い
10 3 92 普通
9
欠損値
外れ値 質的変数
ダミー化
• 質的変数を、1または0のダミー変数に変換
駅からの距離
(分)
築年数
(年)
面積
(m2)
管理状態が
良いか?
管理状態が
普通か?
管理状態が
悪いか?
4 10 60 1 0 0
7 5 75 0 0 1
? 7 68 1 0 0
5 12 500 0 1 0
2 6 45 0 0 1
10 3 92 0 1 0
10
欠損値(missing value)の扱い
• レコードごと除去(訓練・テストに使わない)
• 特定の値で補完(0、平均値、etc)
11
駅からの距離
(分)
築年数
(年)
面積
(m2)
管理状態が
良いか?
管理状態が
普通か?
管理状態が
悪いか?
4 10 60 1 0 0
7 5 75 0 0 1
? 7 68 1 0 0
5 12 500 0 1 0
2 6 45 0 0 1
10 3 92 0 1 0
外れ値(outlier)の扱い
• 基準
• 四分位数(の何倍か)、分散(の何倍か)
• 扱い
• レコードごと除去、平均値・中央値などで置き換え、など
12
駅からの距離
(分)
築年数
(年)
面積
(m2)
管理状態が
良いか?
管理状態が
普通か?
管理状態が
悪いか?
4 10 60 1 0 0
7 5 75 0 0 1
5 12 500 0 1 0
2 6 45 0 0 1
10 3 92 0 1 0
正規化・標準化
• 正規化(normalization):値を-1〜1または0〜1の範囲に揃える
• 標準化(standardization):値を標準正規分布(平均0、分散1の正
規分布)に従うように変換する
13
駅からの距離
(分)
築年数
(年)
面積
(m2)
管理状態が
良いか?
管理状態が
普通か?
管理状態が
悪いか?
0.250 1.000 0.319 1 0 0
0.625 0.286 0.638 0 0 1
0.000 0.429 0.000 0 0 1
1.000 0.000 1.000 0 1 0
特徴量の追加・削除・変換
• 2つ以上の特徴量を組み合わせて新しい特徴量を作成
• ラベルと関係ない特徴量を削除
• 名前、住所など
• ラベルとの相関がない(=相関係数が0に近い)特徴量を削除
• 量的変数を質的変数に変換
• 年齢→「10代、20代、30代、…」
14
3. モデルの評価
15
データの分割
• 手持ちのデータを分けておく
• 訓練データ (training data):モデルの学習に使う
• 検証用データ (validation data):ハイパーパラメータの選択に使う
• テストデータ (test data):性能評価に使う
• なぜ分けるのか?
• 未知のデータに対するモデルの性能を見るため
16
交差検証 (cross validation)
• 訓練データを複数のグループに分け、
1個を検証データ、残りを訓練データとして学習させる
• これを全通り繰り返し、学習モデルの汎用性を確かめる
• 特定のパターンだけ性能が良いのはNG
17
訓練データ 訓練データ 検証データ
訓練データ 検証データ 訓練データ
検証データ 訓練データ 訓練データ
(1)
(2)
(3)
ハイパーパラメータ
• 学習モデルを作る上で人間が決める値
• 学習率
• 学習回数
• MLPの層数・ノード数
• etc.
18
ハイパーパラメータの調整
• ハイパーパラメータをいくつか試し、最も性能の高いものを
採用する
• 学習率={0.01, 0.03, 0.1, 0.3}
• 階層数={1層、2層、3層}
• グリッドサーチ
• ハイパーパラメータの組み合わせを全通り試す
19
モデルの評価
• 訓練データと検証用データの損失を比べる
検証データ:損失低 検証データ:損失高
訓練データ:損失低 良いモデル オーバーフィッティング(過学習)
(overfitting / high variance)
訓練データ:損失高 ??? アンダーフィッティング
(underfitting / high bias)
20
良いモデル
• 期待した性能が出ている
• 学習が進むにつれて、訓練
データ・検証データともに損
失が下がっている(精度が上
がっている)
損失
学習回数
訓練データ 検証データ
21
オーバーフィッティング
• 訓練データに対する性能は高
いが、検証データ(テスト
データ)に対する性能が徐々
に下がる
• つまり訓練データに最適化さ
れすぎている
22損失
学習回数
訓練データ 検証データ
オーバーフィッティングの対策
• データを増やす
• モデルを単純にする
• 正則化(regularization)
• 損失に一定のペナルティを加える
• ドロップアウト(dropout)
• 隠れ層の一定割合のノードを無効にする
• 早期終了(early stopping)
• 学習を途中でやめる
23
アンダーフィッティング
• 訓練データ、検証データとも
に性能が低い(損失が高止ま
り)
24損失
学習回数
訓練データ 検証データ
アンダーフィッティングの対策
• 学習回数を増やす
• モデルを複雑にする
• 特徴量を変える、特徴量を増やす
25
性能評価基準
• 損失 (loss)
• 正答率 (accuracy)
• 𝑎𝑐𝑐𝑢𝑟𝑎𝑐𝑦 =
𝑇𝑃+𝑇𝑁
𝑇𝑃+𝐹𝑃+𝐹𝑁+𝑇𝑁
• 適合率(precision) / 再現率
(recall) / F値
• 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 =
𝑇𝑃
𝑇𝑃+𝐹𝑃
• 𝑟𝑒𝑐𝑎𝑙𝑙 =
𝑇𝑃
𝑇𝑃+𝐹𝑁
• 𝐹 =
2×𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛×𝑟𝑒𝑐𝑎𝑙𝑙
𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+𝑟𝑒𝑐𝑎𝑙𝑙
予測値/事実 正(positive) 負(negative)
正(positive) True positive
(TP)
False positive
(FP)
負(negative) False negative
(FN)
True negative
(TN)
26
混同行列 (confusion matrix)
True / False = 正解・不正解
Positive / Negative = 予測値
4. ハンズオン
27
ハンズオン
1. 2値分類編
• Google Colab版
• Binder版
• Googleアカウントを使用でき
る場合はGoogle Colab版を選択
してください
• Googleアカウントを使用でき
ない場合はBinder版を選択し
てください
• Binder版は起動に10分程度かか
ることがあります
• Binder版はGPUを使えないため
動作が遅いです
28

More Related Content

PDF
Jubatusにおける大規模分散オンライン機械学習
PDF
Casual datascience vol3
PDF
Casual datascience vol4
PDF
機械学習の全般について
PPTX
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで
PPTX
TECHTALK 20230214 ビジネスユーザー向け機械学習入門 第2回~機械学習のための学習データの前処理
PDF
【de:code 2020】 さくっとプチ成功する機械学習プロジェクトのコツ
PDF
機械学習の理論と実践
Jubatusにおける大規模分散オンライン機械学習
Casual datascience vol3
Casual datascience vol4
機械学習の全般について
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで
TECHTALK 20230214 ビジネスユーザー向け機械学習入門 第2回~機械学習のための学習データの前処理
【de:code 2020】 さくっとプチ成功する機械学習プロジェクトのコツ
機械学習の理論と実践

Similar to Machine Learning Seminar (2) (20)

PDF
第1回 Jubatusハンズオン
PDF
第1回 Jubatusハンズオン
PPTX
MLaPP輪講 Chapter 1
PPTX
Nttr study 20130206_share
PDF
bigdata2012ml okanohara
PPTX
第7回 KAIM 金沢人工知能勉強会 回帰分析と使う上での注意事項
PDF
Azure Machine Learning getting started
PPTX
数理最適化と機械学習の 融合アプローチ -分類と新しい枠組み-
PDF
機械学習 入門
PPTX
TECHTALK 20230131 ビジネスユーザー向け機械学習入門 第1回~機械学習の概要と、ビジネス課題と機械学習問題の定義
PDF
機械学習
PDF
Jubatusの特徴変換と線形分類器の仕組み
PDF
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V k-1
PDF
あなたの業務に機械学習を活用する5つのポイント
PPTX
1028 TECH & BRIDGE MEETING
PDF
EMNLP 2011 reading
PPTX
エンジニアのための機械学習の基礎
PPTX
頻度論とベイズ論と誤差最小化について
PPTX
機械学習 / Deep Learning 大全 (1) 機械学習基礎編
PDF
Introduction to ensemble methods for beginners
第1回 Jubatusハンズオン
第1回 Jubatusハンズオン
MLaPP輪講 Chapter 1
Nttr study 20130206_share
bigdata2012ml okanohara
第7回 KAIM 金沢人工知能勉強会 回帰分析と使う上での注意事項
Azure Machine Learning getting started
数理最適化と機械学習の 融合アプローチ -分類と新しい枠組み-
機械学習 入門
TECHTALK 20230131 ビジネスユーザー向け機械学習入門 第1回~機械学習の概要と、ビジネス課題と機械学習問題の定義
機械学習
Jubatusの特徴変換と線形分類器の仕組み
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V k-1
あなたの業務に機械学習を活用する5つのポイント
1028 TECH & BRIDGE MEETING
EMNLP 2011 reading
エンジニアのための機械学習の基礎
頻度論とベイズ論と誤差最小化について
機械学習 / Deep Learning 大全 (1) 機械学習基礎編
Introduction to ensemble methods for beginners
Ad

Machine Learning Seminar (2)

Editor's Notes

  • #4: 1回フローを流せば終わりなのではなく、これをフィードバックループとして繰り返し行うことで徐々に性能を上げていく
  • #27: 適合率は「正(positive)と予測したもののうち、事実が正だったものの割合」、再現率は「事実が正のもののうち、予測値が正だったものの割合」