Slide 1

Slide 1 text

機械学習入門 シリーズAI入門 教師あり・なし 次元圧縮 © FSCjJh3NeB 2021 (※ 但し画像を除く)

Slide 2

Slide 2 text

n ここまでで,人工知能について,その概要や課題を ざっとながめてきた n 現在は第3次ブームで,機械学習などが熱い n 具体的に機械学習とはどのようなものなのか? u ここでは 機械学習 に 深層学習を含め, かつ パタン認識 の延長線上にあるモノであるとする 2

Slide 3

Slide 3 text

機械学習って何? n データから“学習”して賢くなるアルゴリズム u データから,何らかのパタン(規則)を見つけ出す 3

Slide 4

Slide 4 text

機械学習の何が嬉しいのか? n 機械がデータから学習してくれる u 第2次の課題:“知能”を人間が作成していた p 「もし**だったら***」のIf-Thenルールを列挙 • “例外”対応や条件の組み合わせを考えるとバリエーションは膨大 • ルールが作成者や,作成者のその時の気分で変化 p 記憶装置自体も高額,元データは紙から書き起こし… u とにかく,大量にデータさえ与えれば何とかしてくれる p データはネットにいくらでもある p 機械が勝手にやるので,恣意性がない p しかも早い 4

Slide 5

Slide 5 text

機械学習はなにができるのか? n 基本的はパタンを発見 = 分ける・推測する u 似ているモノ同士でグループ分けする u 新しいデータが来たときに,どのグループか推測する 5 グループ1 グループ2 グループ3 グループ1 グループ2 グループ3 ?

Slide 6

Slide 6 text

注意点 n 機械学習の結果が,人にとってなじまないことも… 6 グループ1 グループ2 グループ3 グループ1 グループ2 グループ3 出てきた結果 本当に必要だった結果

Slide 7

Slide 7 text

こんなところに機械学習 n SPAMメールの判定 n ECサイトの情報推薦 n コピー機や重機の故障事前検知 n ニュースサイトの記事分類 n コールセンターへの質問分類 n テロリストの発見 n オンラインゲームのNPC n 株価の予測 n 政策文書の分析 …などなど 7

Slide 8

Slide 8 text

どんなときに機械学習を使うべきでないか? n データがあまりない u 機械学習は基本的にデータが多いほど精度が向上 u データが少ないと使えるモデルは出てこない n ある程度ルールがわかっている u if-thenで書き下させて,ほぼ例外がない様なルールが あるなら,そちらを選ぶべき 8

Slide 9

Slide 9 text

機械学習いろいろ n “機械学習”の中にもいろいろな手法 9 教師あり 教師なし 精度重視 説明力重視 量を予測する ex. 何歳?何人? 分類する 予測する 種類を予測する ex.男性?日本人? ハード 1レコード1グループ ソフト ex. Aが30%,Bが70% ▼ データの種類 ▼ 目的

Slide 10

Slide 10 text

基本的な機械学習の分類 機械学習 教師あり 教師なし 強化学習 行動を学ぶ (報酬を最大化) 回帰 クラスタリング 分類 分ける・まとめる 分類する 値を推定する 10

Slide 11

Slide 11 text

深層学習って言うのがないんですけど…? n 深層学習(ディープラーニング)には ニューラルネット,という技術を用いる u 原理的には “教師あり”学習の一手法※ u “教師なし” や “強化学習” にもうまく活用可能 u なんにせよ,深層学習等は具体的な手法なので, 前述のスライドにあるレベルより一段下の概念 p 分類や回帰を行うための手法…と考えると良い 11 ※ ここでは主に深層学習の原理として “オートエンコーダ” を想定(後日,深層学習の回で説明)

Slide 12

Slide 12 text

