coursera machine learning week6

40
Coursera Machine Learning Week6 Advice for Applying Machine Learning Machine Learning System Design

Upload: kikuya-takumi

Post on 11-Apr-2017

105 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Coursera machine learning week6

Coursera Machine Learning Week6・ Advice for Applying Machine Learning・Machine Learning System Design

Page 2: Coursera machine learning week6

アジェンダ Week5 を終えて

Advice for Applying Machine Learning学習アルゴリズムの評価学習した仮説の評価モデル選択問題バイアスとバリアンス

Machine Learning System DesignSkewed Data大量のデータセット

Week6 のまとめ

Page 3: Coursera machine learning week6

アジェンダ Week5 を終えて

Advice for Applying Machine Learning学習アルゴリズムの評価学習した仮説の評価モデル選択問題バイアスとバリアンス

Machine Learning System DesignSkewed Data大量のデータセット

Week6 のまとめ

Page 4: Coursera machine learning week6

Week5 までの内容

機械学習のエキスパートといえるだけの学習アルゴリズムを学習最急降下法線形回帰ロジスティクス回帰ニューラルネットワーク

Page 5: Coursera machine learning week6

Week5 までの内容

機械学習のエキスパートといえるだけの学習アルゴリズムを学習最急降下法線形回帰ロジスティクス回帰ニューラルネットワーク

学習アルゴリズムを効果的に活用できているか?

Page 6: Coursera machine learning week6

アジェンダ Week5 を終えて

Advice for Applying Machine Learning学習アルゴリズムの評価学習した仮説の評価モデル選択問題バイアスとバリアンス

Machine Learning System DesignSkewed Data大量のデータセット

Week6 のまとめ

Page 7: Coursera machine learning week6

学習アルゴリズムの評価

学習アルゴリズムを効果的にするために・大量のトレーニングデータを集める・フィーチャーの数を減らす・フィーチャーの数を増やす・フィーチャーに多項式を追加する・正規化項 λ の値を大きくする・正規化項 λ の値を小さくする

取るべき選択肢はどれか?

Page 8: Coursera machine learning week6

学習アルゴリズムの評価

学習アルゴリズムを効果的にするために・大量のトレーニングデータを集める・フィーチャーの数を減らす・フィーチャーの数を増やす・フィーチャーに多項式を追加する・正規化項 λ の値を大きくする・正規化項 λ の値を小さくする

取るべき選択肢はどれか?学習した仮説を評価して選択肢を決定

Page 9: Coursera machine learning week6

学習した仮説の評価

良い仮説とは?トレーニング誤差が小さいではないOverfitting の可能性

Overfitting かどうか判断する必要がある

データを分割してコスト関数を比較

Page 10: Coursera machine learning week6

学習した仮説の評価

データを分割

コスト関数の比較

トレーニングセット:テストセット= 7 : 3 にランダムに分割

トレーニングセット、テストセットのコスト関数を比較

Page 11: Coursera machine learning week6

学習した仮説の評価

線形回帰のコスト関数

: トレーニングセットのコスト関数 : テストセットのコスト関数

Page 12: Coursera machine learning week6

学習した仮説の評価

各データセットの役割

トレーニングセット→ 仮説の学習

テストセット→ 良い仮説かチェック

Page 13: Coursera machine learning week6

学習した仮説の評価

どう評価するか?トレーニングセットのコスト関数が小さく、テストセットのコスト関数が大きい= Overfitting

Page 14: Coursera machine learning week6

モデル選択問題

そのモデル正しいですか?

良い仮説とは

どんなモデルが良いのか?

分割したデータが良くフィットしている→ 良い仮説とは限らない

新しいサンプルに対して、予測がうまくできる

クロスバリデーションでどんな多項式モデルが望ましいかチェック

Page 15: Coursera machine learning week6

モデル選択問題

クロスバリデーションデータを用意するデータセットをトレーニングセット、クロスバリデーションセット、テストセットに分割

トレーニングセット:クロスバリデーションセット:テストセット6 : 2 : 2 にランダムに分割

データを分割したらコスト関数を比較

Page 16: Coursera machine learning week6

モデル選択問題

線形回帰のコスト関数

: トレーニングセットのコスト関数 : テストセットのコスト関数 : クロスバリデーションセットのコスト関数

Page 17: Coursera machine learning week6

モデル選択問題

線形回帰のコスト関数

※ d: degree of polynomial

Page 18: Coursera machine learning week6

モデル選択問題

各データセットの役割トレーニングセット→ 仮説の学習

クロスバリデーションセット→ 良いモデルかチェック

テストセット→ 良い仮説かチェック

Page 19: Coursera machine learning week6

モデル選択問題

どう評価するか?トレーニングセットのコスト関数が大きく、クロスバリデーションセットのコスト関数も大きい=高バイアストレーニングセットのコスト関数が小さく、クロスバリデーションセットのコスト関数は大きい=高バリアンス

Page 20: Coursera machine learning week6

𝑱 𝒄𝒗

モデル選択問題

𝑱 𝒕𝒓𝒂𝒊𝒏

コス

ト関

degree of polynomial : d

Page 21: Coursera machine learning week6

