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

データマイニングと機械学習 - はじめての機械学習

Y. Yamamoto
April 19, 2023

データマイニングと機械学習 - はじめての機械学習

1. 機械学習とは何か
2. 授業の進め方
3. はじめての機械学習

Y. Yamamoto

April 19, 2023
Tweet

More Decks by Y. Yamamoto

Other Decks in Science

Transcript

  1. ⾃⼰紹介 所属・職位 名古屋市立大学 データサイエンス学部 准教授 専門領域 データ工学・情報検索 2 出身 三重県津市

    研究キーワード 情報アクセスシステム,インタラクション(HCI), ウェブ,情報の信憑性,人と情報のエコシステム
  2. ⼈⼯知能(AI) 人工知能 強いAI 弱いAI (Artificial Intelligence) ⼈間のような⾃意識と知能をもって 作業が可能な機械 ⼈間の知的処理の⼀部を模倣する 特定問題に特化した問題解決器

    ・ 現在行われているAI研究の大半は弱いAIの研究 参考:⼈⼯知能研究(https://www.ai-gakkai.or.jp/whatsai/AIresearch.html) ・ 強いAI研究の成果(e.g. 推論)も人間の知能には遠く及ばず 6
  3. AI画像解析による乳がんの早期予測(リスク評価) AI が乳がん化を予測 実際にガン化 ⽂献: McKinney, S.M., Sieniek, M., Godbole,

    V. et al. International evaluation of an AI system for breast cancer screening. Nature 577, 89‒94 (2020). 画像出典: https://news.mit.edu/2019/using-ai-predict-breast-cancer-and-personalize-care-0507 マンモグラフィ検診は,⼈間でも判定が難しいので,AI⽀援は がん予測の精度向上と⼈間の作業負荷の削減につながる 8
  4. Predictive Policing:犯罪発⽣の事前予測 犯罪が発生する前に、犯罪現場に警察官を送り込む http://www.nytimes.com/2011/08/16/us/16police.html?_r=0 • 米国サンタクルーズ市警と UCLAとの共同研究 • 犯罪の種類や発生時間、 発生場所などのデータから

    犯罪発生予測モデルを構築 - 犯罪レポート1万1000件/年 - 電話通報記録10万5000件/年 http://itpro.nikkeibp.co.jp/atcl/watcher/14/334361/080100020/?ST=bigdata&P=2 • 電子化された犯罪レポート 10
  5. あらゆる分野で応⽤され始める機械学習 農業 医療 交通 製薬 観光 防災 気象 広告 流通

    教育 ICT スポーツ 報道 効率化・コスト削減 & 新しい価値の創造 機械学習への期待 アパレル 法律 デザイン 公共政策 11
  6. 機械学習・データマイニングの分析技術のコアは数学であるが… 㻚㻜㻜㻓㻔 㻔㻜㻜㻜㻓㻚 㻕㻓㻓㻓㻓㻔 㻕㻓㻓㻓㻓㻚 㻕㻓㻓㻔㻓㻔 㻕㻓㻓㻔㻓㻚 㻕㻓㻓㻕㻓㻔 㻕㻓㻓㻕㻓㻚 㻕㻓㻓㻖㻓㻔

    㻕㻓㻓㻖㻓㻚 㻕㻓㻓㻗㻓㻔 㻕㻓㻓㻗㻓㻚 㻕㻓㻓㻘㻓㻔 㻕㻓㻓㻘㻓㻚 㻕㻓㻓㻙㻓㻔 㻕㻓㻓㻙㻓㻚 㻕㻓㻓㻚㻓㻔 㼗㼌㼐㼈 crease and decrease in the number of ncerning a fact that a common-sense fact is found on the ase in a similar manner as time passes. The and expired states are represented by a uni- ibution. In total, the temporal distribution nce of a statement on the Web is modeled as ibution. matical formulation is as follows. We repre- Recognition Model using a mixture distribu- ans the probability that web page about a be created at time t. It is expressed as a lin- n of a Gaussian distribution N(t; µ, σ2) with an exponential distribution f(t) with weight = α1N(t; µ, σ2) + α2f(t) (1) i: index for distributions (i ∈ {1, 2}). αi : weight for distribution i. λ: parameter for the exponential distribution. µ: mean vector for the Gaussian. σ2: variance for the Gaussian. φi: parameter vector (αi, λ, µ, σ2). pi(xk |φi): probability of xk by distribution i. Φ: parameter vector for the mixture model. p(xk |Φ): probability of xk by the mixture model. select initial estimated parameter vector Φ until Φ converges to Φ do Φ ← Φ for each i do initialize Ψi , Mi , Si for each k do ψik ← αipi(xk|φi) p(xk|Φ) Ψi ← Ψi + ψik Mi ← Mi + ψik xk if i = 1 then Si ← Si + ψik (xk − µ)2 αi ← Ψi n if i = 1 then µ ← Mi Ψi , σ2 ← Si Ψi if i = 2 then λ ← − Ψi Mi return Φ   This algorithm is based on the calculation in Appendix A. 数理的内容の学習は,初学者にはハードルが高い 12
  7. 最近のツール事情 # Python 1 import sklearn.ensemble.GradientBoostingClassifier as GBDT 2 data

    = pd.read_csv(“data.csv”) 3 model = GBDT() 4 model.fit(data) ほとんど何も書かなくても動くので便利 中身も理解せず,正しく動かせているか分からず 利用しているユーザ(学生)が多い 13
  8. 機械学習 vs データマイニング 19 データマイニング • データ集合から「モデル」を抽出・発⾒しようとする試み • データベース分野でも盛んに研究が⾏われてきた •

    主要プレーヤー:計算機科学者(データベース & ⼈⼯知能) • データマイニング,機械学習の各分野で開発された 独⾃の技術も存在(例:相関ルールマイニング) 機械学習 • 経験(データ)から⾃動的に改善を図れるような プログラムを構築する⽅法論 • 主要プレーヤー:計算機科学者 & 統計学者 • 近年は2つの概念は同じ意味・⽂脈で使われている
  9. ⼈⼯知能の研究(技術)トピック 人工知能 推論 探索 機械学習 知識表現 … 教師あり学習 教師なし学習 強化学習

    ・クラスタリング ・データ圧縮 ・分類 ・回帰 ・順序回帰 … 機械学習 20 …
  10. 機械学習の流れ ⼤量のデータ (正解ラベル付き) 前 処 理 特徴 抽出 学習 (モデル構築)

    機械学習(ML)アルゴリズム 学習済み モデル ML 学習フェーズ 21
  11. 機械学習の流れ ⼤量のデータ (正解ラベル付き) 前 処 理 特徴 抽出 学習 (モデル構築)

    機械学習(ML)アルゴリズム 学習済み モデル ML 推論 特徴 抽出 ? 前 処 理 未知データ (ラベルなし) 予測結果 推論フェーズ MLアルゴリズム 学習フェーズ 22
  12. 教師あり学習(1/2) ふぐ ブリ 鯛 鰹 大量のラベル付データ 機械学習 アルゴリズム ◦◦の識別に必要となる 特徴と分類ルール

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

    大量のラベル(答え)付データを与えて ラベルを分類する特徴とルールを抽出(学習)する (予測だけが⽬的なら) ⼈間が理解できる必要はない ◦◦の識別に必要となる 特徴と分類ルール 27
  14. 機械学習がやっていること 29 𝑓 (特徴) 結果 = データの特徴と結果の対応関係を見つける モ デ ル

    未知データの結果を予測するために If-thenルール ニューラルネットワーク (⾏列) Pr(𝑊, 𝜃; 𝛼, 𝛽) 確率モデル
  15. 機械学習の流れ ⼤量のデータ (正解ラベル付き) 前 処 理 特徴 抽出 学習 (モデル構築)

    機械学習(ML)アルゴリズム 学習済み モデル ML 推論 特徴 抽出 ? 前 処 理 未知データ (ラベルなし) 予測結果 推論フェーズ MLアルゴリズム 学習フェーズ 32
  16. 機械学習の流れ ⼤量のデータ (正解ラベル付き) 前 処 理 特徴 抽出 学習 (モデル構築)

    機械学習(ML)アルゴリズム 学習済み モデル ML 推論 特徴 抽出 ? 前 処 理 未知データ (ラベルがない) 予測結果 推論フェーズ MLアルゴリズム 学習フェーズ ? 機械学習のミソ データの特徴を捉えた & 汎用的に 使えるモデルをどう学習するか? 33
  17. 講義のトピック 機械学習 教師あり学習 教師なし学習 強化学習 ・クラスタリング ・データ圧縮 ・分類 ・回帰 …

    … 36 行動情報学科に 特有の応用手法 時系列データ分析 時間経過とともに変化する データに対する分析⼿法
  18. 講義のトピック 機械学習 教師あり学習 教師なし学習 強化学習 ・クラスタリング ・データ圧縮 ・分類 ・回帰 …

    … 37 時系列データ分析 時間経過とともに変化する データに対する分析⼿法 ⼭本担当 ⼤本先⽣担当
  19. 講義の⽬標 機械学習 教師あり学習 教師なし学習 強化学習 ・クラスタリング ・データ圧縮 ・分類 ・回帰 …

    本講義の学習目標 • 代表的な機械学習がどのように動くかを直感的に理解する • 既存ライブラリを使い例題に対して機械学習を適用できる … 38
  20. 講義計画 回 実施⽇ トピック 1 04/12 ガイダンス 2 04/19 機械学習の概要

    & はじめての機械学習 3 04/26 演習:決定⽊ 4 05/10 クラスタリング1:k-means & 階層的クラスタリング 5 05/17 クラスタリング2:密度ベースクラスタリング 6 05/24 分類1:K近傍法 & 教師あり機械学習のお作法 7 05/31 分類2:サポートベクターマシン 8 06/07 分類3:ニューラルネットワーク⼊⾨ 39
  21. 講義スタイル(⼭本担当パート) Hands-onデモ with Python 0:00 1:30 0:50 座学 機械学習技術の 適⽤体験

    機械学習の理論や ⼿法の直感的理解 (数学的にもフォローする) (⾼度なプログラミングスキルは不要) 41
  22. 決定⽊の概要(問題定義) 入力 分類ラベルのついた ベクトルの集合(表データ) 出力 ラベルを予測するための ルールを要約した⽊ 利用するケース 予測モデルに加えて, 分類ルールを確認したいとき

    ID 柄色 柄形 臭い 毒 1 紫 直線 あり あり 2 朱 末広 刺激 なし … … … … … キノコの記録 毒キノコを分類するルールを抽出 臭い あり なし 柄の色が緑 yes no 毒あり1% 毒あり100% … 49
  23. 迷惑メールデータセット @UCI Machine Learning Repository 51 データセット: https://archive.ics.uci.edu/ml/datasets/spambase 4601通の英⽂メールに 関するデータセット

    • ある単語がメールに占める割合 (例: business, free, address) • email or spamの2値ラベル • ある⽂字がメールに占める割合 (例: !, $, #) • 連続した⼤⽂字の⻑さの平均値 • 連続した⼤⽂字の⻑さの最⼤値 • 連続した⼤⽂字の⻑さの総和
  24. データを分類するif-thenルールを出力 迷惑メール問題に対する決定⽊の出⼒例 52 600/1536 280/1177 180/1065 80/861 80/652 77/423 3/229

    0/209 100/204 36/123 16/94 9/29 16/81 9/112 6/109 0/3 48/359 26/337 19/110 18/109 0/1 7/227 0/22 spam spam spam spam spam spam spam spam spam email email email email email email email email email email email email email email ch$<0.0555 remove<0.06 ch!<0.191 george<0.005 hp<0.03 CAPMAX<10.5 CAPAVE<2.7505 free<0.065 business<0.145 george<0.15 hp<0.405 CAPAVE<2.907 1999<0.58 ch$>0.0555 remove>0.06 ch!>0.191 george>0.005 hp>0.03 CAPMAX>10.5 CAPAVE>2.7505 free>0.065 business>0.145 george>0.15 hp>0.405 CAPAVE>2.907 1999>0.58 画像出典: T. Hastie et al. (2009): “The Elements of Statistical Learning”, Springer.
  25. 例: 毒キノコ分類問題 53 ID 柄色 柄形 臭い 毒 1 紫

    直線 あり あり 2 朱 末広 刺激 なし … … … … … キノコの記録 毒キノコ分類ルール 臭い あり なし 柄の色が緑 yes no 毒あり1% 毒あり100% … 毒々しい⾊ → 毒あり 柄が縦に割ける → 毒なし ⾍が⾷べている → 毒なし 迷信 決定⽊ どうやってデータから分類ルールを見つけるか?
  26. 決定⽊アルゴリズムの直感的アイデア 柄の⾊が緑 有毒 無毒 データの割合 有毒 無毒 データの割合 YES NO

    カサの裏にヒダ 有毒 無毒 データの割合 有毒 無毒 データの割合 YES NO vs. 分類ルールを仮適応したときにデータの不純度 (の加重平均)が最も小さくなるようなルールを選ぶ 54 異なるクラスの データの混じり度合 が⼩さいのはどっち?
  27. エントロピーの計算例 57 以下の集合SのエントロピーE(S)を計算してみよう 𝑝(•) = 6 10 𝑝(•) = 4

    10 , E 𝑆 = −𝑝 • log 𝑝 • − 𝑝 • log 𝑝 • = − 6 10 log 6 10 − 4 10 log 4 10 = 0.673
  28. 分類ルールの良さの求め⽅ 59 分類後の集合の不純度の加重平均で評価 集合のサイズを重みとする平均 E 𝑆1 = − 3 6

    log 3 6 − 3 6 log 3 6 = 0.693 E 𝑆2 = − 3 4 log 3 4 − 1 4 log 1 4 = 0.562 ルールの良さ = 6 10 𝐸 𝑆1 + 4 10 𝐸 𝑆2 = 𝟎. 𝟔𝟒𝟏 10個中6個がS1 10個中4個がS2 ルールA
  29. 決定⽊のアルゴリズム 1. 3. ステップ2で選択したルールでデータを分割 2. 4. 5. 分割の必要がなくなったら終了 全データについて,各特徴による分割パターン をすべて調査

    データの不純度にもとづき,最適な分割ルール をひとつ選択 分割されたデータ群に対して,上記⼿順を 繰り返し適⽤ 60
  30. 予測⽊の成⻑の抑制(1/2) 予測木をできるだけ汎用的にするために 木の大きさを制限する(過学習の防止) • ⽊の葉っぱに含まれているデータの数 • 不純度の変化量 • ⽊の深さ •

    ⽊の葉っぱでの誤り率 61 ある事柄を説明するために、必要以上に多くを仮定するべきでない (オッカムの剃刀) 画像出典: wikipedia.org
  31. 余談: Why Python?(3/3) 67 機械学習 ライブラリ By Google By Facebook

    深層学習 Pythonはデータサイエンスを全方位でカバー
  32. 決定⽊が⾏っていること in 特徴空間(データ空間) X1 0 X2 t1 NO X1 ≦

    t1 YES X2 ≦ t2 NO YES S1 S2 X1 ≦ t3 NO YES S3 X2 ≦ t4 NO YES S4 S5 t2 t3 S1 S2 t4 S4 S5 S3 直線で特徴空間を複数回分割する
  33. 今後の予定 回 実施⽇ トピック 1 04/12 ガイダンス 2 04/19 機械学習の概要

    & はじめての機械学習 3 04/26 演習:決定⽊ 4 05/10 クラスタリング1:k-means & 階層的クラスタリング 5 05/17 クラスタリング2:密度ベースクラスタリング 6 05/24 分類1:K近傍法 & 教師あり機械学習のお作法 7 05/31 分類2:サポートベクターマシン 8 06/07 分類3:ニューラルネットワーク⼊⾨ 72