ニューラルネット,深層学習の位置づけ n 教科書やサイトによって,ニューラルネットや 深層学習の位置づけは意外とフリーダム… u 教師あり・なし,強化学習と同列に並んでいたり… u 教師あり の 手法に位置づけられていたり… u 教師なし の 手法に位置づけられていたり… n どう考えると良いか? u まず,深層学習 は ニューラルネット の特殊版 u ニューラルネットの原理を考えると “教師あり” の 手法※ u ただ,応用が進んで 強化学習 や 教師なし にも使える p 特に 深層学習 において,その傾向が顕著で,位置がばらつく 12 ※ 主流ではないが,ボルツマンマシン という “教師なし” の ニューロ や,それを生かした 深層学習 も存在する また 深層学習 の発明者として有名な ヒントン先生も,もともとボルツマンマシンの研究者

Slide 13

Slide 13 text

機械学習いろいろ 13 教師あり 教師なし 量を予測する ex. 何歳?何人? 種類を予測する ex.男性?日本人? (クラスタ分析) k-means ウォード法 (判別分析) SVM Random Forest 外れ値検出 頻出パタン 回帰分析 Random Forest 異常値検出 まとめる ex.どこまでがグループ? 上記は古典的かつ代表的な手法だけを紹介 強化学習 ニューラルネット 深層学習 ※ 深層学習のあたりで補足説明 上記に記載していない,手法の例

Slide 14

Slide 14 text

データの種類 n 教師あり u 入力に対して期待される出力がくっついている p たとえば,「この人が男性か女性か」を当てたいとして… こんな感じで,既知のデータに当てたい項目の正解データがある n 教師なし u データが入力のみ p 上記の例だと,性別の項目がない(ので,性別を当てるのは困難) 14 3 2 140 4 57 6 6 96 6

Slide 15

Slide 15 text

関連する用語 n 特徴量 u 分類やクラスタリングに使うデータの項目 p 性別の予測に以下のデータを使うなら,髪の長さ や 身長 3 2 140 4 57 6 6 96 6 n 教師/学習/トレーニング データ u 教師あり学習で,学習時に用いるデータ u 特徴量と正解ラベルのセットで作られる p 上の例では “性別” を予測したいので,“性別”の列が正解ラベル 15

Slide 16

Slide 16 text

機械学習の用語 16 n 目的変数・予測変数 u 予測したい項目 p この人は男性?女性?=性別 n 説明変数 u 予測に使えるデータ項目 p 髪の長さ p 身長,体重 p 今日コンビニで買った物 p 家にある本の一覧 ? もちろん,髪が長くてお化粧品をよく買い, ファッション雑誌をたくさん持っている男性 や, 短髪でプロテインをよく買い筋トレの本を持ってる女性も。 但し,データとしてそれが多数派ではないはず。

Slide 17

Slide 17 text

教師なしvs.教師あり n “教師あり”は教師データがいるから面倒! とりあえず“教師なし”でなにかやってみるか… n “教師なし”=計算機にお任せ u 計算機のロジックは人になじまないことも多々 17 危ないパタン!! グループ1 グループ2 グループ3 グループ1 グループ2 グループ3 出てきた結果 本当に必要だった結果

Slide 18

Slide 18 text

教師なし・ありの目的の違い 18 n 教師なし u データセット全体の特徴を 何となく把握する u 取ってきたデータでOK,楽 u 計算機の論理(数学)で 処理するので人間にとって 意味ある形にならないことも u 教師あり の前処理として 使用することも n 教師あり u 対応関係からルールを作成 未知データを判断 u 対応データがいる u シンプルなので使いやすい 使用者側で向き・不向きを考えて 適切に使い分けていくことが大事

Slide 19

Slide 19 text

本当に雑な,教師なし 使いどころ u もらったデータを可視化してみた u なんか,グループはありそうなんだけど… u こういうときに “教師なし” の “クラスタリング” 19 Original Data Clustered Data ※ 3つの正規分布から作成したデータを k-means で k=3 として分類した例

Slide 20

Slide 20 text

本当に雑な,教師あり の捉え方 u 目標値(教師データ)と 予測のズレ(誤差)を 最小化 p 誤差=f(データ) を 最小化する 数理最適化問題 • 最初はとりあえず適当に的を撃ってみる • 目標とのズレを計測して,もう少し下を狙うとか調整する • また撃ってみて,今度はもう少し左を狙うとか調整する • (良い感じに当たるまで繰り返し) 20

Slide 21

Slide 21 text

