Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
いまさら聞けない
機械学習のキホン
∼ 初歩から事例、はじめ方 ∼
2016年1月
AITCオープンラボ
第1回 機械学習勉強会
@dsuket
About me
高岡 大介
スタートアップCTO、技術顧問、技術相談など
• オープンウェブ・テクノロジー株式会社
• ピースミール・テクノロジー株式会社
• エディプレックス株式会社
AITC運営委員/オープンラボ リーダー
その他色々 d...
TechFeed
https://techfeed.io
ITテクノロジー専門のキュレーションサービス
What’s TechFeed ?
興味のあるトピックを選択すると、毎日そのトピック
に関連するニュースをハイライトでお届けします。
もちろん、

機械学習トピックもあります!
techfeed.io
Register now!!
諸注意
• このセッションは初心者による初心者のための

セッションです。
• 安心して下さい。数式は出てきませんよ。
• ガチな人は生暖かくコメント頂けると幸いです
• なるべく多くの文献をあたるようにしていますが、
専門では無いため、誤って...
Agenda
機械学習のキホン
• 機械学習の定義
• 事例・人工知能との関係
機械学習のはじめ方
• 基本的なフロー
• データ/アルゴリズム/評価
機械学習のキホン
機械学習の定義など
–Wikipedia
機械学習(machine learning)とは、人工知
能における研究課題の一つで、人間が自然に行っ
ている学習能力と同様の機能をコンピュータで
実現しようとする技術・手法のことである。 [1]
機械学習とは?
プログラム
機械学習の定義
コンピュータプログラムが経験によって自動的に改善していくには
どうしたらいいかという問題
コンピュータプログラムが、タスクTとパフォーマンス測定Pにおい
て経験Eから学習するとは、タスクTにおけるその性能をPによって...
つまり、機械学習とは
パフォーマンス測定Pに対する

判断(タスクT)を一般化するため

データ(経験E)からモデルを訓練すること [3]
モデル
判断
データ
学習
↑改善
パフォーマンス測定Pによる評価
何が嬉しいの?
過去のデータ(経験E)から、パフォーマンス性能P
を高めたタスクTを実行することにより、未知のデー
タの結果を予測する。
過去のデータから

未来が予測できる!!
身近な事例
日常でいろいろな場面で使われている [4]
• SPAMメール判定
• クレジットカードの不正検知
• ローン審査
• デジカメの顔検出
• 商品レコメンデーション
• 株式取引
• 広告配信
• 人材マッチング
• etc…
今ブームなの?
第3次AI(人工知能)ブーム真っ最中
それに伴って機械学習の分野も注目を浴びている
Machine

Learning

(英語)
機械学習

