Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AI・機械学習応用論2020

Y. Yamamoto
October 29, 2020

 AI・機械学習応用論2020

とある企業向けの出張講義資料です.

Y. Yamamoto

October 29, 2020
Tweet

More Decks by Y. Yamamoto

Other Decks in Technology

Transcript

  1. 講義スタイル Hands-onデモ with Python 0:00 1:30 0:30 座学 デモ &

    演習 座学 デモ & 演習 座学 デモ & 演習 座学 座学 クラスタリング はじめての機械学習 時系列分析 1コマの構成 「各種分析⼿法を使うと何が起こるか」の体験に焦点を当てる 1日の構成 上記スタイルで4つのトピックを学習 2 機械学習応用事例
  2. データ分析技術(in データ⼯学)の⼀般的な学習トピック データラングリング 類似度・距離関数 クラスタリング 例外発⾒ 回帰・分類 テキストデータ グラフ (ネットワーク)

    時系列データ ストリームデータ 空間データ 汎用テクニック データ特化型マイニング … データ可視化 本講座の目標 ・ 実践的 & 汎用性が高いテクニックの直感的理解 ・ ケースに応じたデータ分析技術の選択 5 …
  3. 本講座で学ぶ4つの技術 1. K-means(K平均法) 2. 階層的クラスタリング 3. 決定木 4. 時系列分析 A

    B D C E F G H I A B D C E F G H I N個のグループに分割 類似データを指定のグループ数に強引に分割 7
  4. 本講座で学ぶ4つの技術 1. K-means(K平均法) 2. 階層的クラスタリング 3. 決定木 4. 時系列分析 A

    B D C E F G H I A B D C E F G H I 徐々にデータをマージ 類似データを徐々にグルーピング 8
  5. 本講座で学ぶ4つの技術 1. K-means(K平均法) 2. 階層的クラスタリング 3. 決定木 4. 時系列分析 結果を予測するための分岐ルールを構築

    毒 柄色 柄形 臭い あり 紫 直線 あり なし 朱 末広 刺激 … … … … キノコの記録 毒キノコを分類するルールを抽出 臭い あり なし 柄の色が緑 yes no 毒あり1% 毒あり100% … 9
  6. 本講座で学ぶ4つの技術 1. K-means(K平均法) 2. 階層的クラスタリング 3. 決定木 4. 時系列分析 時間に紐付いたデータからデータの

    ⽣成過程を分析し,将来を予測 10 時系列モデルの構築 計測日 購買数 イベント 2020-10-1 279 無 2020-10-2 376 無 2020-10-3 677 有 … … … 商品Xの購買数 時間 ⽉ 曜 ⽇ 周 期 性 ⽔ ⼟
  7. クラスタリングのアプローチ 1. 距離を計算できるようにデータを表現 2. 距離を定義し,データ間の距離を計算 3. 距離をもとにあるルールでデータをまとめる 鳴き声の⾼さ 0 鳴き声の⼤きさ

    鳴き声の⾼さ 鳴き声の⼤きさ XY平⾯上での距離 が近いものをまとめる ポイント クラスタリング手法の違いはデータをまとめるルールにある 18
  8. K-meansクラスタリングの概要 A B D C E F G H I

    A B D C E F G H I 入力 ・ベクトルの集合(表データ) ・クラスタ数 出力 各ベクトルが所属するクラスタ 利用するケース データを決まった数のグループに 分けたいとき 19 N個のグループに分割
  9. 階層的クラスタリングの概要 入力 ベクトルの集合(表データ) 出力 各ベクトルが所属するクラスタ & その階層図(デンドログラム) 利用するケース A B

    D C E F G H I A B D C E F G H I 類似データを徐々にマージ ・クラスタ数を柔軟に決めたいとき ・クラスタが分かれていく様を 確認したいとき 37
  10. 階層的クラスタリングのアルゴリズム(3/14) G B C D A H E I F

    すべての点間の距離を計算し, 最も近い点同士をクラスタとして併合 2. 42
  11. 階層的クラスタリングのアルゴリズム(4/14) G B C D A H E I F

    最も近い点 すべての点間の距離を計算し, 最も近い点同士をクラスタとして併合 2. 43
  12. 階層的クラスタリングのアルゴリズム(5/14) G B C D A H E I F

    最新のクラスタ情報にもとづき, すべてのクラスタ間の距離を計算し, 最も近いクラスタ同士をクラスタとして併合 3. 44
  13. クラスタ間の距離の定義(1/3) 最長距離法 最短距離法 B A C D E B A

    C D E クラスタの要素間の最⻑距離 クラスタの要素間の最短距離 ◦ 計算コストが⼩さい × クラスタ同⼠が離れやすい ◦ 計算コストが⼩さい × クラスタが鎖状になりやすい 56
  14. クラスタ間の距離の定義(3/3) B A C D E B A F G

    I H ウォード法 • 2つのクラスタを併合したと仮定したときの, クラスタ内の要素の散らばり具合 < • 計算コストは⾼いが,分類感度がよい × × 58
  15. 実数値ベクトルの距離(2/2) 数学 英語 • • A B 数学 英語 •

    • A B ユークリッド距離 ・⼀般的に使われる距離 ・直線的な距離 コサイン類似度 ・ベクトルの⾓度 ・傾向の類似性を評価 61
  16. クラスタリング⼿法の⽐較 K-means 階層的クラスタリング ケース クラスタ数を指定してデー タを分割したい データが分割される様子を 確認したい クラスタ数の指定 Yes

    No 計算量 ◦ △ クラスタの形状 超球状 超球状(クラスタ 距離の定義による) メリット 良い意味で単純 クラスタが作られる 様子が把握できる (デンドログラム) デメリット クラスタ数の指定が必要 データ数が多いと 解釈が難しい 65
  17. ⼈⼯知能(AI) 人工知能 強いAI 弱いAI (Artificial Intelligence) ⼈間のような⾃意識を持ち,⼈間の ような知能をもって作業が可能な機械 ⼈間の知的処理の⼀部を模倣する 特定問題解決器

    ・ 現在行われているAI研究の大半は弱いAIの研究 参考:⼈⼯知能研究(https://www.ai-gakkai.or.jp/whatsai/AIresearch.html) ・ 強いAI研究の成果(e.g. 推論)も人間の知能には遠く及ばず 69
  18. 教師あり学習(1/2) ふぐ ブリ 鯛 鰹 大量のラベル付データ 機械学習 アルゴリズム ◦◦の識別に必要となる 特徴と分類ルール

    画像出典: https://jp.mathworks.com/help/deeplearning/examples/visualize-features-of-a-convolutional-neural-network.html 全長が25cmくらいで, 長く伸びた白いヒレ. 白い体に2本の黒い帯. 背びれが黄色い. これは「ハタタテダイ」 大量のラベル(答え)付データを与えて ラベルを分類する特徴とルールを抽出(学習)する 72
  19. 教師あり学習(2/2) ふぐ ブリ 鯛 鰹 大量のラベル付データ 機械学習 アルゴリズム 画像出典: https://jp.mathworks.com/help/deeplearning/examples/visualize-features-of-a-convolutional-neural-network.html

    大量のラベル(答え)付データを与えて ラベルを分類する特徴とルールを抽出(学習)する ⼈間が理解できる必要はない ◦◦の識別に必要となる 特徴と分類ルール 73
  20. 75

  21. 教師あり学習の歴史 ロジスティック回帰 サポートベクタマシン With カーネルトリック ID3(決定木) パーセプトロン 単純ベイズ分類器 ランダムフォレスト k-近傍法

    ベイジアンネットワーク 深層学習 1958年 1957年 1951年 1979年 1985年 1992年 1960年代 2001年 2010年代 本講座で学ぶのはコレ (初学者が勉強しやすい) 76
  22. 決定⽊の概要 入力 分類ラベルのついた ベクトルの集合(表データ) 出力 ラベルを予測するための ルールを要約した⽊ 利用するケース 予測モデルに加えて, 分類ルールを確認したいとき

    毒 柄色 柄形 臭い あり 紫 直線 あり なし 朱 末広 刺激 … … … … キノコの記録 毒キノコを分類するルールを抽出 臭い あり なし 柄の色が緑 yes no 毒あり1% 毒あり100% … 77
  23. 決定⽊のアルゴリズム 1. 3. ステップ2で選択したルールでデータを分割 2. 4. 5. 分割の必要がなくなったら終了 全データについて,各特徴による分割パターン をすべて調査

    データの不純度にもとづき,最適な分割ルール をひとつ選択 分割されたデータ群に対して,上記⼿順を 繰り返し適⽤ 80
  24. 時系列分析の概要 入力 ベクトル(表)データ with 計測時間 出力 時系列モデル (周期性・トレンドの有無などを表す数式) 利用するケース 時系列モデルの構築

    ・将来予測 ・急激な変化をした時間の検出 (変化点検出) 93 ・変動要因の把握 計測日 購買数 イベント 2020-10-1 279 無 2020-10-2 376 無 2020-10-3 677 有 … … … 商品Xの購買数 時間 ⽉ 曜 ⽇ 周 期 性 ⽔ ⼟
  25. 回帰分析(1/2) 96 平均歩数/⽇ 寿命 寿命 = a × 平均歩数 +

    b 説明変数 ⽬的変数 目的変数と説明変数の関係を示す数式を見つける モデル
  26. 回帰分析 (2/2) 97 x1 y = ! ! + "

    " + ⋯ 単回帰モデル (数式の係数を求める) 目的変数と説明変数の関係を示す数式を見つける x1 重回帰モデル ⼀般化線形回帰モデル …
  27. ⾮系列データに対する回帰分析がやっていること(2/2) 100 … ? … … yが未知データ 寿命 (y) 平均歩数

    (x1) 平均⻭磨き回数 (x2) 既知データ 既知 既知 回帰モデルを既知の説明変数に適応し,未知変数を予想 「目的変数は対応する説明変数にのみ依存」と仮定
  28. ⾃⼰相関・偏⾃⼰相関(1/2) 102 航 空 会 社 乗 客 数 ⽉

    周期性があるデータは(偏)自己相関スコアに特徴あり ⼀定時刻前のデータとの相関関係 参考:https://stat.ethz.ch/R-manual/R-devel/library/datasets/html/AirPassengers.html
  29. 時系列データの構造1:トレンド (2/2) 107 選 ⼿ M 関 Wiki 閲 覧

    数 時間(⽇) 全体的な上昇・下降傾向の有無 途中で傾向が変化することもOK
  30. 時系列データの構造2:周期性 (1/3) 108 航 空 会 社 乗 客 数

    ⽉ 曜日変動や24時間変動といった繰り返しの成分
  31. 時系列分析の3つのアプローチ 113 Box Jenkins法 • AR/MAモデルなどの時系列分析専⽤モデルの組合せ • ⼿順が統⼀されている • 結果の解釈が難しい

    状態空間モデル • 様々な統計モデルを組み合せで現象を柔軟に表現 • 結果の解釈がしやすい • 計算コストが⾼い 曲線フィッティング • データを強引に「トレンド+周期性+外因性」に分解 • 近年研究が進んでいる領域(e.g. Prophet,深層学習)
  32. 時系列分析の3つのアプローチ 114 Box Jenkins法 • AR/MAモデルなどの時系列分析専⽤モデルの組合せ • ⼿順が統⼀されている • 結果の解釈が難しい

    状態空間モデル • 様々な統計モデルを組み合せで現象を柔軟に表現 • 結果の解釈がしやすい • 計算コストが⾼い 曲線フィッティング • データを強引に「トレンド+周期性+外因性」に分解 • 近年研究が進んでいる領域(e.g. Prophet,深層学習)
  33. 115 Facebook謹製の時系列分析ライブラリ # Python 1 data = pd.read_csv(“data.csv”) 2 Model

    = Prophet() 3 model.fit(data) • 統計の知識が乏しくても⾼品質な時系列分析が可能 • 結果の解釈がしやすい • 扱いやすいライブラリ https://facebook.github.io/prophet/
  34. データ分析に必要な データを収集・構築する データ 構築 前処理 アルゴリズム 適用 評価・分析 データ解析・活⽤のプロセス アルゴリズムを走らせるために

    データをクリーニング,統合,変形 種々のアルゴリズムの 適用・開発 構築したモデルの評価, データマイニングした知見の分析 125
  35. • データベース • センサーネットワーク データ 構築 前処理 アルゴリズム 適用 評価・分析

    データサイエンスに必要となるスキル • データラングリング • 自然言語処理 • 音声・画像処理 • 機械学習 • データマイニング • 分散処理 ▪ 必ず必要となる専門スキル ▪ オプションとして必要となる専門スキル 専門スキルを支えるための基本スキル • データ構造 • プログラミング • 線形代数学 • 離散数学 • 数理・統計 126
  36. • データベース • センサーネットワーク データ 構築 前処理 アルゴリズム 適用 評価・分析

    データサイエンスに必要となるスキル • データラングリング • 自然言語処理 • 音声・画像処理 • 機械学習 • データマイニング • 分散処理 ▪ 必ず必要となる専門スキル ▪ オプションとして必要となる専門スキル 専門スキルを支えるための基本スキル • データ構造 • プログラミング • 線形代数学 • 離散数学 • 数理・統計 社会が考えるデータサイエンスはこれ 127
  37. データ分析に必要な データを収集・構築する データ 構築 前処理 アルゴリズム 適用 評価・分析 データ解析・活⽤のプロセス アルゴリズムを走らせるために

    データをクリーニング,統合,変形 種々のアルゴリズムの 適用・開発 構築したモデルの評価, データマイニングした知見の分析 データ解析の8割は「データ構築と前処理」 128
  38. https://biz.trans-suite.jp/15958 https://jp.depositphotos.com/ https://ecotopia.earth/article-134/ 情報系学部を卒業して 憧れのデータサイエンティスト として就職!! 期待の新人 データサイエンティスト 職場にはビッグデータ活用という 概念がなく,データ分析できる

    状況ではない. 職場にデータがない or ゴミデータの山 データサイエンスが定着しない企業の現実 データ分析は勉強したが,データ 収集・構築なんて習っていない 129