ここまでで紹介していなかった他の話題 n 強化学習 u 行動を学習する仕組み u 教師あり学習に似るが,一連の行動の結果を最大化する ように学習するという点で異なる p 例えば最終目的がゴール地点での得点最大化であって, それに有効なら途中の経路で一時的に得点を下げることもする 何らかの行動 報酬 何か操作をすると,その結果として報酬が与えられ, それを最大化するように学習をしていく 21

Slide 22

Slide 22 text

強化学習 u 1回動くごとに -10pt u 緑のマスを踏むと +20pt,赤は+30pt,青は+10pt,灰色は0pt u 一度通ったパネルは灰色に変化 n こんなルールを与えると,最適な移動ルールを見つけ出す Start Goal 22

Slide 23

Slide 23 text

教師あり学習の例 23

Slide 24

Slide 24 text

k-NN (Nearest Neighbor) n 単純でわかりやすい 教師あり学習 u “k近傍法”とも呼ばれる p よく似た名前の k-means と混同しないように注意 p ここでの NN は Neural Network の略ではない n 近くのデータから,未知データのクラスを推定する u 散布図として表現できる系統のデータに対しては, だいたい適用できると思ってよい 24

Slide 25

Slide 25 text

k-NN 教師データとして,N個(上の例では2)のグループのデータがあるとする C1 C2 25

Slide 26

Slide 26 text

k-NN 未知の点 が与えられたとして,どのグループに所属させるべきか?? とりあえず,近くの教師点と同じグループにしておけばよさそう ← 最近傍の 1点だけだと心許ないから,何点かみて多い方にしよう = k-NN C1 C2 26

Slide 27

Slide 27 text

k-NN k=1 (近くの1点のみ参照)の場合 :C1 k=2 (近くの2点を参照)の場合 :C1とC2 が同率 k=3 (近くの3点を参照)の場合 :C1 k=1 k=2 k=3 C1 C2 27

Slide 28

Slide 28 text

SVM : Support Vector Machine n 古典的な 教師あり学習 u 基本的には 2値分類 のための手法 p Aか,それ以外か,のような2つのグループの判別 n 2つのグループをうまく分割できる境界を探す u 基本的には線形分離しかできない u …が,あるトリックを用いると非線形もいける p 多値分類ができるものなど,派生形もいろいろ 28

Slide 29

Slide 29 text

SVM 2つのグループの間の距離が最大になるような境界線を探す C1 C2 で囲まれた,境界線設定に必要な2つの点がサポートベクトル (境界線の設定をサポートしている) 29

Slide 30

Slide 30 text

SVM 未知データが与えられた場合,単にこの境界のどちらにあるかで, 所属するグループを割り付ける C1 C2 30

Slide 31

Slide 31 text

SVM このデータは線形分離(直線で2つにわけること)ができないが, あるトリック※を用いると,このタイプのデータも分類できる C1 C2 ※ カーネルトリック 31

Slide 32

Slide 32 text

SVM うまく分離できるような高次元空間に写像し,その空間で境界を探索する C1 C2 32

Slide 33

Slide 33 text

教師なし学習の例 33

Slide 34

Slide 34 text

k-means n 単純でわかりやすい 教師なし学習 u “k平均法”とも呼ばれる p よく似た名前の k-NN と混同しないように注意 n データを指定した個数のグループに分ける u 散布図として表現できる系統のデータに対しては, だいたい適用できると思ってよい 34

Slide 35

Slide 35 text

k-means まず,この散布図を眺めていくつのグループに分けさせるか決める (ここは,人間が任意の数を指定する) グループの数=k ここだけは人間 この先は機械が自動で実施 35

Slide 36

Slide 36 text

k-means ランダムにデータ点をグループ分け (ここでは仮に k=2 とし,それぞれ k1 , k2 と名付ける) k1 k2 36

Slide 37

Slide 37 text

k-means 全部のデータ点がいずれかのグループに振り分けられたので完成! …と,いいたいところだがもう少し作業が続く k1 k2 37

Slide 38

Slide 38 text

k-means 各グループ(ここでは k1,2 )の重心点を求める ※ 点群の重心点は各座標値の平均 k1 k2 k1 k2 38