(日本語)
2012年頃から増加Google trends
2015年に急増
なぜ今またブームなのか
• ビッグデータ + クラウド化
• データが大量増えた
• コンピューターの能力が大幅に向上し、安価に
• エコシステムの成長
• 環境が整う、ライブラリが充実する、事例が増える、資料が
増える、の好循環でエコシステム...
人工知能との関係
• 機械学習はもともとは人工知能の一分野として始まる[5]
• ニューラル・ネットワーク(NN)
• 論理推論(エキスパートシステム)
• 現在では、「統計的」機械学習が主流
• Deep Learningの登場でまたNNに
...
機械学習のキホン: まとめ
• 機械学習とは、過去のデータからモデルを訓練し、
未来を予測する。
• 日常でも使われ、応用が広がっている。
• 機械学習は総合格闘技 [9]
機械学習のはじめ方
基本的なフロー
アルゴリズム/手法の種類と評価
基本的なフロー
1. データの準備
• 特徴選択/正規化/欠損値/次元削除
2. アルゴリズムの選択
• 種類については後述
3. モデルの構築
• 訓練データ/検証データの用意
• ハイパーパラメータの最適化
4. 評価
• 正答率/適合率(...
データの準備
• 特徴(属性/素性)選択
• 何を対象とするかを決める
• 醜いアヒルの子の定理 / 次元の呪い
• 数値データに変換
• カテゴリを数値に
• 欠損値の削除、置換、補完
• 正規化(値を える)
• 次元削除
[10]
機械学習アルゴリズム
教師あり学習
事前に与えられたデータを「例題(=先生からの助言)」と
みなして、それをガイドに学習を行う。
予測を行うときに使う。機械学習というと大体これ。
教師なし学習
「出力すべきもの」があらかじめ決まっていない。
デ...
教師あり学習
分類
黒か白か?どのカテゴリか?など、どれかに分類する [11]
出力がラベル(予測対象が離散[12])
回帰
明日の気温、予想株価、など数値を予測する
出力が数値(予測対象が連続)
教師あり学習: 分類
線形分類機
• フィッシャーの線形判別分析
• ロジスティック回帰
• ナイーブベイズ
• 単純パーセプトロン
• 線形サポートベクターマシン
教師あり学習: 分類
非線形
• k近傍点
• 決定木
• ニューラルネットワーク
• ベイジアンネットワーク
• サポートベクターマシン
※識別関数、生成モデル、識別モデルという
分類もあるが割愛。参考資料[7][13][14]を参照
教師あり学習: 回帰
線形回帰
• 最小二乗法
• ベイズ線形回帰
非線形
• k近傍点
• ランダムフォレスト
• ニューラルネットワーク
• サポートベクター回帰
教師なし学習
• クラスタリング
• k-means
• 階層的クラスタリング
• 頻出パターンマイニング
• アソシエーション分析(相関ルール)
閑話
分類(Classification)とクラスタリングの違い [15]
• 分類(Classification)
• 有用な分類法を再現すること
• クラスタリング(Clustering)
• 既知の分類法では見えて来ないことを発見しよう
とす...
アルゴリズム選択時の注意
データ特性などに適したアルゴリズムを選択すること
データの分布を前提に置いているものもある。
[10]
ノーフリーランチ定理
コスト関数の極値を探索するあらゆるアルゴリズムは、全ての
可能なコスト関数に適用した結果を平...
モデルの構築
ここまでくれば、モデル構築はライブラリ使えば簡単
が、検証データを準備しておく必要がある[10][16]
• ホールドアウト法(8:2とかで分ける)
• クロスバリデーション(交差検証)
過学習(Over fitting)を避ける
過学習
over fittingunder fitting
[17]
訓練データに過剰に適合してしまい、汎化性能が低く
ならないようにする。
ハイパーパラメータの最適化
ハイパーパラメータ
• 事前確率を決めるパラメータやモデル全体に影響を与えるパラ
メータ[18] 確率モデルの分布に影響
• 学習したモデルのパラメータと区別するため使われる
ハイパーパラメータの最適化
• 結果に大...
評価
分類
• 精度(正解率/データ数)
• 適合率/再現率/F値
• 真陽性率と偽陽性率は

トレードオフ
回帰
• 平均二乗誤差
予測値
陽性 陰性
正解
陽性 真陽性 偽陰性
陰性 偽陽性 真陰性
[10][16]
機械学習のはじめ方: まとめ
• まずは教師あり学習の分類からはじめてみよう
• 特徴選択が重要
• 検証データを忘れずに
• 評価もちゃんとやりましょう
理論を完全に理解することは難しいですが、

勉強しやすい環境が整ってきました。
ライブラリを使うだけなら簡単です。
機械学習で遊んでみましょう!
全体のまとめ
参考書籍1
入門向けの概要 Pythonサンプルコード付
参考書籍2
Rによる入門 Pythonによる実装
参考書籍3
輪読やってます
いわゆるビショップ本

またはPRML
参考資料
[1] 機械学習 - Wikipedia
[2] 機械学習とは何か? ‒ 機械学習の定義と使える言い回し
[3] R & Machine Leaning
[4] 日常にある機械学習の応用例
[5] 機械学習小史
[6] 機械学習とは?...
Images
• http://www.thebluediamondgallery.com/tablet/a/artificial-
intelligence.html
• https://www.flickr.com/photos/manofta...
Upcoming SlideShare
Loading in …5
×

いまさら聞けない機械学習のキホン

14,736 views

Published on

AITCオープンラボ: 第1回 機械学習勉強会の資料です
http://aitc-openlab.connpass.com/event/25672/

Published in: Technology

いまさら聞けない機械学習のキホン

  1. 1. いまさら聞けない 機械学習のキホン ∼ 初歩から事例、はじめ方 ∼ 2016年1月 AITCオープンラボ 第1回 機械学習勉強会 @dsuket
  2. 2. About me 高岡 大介 スタートアップCTO、技術顧問、技術相談など • オープンウェブ・テクノロジー株式会社 • ピースミール・テクノロジー株式会社 • エディプレックス株式会社 AITC運営委員/オープンラボ リーダー その他色々 dsuket
  3. 3. TechFeed https://techfeed.io ITテクノロジー専門のキュレーションサービス
  4. 4. What’s TechFeed ? 興味のあるトピックを選択すると、毎日そのトピック に関連するニュースをハイライトでお届けします。
  5. 5. もちろん、 機械学習トピックもあります!
  6. 6. techfeed.io Register now!!
  7. 7. 諸注意 • このセッションは初心者による初心者のための
 セッションです。 • 安心して下さい。数式は出てきませんよ。 • ガチな人は生暖かくコメント頂けると幸いです • なるべく多くの文献をあたるようにしていますが、 専門では無いため、誤っている可能性があります。 ぜひ突っ込んで下さい。
  8. 8. Agenda 機械学習のキホン • 機械学習の定義 • 事例・人工知能との関係 機械学習のはじめ方 • 基本的なフロー • データ/アルゴリズム/評価
  9. 9. 機械学習のキホン 機械学習の定義など
  10. 10. –Wikipedia 機械学習(machine learning)とは、人工知 能における研究課題の一つで、人間が自然に行っ ている学習能力と同様の機能をコンピュータで 実現しようとする技術・手法のことである。 [1] 機械学習とは?
  11. 11. プログラム 機械学習の定義 コンピュータプログラムが経験によって自動的に改善していくには どうしたらいいかという問題 コンピュータプログラムが、タスクTとパフォーマンス測定Pにおい て経験Eから学習するとは、タスクTにおけるその性能をPによって 評価した際に、経験Eによってそれが改善されている場合である [2] タスクT 経験E 学習 ↑改善 パフォーマンス測定Pによる評価 @tommmitchell - Tom M Mitchell, 1998
  12. 12. つまり、機械学習とは パフォーマンス測定Pに対する
 判断(タスクT)を一般化するため
 データ(経験E)からモデルを訓練すること [3] モデル 判断 データ 学習 ↑改善 パフォーマンス測定Pによる評価
  13. 13. 何が嬉しいの? 過去のデータ(経験E)から、パフォーマンス性能P を高めたタスクTを実行することにより、未知のデー タの結果を予測する。 過去のデータから
 未来が予測できる!!
  14. 14. 身近な事例 日常でいろいろな場面で使われている [4] • SPAMメール判定 • クレジットカードの不正検知 • ローン審査 • デジカメの顔検出 • 商品レコメンデーション • 株式取引 • 広告配信 • 人材マッチング • etc…
  15. 15. 今ブームなの? 第3次AI(人工知能)ブーム真っ最中 それに伴って機械学習の分野も注目を浴びている Machine Learning
 (英語) 機械学習
 (日本語) 2012年頃から増加Google trends 2015年に急増
  16. 16. なぜ今またブームなのか • ビッグデータ + クラウド化 • データが大量増えた • コンピューターの能力が大幅に向上し、安価に • エコシステムの成長 • 環境が整う、ライブラリが充実する、事例が増える、資料が 増える、の好循環でエコシステムが成長 • 第3次AIブーム • Deep Learningによるインパクト
  17. 17. 人工知能との関係 • 機械学習はもともとは人工知能の一分野として始まる[5] • ニューラル・ネットワーク(NN) • 論理推論(エキスパートシステム) • 現在では、「統計的」機械学習が主流 • Deep Learningの登場でまたNNに • データマイニングとの違い • データマイニングは、未知のパターンや未知の知識を見つけ出す。[6] • 機械学習は、既知のパターンや知識を再生成した上で自動的に他のデータに適用し、 その結果を自動的に意思決定や行動に役立てるために使われる。 • 現在はデータ解析技術一般を含むことも多い パターン認識は工学を起源とするが、機械学習は計算機科学の分野から生じている。 しかし、これらは同じ分野を2つの側面から見たものと見なせる。 [7] data mining Venn diagram [8]
  18. 18. 機械学習のキホン: まとめ • 機械学習とは、過去のデータからモデルを訓練し、 未来を予測する。 • 日常でも使われ、応用が広がっている。 • 機械学習は総合格闘技 [9]
  19. 19. 機械学習のはじめ方 基本的なフロー アルゴリズム/手法の種類と評価
  20. 20. 基本的なフロー 1. データの準備 • 特徴選択/正規化/欠損値/次元削除 2. アルゴリズムの選択 • 種類については後述 3. モデルの構築 • 訓練データ/検証データの用意 • ハイパーパラメータの最適化 4. 評価 • 正答率/適合率(精度)/再現率/F値 一般的な教師あり学習の手順 コレを繰り返す
  21. 21. データの準備 • 特徴(属性/素性)選択 • 何を対象とするかを決める • 醜いアヒルの子の定理 / 次元の呪い • 数値データに変換 • カテゴリを数値に • 欠損値の削除、置換、補完 • 正規化(値を える) • 次元削除 [10]
  22. 22. 機械学習アルゴリズム 教師あり学習 事前に与えられたデータを「例題(=先生からの助言)」と みなして、それをガイドに学習を行う。 予測を行うときに使う。機械学習というと大体これ。 教師なし学習 「出力すべきもの」があらかじめ決まっていない。 データの背後に存在する本質的な構造を抽出するために用い られる
  23. 23. 教師あり学習 分類 黒か白か?どのカテゴリか?など、どれかに分類する [11] 出力がラベル(予測対象が離散[12]) 回帰 明日の気温、予想株価、など数値を予測する 出力が数値(予測対象が連続)
  24. 24. 教師あり学習: 分類 線形分類機 • フィッシャーの線形判別分析 • ロジスティック回帰 • ナイーブベイズ • 単純パーセプトロン • 線形サポートベクターマシン
  25. 25. 教師あり学習: 分類 非線形 • k近傍点 • 決定木 • ニューラルネットワーク • ベイジアンネットワーク • サポートベクターマシン ※識別関数、生成モデル、識別モデルという 分類もあるが割愛。参考資料[7][13][14]を参照
  26. 26. 教師あり学習: 回帰 線形回帰 • 最小二乗法 • ベイズ線形回帰 非線形 • k近傍点 • ランダムフォレスト • ニューラルネットワーク • サポートベクター回帰
  27. 27. 教師なし学習 • クラスタリング • k-means • 階層的クラスタリング • 頻出パターンマイニング • アソシエーション分析(相関ルール)
  28. 28. 閑話 分類(Classification)とクラスタリングの違い [15] • 分類(Classification) • 有用な分類法を再現すること • クラスタリング(Clustering) • 既知の分類法では見えて来ないことを発見しよう とすること
  29. 29. アルゴリズム選択時の注意 データ特性などに適したアルゴリズムを選択すること データの分布を前提に置いているものもある。 [10] ノーフリーランチ定理 コスト関数の極値を探索するあらゆるアルゴリズムは、全ての 可能なコスト関数に適用した結果を平均すると同じ性能となる あらゆる問題で性能の良い万能な学習アルゴリズム は存在しない — Wolpert and Macready、1995年
  30. 30. モデルの構築 ここまでくれば、モデル構築はライブラリ使えば簡単 が、検証データを準備しておく必要がある[10][16] • ホールドアウト法(8:2とかで分ける) • クロスバリデーション(交差検証) 過学習(Over fitting)を避ける
  31. 31. 過学習 over fittingunder fitting [17] 訓練データに過剰に適合してしまい、汎化性能が低く ならないようにする。
  32. 32. ハイパーパラメータの最適化 ハイパーパラメータ • 事前確率を決めるパラメータやモデル全体に影響を与えるパラ メータ[18] 確率モデルの分布に影響 • 学習したモデルのパラメータと区別するため使われる ハイパーパラメータの最適化 • 結果に大きな影響があるため、最適な値を求める • 指定した探索範囲の値から最も適切なものを選ぶことが多い。 • グリッドサーチなど
  33. 33. 評価 分類 • 精度(正解率/データ数) • 適合率/再現率/F値 • 真陽性率と偽陽性率は
 トレードオフ 回帰 • 平均二乗誤差 予測値 陽性 陰性 正解 陽性 真陽性 偽陰性 陰性 偽陽性 真陰性 [10][16]
  34. 34. 機械学習のはじめ方: まとめ • まずは教師あり学習の分類からはじめてみよう • 特徴選択が重要 • 検証データを忘れずに • 評価もちゃんとやりましょう
  35. 35. 理論を完全に理解することは難しいですが、
 勉強しやすい環境が整ってきました。 ライブラリを使うだけなら簡単です。 機械学習で遊んでみましょう! 全体のまとめ
  36. 36. 参考書籍1 入門向けの概要 Pythonサンプルコード付
  37. 37. 参考書籍2 Rによる入門 Pythonによる実装
  38. 38. 参考書籍3 輪読やってます いわゆるビショップ本
 またはPRML
  39. 39. 参考資料 [1] 機械学習 - Wikipedia [2] 機械学習とは何か? ‒ 機械学習の定義と使える言い回し [3] R & Machine Leaning [4] 日常にある機械学習の応用例 [5] 機械学習小史 [6] 機械学習とは? ¦ SAS [7] パターン認識と機械学習 上 [8] Looking backwards, looking forwards: SAS, data mining, and machine learning [9] 機械学習の理論と実践 [10] 機械学習によるデータ分析まわりのお話 [11] 教師あり学習 [12] 機械学習 分類 [13] 「機械学習とは何ぞや」をゆるーく説明してみる [14] テキストマイニングのための機械学習超入門 二夜目 パーセプトロン [15] クラスタリングとクラス分類 [16] 機械学習を用いた予測モデル構築・評価 [17] General regression and over fitting [18] Hyperparameter
  40. 40. Images • http://www.thebluediamondgallery.com/tablet/a/artificial- intelligence.html • https://www.flickr.com/photos/manoftaste-de/9483602817 • https://www.flickr.com/photos/unavoidablegrain/8012918279 • https://en.wikipedia.org/wiki/Support_vector_machine

×