モデル選択問題高バイアス 高バリアンス

𝑱 𝒄𝒗

𝑱 𝒕𝒓𝒂𝒊𝒏

コス

ト関

degree of polynomial : d

Page 22: Coursera machine learning week6

高バイアス・高バリアンス

高バイアス→ Underfitting

高バリアンス→ Overfitting

との平均値が大きい多項式の次数が低い、正規化項 λ の値が大きい

との値の差が大きい多項式の次数が高い、正規化項 λ の値が小さい

高バイアスか高バリアンスか判断できれば、改善が容易になる

Page 23: Coursera machine learning week6

高バイアス・高バリアンス

正規化項 λ の扱い

正規化項 λ を用いた計算

正規化項 λ の値を予め決めておく0, 0.1, 0.2, 0.4,…,10.24 等

, , を同様に求めるが最小になるモデルを選択する

Page 24: Coursera machine learning week6

𝑱 𝒄𝒗

モデル選択問題

𝑱 𝒕𝒓𝒂𝒊𝒏

コス

ト関

正規化項 : λ

Page 25: Coursera machine learning week6

𝑱 𝒄𝒗

モデル選択問題

𝑱 𝒕𝒓𝒂𝒊𝒏

コス

ト関

正規化項 : λ

が最小

選択する λ

Page 26: Coursera machine learning week6

高バイアス・高バリアンス

学習曲線

高バイアスのとき

高バリアンスのとき

使用するトレーニングセットを制御して、アルゴリズムのパフォーマンスを評価

トレーニングセットが一定数でとの差がなくなる

との差がなくなるには多くのトレーニングセットが必要

Page 27: Coursera machine learning week6

𝑱 𝒄𝒗

モデル選択問題

𝑱 𝒕𝒓𝒂𝒊𝒏

コス

ト関

トレーニングセット数 : m

高バイアス

Page 28: Coursera machine learning week6

𝑱 𝒄𝒗

モデル選択問題

𝑱 𝒕𝒓𝒂𝒊𝒏

コス

ト関

トレーニングセット数 : m

高バリアンス

Page 29: Coursera machine learning week6

ここまでのまとめ

学習アルゴリズムを評価する

評価方法

その仮説正しいですか?そのモデル正しいですか?高バイアスですか?高バリアンスですか?

トレーニングセット、テストセット、クロスバリデーションセットを活用適切な正規化項 λ を見つける

Page 30: Coursera machine learning week6

アジェンダ Week5 を終えて

Advice for Applying Machine Learning学習アルゴリズムの評価学習した仮説の評価モデル選択問題バイアスとバリアンス

Machine Learning System DesignSkewed Data大量のデータセット

Week6 のまとめ

Page 31: Coursera machine learning week6

Machine Learning System Design エラー分析

機械学習を実装する時は、汚くても早く実装トレーニングセット、テストセット、クロスバリデーションセットを活用して、次に何をすべきか判断する

Page 32: Coursera machine learning week6

Skewed Data Skewed Data( 歪んだデータ )

予測に対して実際に観測されたデータが正しくないデータが含まれている可能性もある。

歪んだデータは正確性を測る評価が必要

Page 33: Coursera machine learning week6

Skewed Data 分類問題において

予測 /観測 1(Positive) 0(Negative)

1(Positive) True Positive False Positive

0(Negative) False Negative True Negative

予測が Positive で、観測 Positive である割合→ Precision( 精度 )観測が Positive で、予測も Positive の割合→Recall( 再現性 )

Page 34: Coursera machine learning week6

Skewed Data Precision と Recall

Precision = Recall =

予測が厳密→高い Precision予測を緩和→高い RecallPrecision と Recall はトレードオフ

Page 35: Coursera machine learning week6

Skewed Data Precision と Recall の境界は?

F スコアの計算

Precision と Recall は両方高い値が望ましい→F(F1) スコアを利用する

F =

Page 36: Coursera machine learning week6

大量のデータセット

大量のデータセットを用意できるならどのアルゴリズムを選んでも、

データセットの量が多ければ他のアルゴリズムよりも

精度が良いより良いアルゴリズム<<より多くのデータ

Page 37: Coursera machine learning week6

大量のデータセット

どのくらいのデータを集めるべきか?

どんなときにデータを集めるべきか

人間のエキスパートがフィーチャー X を見て、観測値 y を予想できるだけの十分なデータ

高バリアンスになっているとき

Page 38: Coursera machine learning week6

アジェンダ Week5 を終えて

Advice for Applying Machine Learning学習アルゴリズムの評価学習した仮説の評価モデル選択問題バイアスとバリアンス

Machine Learning System DesignSkewed Data大量のデータセット

Week6 のまとめ

Page 39: Coursera machine learning week6

まとめ

機械学習は早く実装

実装したらすぐ評価

仮説は正しいか?モデルは正しいか?

高バイアスか?高バリアンスか? 高パフォーマンスか?判断

Page 40: Coursera machine learning week6

まとめ

高バイアスと高バリアンス対策

  データセット フィーチャー 正規化項 λ

高バイアスUnderfitting そのまま

増やす(多項式) 小さくする

高バリアンスOverfitting 増やす 減らす 大きくする