Slide 39

Slide 39 text

k-means データ点から各重心までの距離を計算し, 所属グループを最寄りの重心点に変更する k1 k2 k1 k2 k1 の方に近いので, このデータ点は k1 グループ 39

Slide 40

Slide 40 text

k-means 再び重心位置の計算と,所属グループの変更を行う この操作を重心位置が安定するまで繰り返し k1 k2 k1 k2 40

Slide 41

Slide 41 text

k-means 原理的に直線で分離できないような問題への適用は困難 上の図では,内側の円と,外側の円でグループを作る方が自然だが, この状態で k-means を適用してもうまく分離できない 41

Slide 42

Slide 42 text

k-means n ボトムアップにボロノイ図を 作成している,と言ってよい 42

Slide 43

Slide 43 text

GMM : Gaussian Mixture Model n 確率モデルに基づく 教師なし学習 u いわゆる“ソフトクラスタリング”の手法 p AかBか,ではなく,Aの確率80% Bの確率20% のような分類 n データがある確率分布から生成されているとする u グループごとに確率密度関数を持っている u 観測されたデータはそこから出てきたものだとする 43

Slide 44

Slide 44 text

GMM 2次元だと可視化が大変なので,この先は1次元に簡略化して図示 44

Slide 45

Slide 45 text

GMM 2次元だと可視化が大変なので,この先は1次元に簡略化して図示 45

Slide 46

Slide 46 text

GMM いくつの正規分布がありそうか(グループ数はいくつか)は 人間側が任意に与える (k-meansなどと同じ) 46

Slide 47

Slide 47 text

GMM 分布形状は正規分布であると仮定して, いい感じにあり得そうなパラメータ(μ,σ)を算出 ← イメージ的には k-means的な操作で適当なものから徐々に絞り込み C1 C2 47

Slide 48

Slide 48 text

…この感じで原理もある程度見つつ, 手法を見ていくと時間がないので, あとはざっくり,有名どころの手法を紹介 ここまでの話題に興味のある方は AIST 神嶌(かみしま)先生の 下記の講義資料を見ると良いでしょう。 https://www.kamishima.net/jp/kaisetsu/ (※ 特に「データマイニング」「クラスタリングに関する講義資料」の2つ) あるいは,初回で参考書にあげた「イラストで学ぶ機械学習」は 数式的な解説もしっかりしていて良いでしょう。 48

Slide 49

Slide 49 text

ここまでのまとめ n 機械学習 は 数値 をうまく分けるか推定する技術 u 分ける系は,基本的に距離や正解データにもとづいて 良い感じの境界線を見つけるようなことをする p 教師あり は 正解データとの誤差を最小化する p 教師なし は 近くの人同士でグループを作る u 推定する系は,基本的に回帰分析 p 与えられたデータを全部通る・近くを通る関数を探して, 既知の値のセットから,未知の値を推定する 49

Slide 50

Slide 50 text

決定木 n 分類や回帰を行うための木構造を学習する PC所持? OS プログラマ 年齢 持ち物 一般人 持ち物 yes no UNIX/Linux >60 Other Other アーティスト? 一般人 ペンタブ・MIDI スパイ スマホ 大学生 50

Slide 51

Slide 51 text

ランダムフォレスト n 分類やクラスタリング,回帰を行うための木構造を学習する u 特徴量のうち,いくつかをランダムに選んで(バギング) それら小数の特徴量で決定木(弱学習器)をたくさん作る u 決定木の多数決(アンサンブル学習)で最終の出力を定める 答えはA 答えはB 答えはC 答えはB 答えはA 答えはA 答えはB 答えはC Aという判定が多いので,Aを採用! 特徴量が増えるほど,全部を生かそうとすると難しい…みたいなことが起きる。 弱学習器を多数用いることで,相互の欠点をうまく打ち消せるため高精度に! 51

Slide 52

Slide 52 text

XGBoost n 分類やクラスタリング,回帰を行うための木構造を学習する u ランダムフォレストと少し似ているが,入れ子構造 p ブースティング といわれるテクニックを用いる u 2018年くらいから人気の手法で,迷ったらとりあえず使う位の勢い うまく分類できない部分に 勾配ブースティング という手法で重みをつけて, 誤差補正用の決定木を作って,その補正用の…を何度か繰り返した後,分類をしていく…というイメージ。 勾配の部分で用いる 勾配降下法 は 別の回で学ぶ,ニューラルネットとも関連 ほしかった結果とのズレから 決定木のルールを見直し ほしかった結果とのズレから 決定木のルールを見直し ほしかった結果とのズレから 決定木のルールを見直し 最終的に,これらを組み合わせてジャッジ! 52

Slide 53

Slide 53 text

その他 n 線形回帰 u 回帰(数値の予測)につかう.初学者勉強用 p 変数をダミー化してステップワイズ選択などすると説明力は高い n 階層クラスタリング u クラスタリング手法,系統図のような形でクラスタを生成する n ナイーブベイズ u ベイズの定理に基づいて分類を行う n LightGBM u XGBoostの弟くらいの認識でOK n CatBoost u LightGBMの弟くらいの認識でOK p 分類尺度の扱いが上手らしい n k-Shape u 波形のクラスタリング n ARIMA u 時系列データの予測 n Prophet u 時系列データの予測 ※ これらはごく一例で他にも様々な手法が存在。目的やデータの種類,手法の長短に照らして適切な手法を選ぶ。 53

Slide 54

Slide 54 text

こんな時にはこの手法! ※ scikit-learn は Python で手軽に使える機械学習のライブラリ。 緑の枠で囲まれたリーフノードがscikit-learnが勧める手法の名前。 必ずしもベストに見えないが,この表を使って選べば大失敗はない。 54

Slide 55

Slide 55 text

関連する話題 n 次元圧縮 u 特徴量は高次元になりがちで,人間が理解したり, 効率的な学習のためにも低次元に写像できると便利 p 主成分分析,因子分析 (安心・安定の基礎的手法) p 多次元尺度法(データ数が数百までならこれ) p t-SNE(データ数が数万などでも余裕,だが非推奨) p UMAP(数千万などでも大丈夫。多次元尺度法がダメならこれ) n 異常値検知・変化点抽出 u 外れ値の検出や,時系列データの変化点を見つける n 因果推論 u ベイジアンネットワーク,LinGAM 55

Slide 56

Slide 56 text

教師あり学習の評価 n 再現性と予測精度で評価 n 再現性 u 教師データをどのくらい正確に再現できるか? n 予測精度 u 学習に使っていないデータをどのくらい予測できるか? u わからないから予測するのでは?なにいってるの?? u 再現性が良いってことは,予測が上手なのでは? 56

Slide 57

Slide 57 text

過学習 n 学習データに過剰に適合すること u 教師データはあくまで現実の一部 u 教師データの再現に注力し過ぎると未知データについて, うまく分類できなくなってしまう p ノイズなどもまじっているので100%再現がベストではない 粗すぎる 適切 過剰 57

Slide 58

Slide 58 text

予測精度の予測方法 n 正解がなければ,精度は計算できない u 未知データの予測精度をどう算出するか? u 持ってるデータ全部で学習をさせないといけない… というルールはない p もともと持ってるデータも,観測可能な全データの一部 p 観測可能な全データがあるなら,そもそも予測は不要 u 持ってるデータのうち例えば9割くらいで学習させ, その結果を使って,のこり1割のデータの結果を予測 ホールドアウト という 明日の朝ご飯用に おかずは全部食べずに 少し残しておこう 58

Slide 59

Slide 59 text

交差検証:クロスバリデーション n しかしさらなる問題も u 予測用に取り分けた1割が,偶然にも ものすごく偏った 異常値だったりしたらどうしよう… u データの抽出範囲を何度か変えて調べれば, この不安は解消できるはず! テスト用 学習用 パタン1 パタン2 パタンn … 各結果の平均値を 最終的な予測精度にする データの分割数を k として k-Fold の 交差検証 ともいう 左は 5 Fold の交差検証 予測精度1 予測精度2 予測精度n 59

Slide 60

Slide 60 text

交差検証が最強? n 交差検証を見ると,これがベストな気が… u データの投入順序が関係ないモノなら, 交差検証をおこなって置けば概ねOK u 時系列のデータなどで,前の状態から次を予測する, と言うようなケースでは,ホールドアウトしか使えない 60 目的に応じて, 適切な指標を選ぶ必要

Slide 61

Slide 61 text

正解の考え方もいろいろ n ここまで予測精度と再現性とざっくり説明 n より正確には以下の4指標に整理できる u 正解率 Accuracy :予測が当たった割合 u 適合率 Precision :正と予測したうち実際に正の割合 u 再現率 Recall :正であるものを正と予測した割合 u F値 F-measure :適合率と再現率の調和平均 61 正解率はわかるが,他はなにいってるか分からない…

Slide 62

Slide 62 text

正解の考え方いろいろ n 正解・不正解を見る場合,上記の4状態が発生 u Aであるモノを正しくAに分類できた (TP) u Aであるモノを誤ってA以外に分類した (FN) u Aでないモノを正しくA以外に分類できた (TN) u Aでないモノを誤ってAに分類した (FP) 62 Positive Negative Positive 真陽性 Truth Positive (TP) 偽陰性 False Negative (FN) Negative 偽陽性 False Positive (FP) 真陰性 Truth Negative (TN) 予測値 真値 (実際の値) 統計で学ぶ,第1種の過誤と第2種の過誤

Slide 63

Slide 63 text

正解の考え方いろいろ 63 Positive Negative Positive 真陽性 Truth Positive (TP) 偽陰性 False Negative (FN) Negative 偽陽性 False Positive (FP) 真陰性 Truth Negative (TN) 予測値 真値 (実際の値) 適合率 再現率 正解率 = ( TP + TF ) / ( TP + FP +TN + FN ) 適合率 = TP / ( TP + FP ) 再現率 = TP / ( TP + FN ) F値 = ( 2 * 適合率 * 再現率) / (適合率 + 再現率)

Slide 64

Slide 64 text

なんでこんなことを考える必要が? n 例えば,なにか危険な伝染病が流行… u ケース1 p 感染していないのに,誤って感染と判定する確率 25% p 感染している場合に,正しく感染と判定する確率 100% u 正解率:0.875 = 約88% 64 Positive Negative Positive 100% Truth Positive (TP) 100-100% False Negative (FN) Negative 25% False Positive (FP) 100-25% Truth Negative (TN) 予測値 真値 (実際の値)

Slide 65

Slide 65 text

なんでこんなことを考える必要が? n 例えば,なにか危険な伝染病が流行… u ケース2 p 感染していないのに,誤って感染と判定する確率 5% p 感染している場合に,正しく感染と判定する確率 90% u 正解率:0.925 = 約93% 65 Positive Negative Positive 90% Truth Positive (TP) 100-90% False Negative (FN) Negative 5% False Positive (FP) 100-5% Truth Negative (TN) 予測値 真値 (実際の値)

Slide 66

Slide 66 text

なんでこんなことを考える必要が? n 感染症では,感染してる人が出歩くとまずい! u 正解率で見ると ケース2 の方がよい (93%) が, 正解率 88% でも ケース1 の方がよい n これらは単に正解率を見るのでは不十分なケース u ケース1: p 適合率:80% 再現率:100% u ケース2: p 適合率:95% 再現率: 90% 66 目的に応じて, 適切な指標を選ぶ必要

Slide 67

Slide 67 text

距離 n 教師あり・なし を考える上で重要そうな概念 u なんやかんやで,正解との距離を最小・最大化するとか 距離が近いもの同士でまとめていく…といった話題が 多く扱われる n 距離にもいろいろな種類が… u L1距離(マンハッタン距離とも。格子上で左に3,上に1のようなもの) u L2距離(ユークリッド距離とも。普通にいうところの最短距離) u チュエビシェフ距離,ミンコフスキー距離,マハラノビス距離 u … ここではこれ以上踏み込まないが, 距離を測る前に,そもそも適切な距離の種類も考える必要 67

Slide 68

Slide 68 text

いろいろな距離の例 68 https://towardsdatascience.com/9-distance-measures-in-data-science-918109d069fa 主要なモノ9つのみ。他にも色々。

Slide 69

Slide 69 text

これは何の講義だったか… n 人工知能の講義だったはずで,最初は “知能” や, “記号” などをいろいろ見てきた n が,今回の 機械学習 は 知能 とどう関係するのか? u 機械学習はむしろ 数学とか,統計の問題なのでは?? n そのとおり u 機械学習は必ずしも人工知能だけのテーマではない p 統計数理などの分野の問題でもある u “記号は世界を同値類に分けるもの” であるとか, 知能は “環境との相互作用” という面からは人工知能 69

Slide 70

Slide 70 text

立場によって見方が変わる n 機械学習の研究にも複数のアプローチ u 知能の話とは独立に 数理最適化問題 などとして, 研究することもできるし,いろいろなことに使える u 知能を探求する上で必要な要素として, 機械学習を研究したり使用することもできる データサイエンティスト 人工知能研究者 同じ山を登っているが, 途中の景色を楽しみたい派 と 山ご飯を楽しみたい派 では それぞれ目的が異なる。 ※ 実際には別にどっちかに決めなくても,状況によって好き・便利な立場を取れば良いです。景色と山ご飯,両方もアリ J 70

Slide 71

Slide 71 text

使うだけならとっても簡単 n 操作は簡単4ステップ u 1. データを用意する u 2. プログラムにデータを読み込ませる u 3. 所望の手法にかける u おしまい ※ ライブラリに実装されている,基本的な手法をちょっと試す位の意味で。 ※ 食材を用意 自動調理 食べる このくらいの簡単さ! 71

Slide 72

Slide 72 text

データを用意する n 例えばこんな感じ u 各列が何らかの特徴量に対応 今回はサンプルとして,2次元(特徴量が2つ)ですが,数百次元などでもOKです 3dnormdata.csv というファイルだとする プロットするとこんな感じ K-Meansの例 72

Slide 73

Slide 73 text

ちょっとだけプログラムを書く n 例えばこんな感じ u ファイル名以外はコピペでOKなので覚えることは少ない 1番目のデータはクラス1,2番目も1,…最後は0,みたいな クラスタリングした結果が記載されている K-Meansの例 73

Slide 74

Slide 74 text

完成! n これでおしまい Original Data Clustered Data K-Meansの例 74

Slide 75

Slide 75 text

データを用意する n 例えばこんな感じ u 各列が何らかの特徴量に対応,正解ラベルも用意 今回は既存の白ワインの特徴と品質データを利用,特徴量は11種類 RandomForest の例 白ワインの特徴データ 対応する品質データ 75

Slide 76

Slide 76 text

ちょっとだけプログラムを書く n 例えばこんな感じ u ファイル名以外はコピペでOKなので覚えることは少ない RandomForest の例 テスト用にあらかじめ取っておいた 5件のデータを入れてみると, それぞれ品質は… 6,5,5,7,6 ちなみに正解は… 6,5,6,7,6 76

Slide 77

Slide 77 text

完成! n これでおしまい RandomForest の例 ページが余ったのでおまけ。 特徴量ごとのデータの分布や,相関の図も1-2行書くだけで作成してくれる。 Excel で できる作業は Excel で良いが,こうした作業にはPythonやRが便利 77

Slide 78

Slide 78 text

Pythonを独習するには? n paiza learning というサービスがオススメ u 3分くらいの講義動画と,練習問題で勉強可能 p 基本的なことは無料で勉強できる p 最悪スマホでも,頑張ればいけなくもない 78 https://paiza.jp/works/ 「講座一覧」→「 Python3入門編」

Slide 79

Slide 79 text

Pythonを手軽に使うには? n 自分の PC に Python をインストールするのは面倒 u Google の オンライン環境 colaboratory がオススメ p データを読み込ませるところだけちょっと面倒 • だがそこさえ頑張れば,とても便利に使える。深層学習もOK! p GMailのアカウントがあれば無料 79 https://colab.research. google.com/ 「google colab」で検索