はじめての機械学習

Similar documents
Presentation Title

MATLAB®製品紹介セミナー

MATLAB ではじめる画像処理とロボットビジョン ~ 機械学習による物体認識と SLAM~ MathWorks Japan アプリケーションエンジニアリング部信号処理 通信 木川田亘 2015 The MathWorks, 1Inc.

f2-system-requirement-system-composer-mw

SimulinkによるReal-Time Test環境の構築

040402.ユニットテスト

AI技術の紹介とセンサーデータ解析への応用

PowerPoint Presentation

Microsoft PowerPoint - pr_12_template-bs.pptx

1. 多変量解析の基本的な概念 1. 多変量解析の基本的な概念 1.1 多変量解析の目的 人間のデータは多変量データが多いので多変量解析が有用 特性概括評価特性概括評価 症 例 主 治 医 の 主 観 症 例 主 治 医 の 主 観 単変量解析 客観的規準のある要約多変量解析 要約値 客観的規準のな

Microsoft Word - 卒論レジュメ_最終_.doc

2008 年度下期未踏 IT 人材発掘 育成事業採択案件評価書 1. 担当 PM 田中二郎 PM ( 筑波大学大学院システム情報工学研究科教授 ) 2. 採択者氏名チーフクリエータ : 矢口裕明 ( 東京大学大学院情報理工学系研究科創造情報学専攻博士課程三年次学生 ) コクリエータ : なし 3.

多変量解析 ~ 重回帰分析 ~ 2006 年 4 月 21 日 ( 金 ) 南慶典

ビッグデータ分析を高速化する 分散処理技術を開発 日本電気株式会社

Introduction to System Identification

0 部分的最小二乗回帰 Partial Least Squares Regression PLS 明治大学理 学部応用化学科 データ化学 学研究室 弘昌

Microsoft PowerPoint - 【最終提出版】 MATLAB_EXPO2014講演資料_ルネサス菅原.pptx

Microsoft PowerPoint - H17-5時限(パターン認識).ppt

因子分析

製品開発の現場では 各種のセンサーや測定環境を利用したデータ解析が行われ シミュレーションや動作検証等に役立てられています しかし 日々収集されるデータ量は増加し 解析も複雑化しており データ解析の負荷は徐々に重くなっています 例えば自動車の車両計測データを解析する場合 取得したデータをそのまま解析

Using VectorCAST/C++ with Test Driven Development

Microsoft Word - 1 color Normalization Document _Agilent version_ .doc

0 21 カラー反射率 slope aspect 図 2.9: 復元結果例 2.4 画像生成技術としての計算フォトグラフィ 3 次元情報を復元することにより, 画像生成 ( レンダリング ) に応用することが可能である. 近年, コンピュータにより, カメラで直接得られない画像を生成する技術分野が生

SimscapeプラントモデルのFPGAアクセラレーション

切片 ( 定数項 ) ダミー 以下の単回帰モデルを考えよう これは賃金と就業年数の関係を分析している : ( 賃金関数 ) ここで Y i = α + β X i + u i, i =1,, n, u i ~ i.i.d. N(0, σ 2 ) Y i : 賃金の対数値, X i : 就業年数. (

tokyo_t3.pdf

どのような便益があり得るか? より重要な ( ハイリスクの ) プロセス及びそれらのアウトプットに焦点が当たる 相互に依存するプロセスについての理解 定義及び統合が改善される プロセス及びマネジメントシステム全体の計画策定 実施 確認及び改善の体系的なマネジメント 資源の有効利用及び説明責任の強化

ANOVA

Microsoft PowerPoint - 統計科学研究所_R_重回帰分析_変数選択_2.ppt

Microsoft PowerPoint - 統計科学研究所_R_主成分分析.ppt

Presentation Title

Oracle SQL Developerの移行機能を使用したOracle Databaseへの移行

0 スペクトル 時系列データの前処理 法 平滑化 ( スムージング ) と微分 明治大学理 学部応用化学科 データ化学 学研究室 弘昌

Microsoft PowerPoint - 発表II-3原稿r02.ppt [互換モード]

Rの基本操作

Microsoft PowerPoint - R-stat-intro_04.ppt [互換モード]

板バネの元は固定にします x[0] は常に0です : > x[0]:=t->0; (1.2) 初期値の設定をします 以降 for 文処理のため 空集合を生成しておきます : > init:={}: 30 番目 ( 端 ) 以外については 初期高さおよび初速は全て 0 にします 初期高さを x[j]

クラス図とシーケンス図の整合性確保 マニュアル

DVIOUT

PowerPoint プレゼンテーション

Microsoft PowerPoint - mp11-06.pptx

アウトライン イントロダクション - ユーザインタフェース概要 - サポートファイルフォーマット - 編集 インポートデータ 最適化 AB g モデル - クイックスタート 例題 1:TracePro candela file ->ABg プロパティと非対称テーブル BSDF プロパティ例題 2:O

MATLAB EXPO 2019 Japan プレゼン資料の検討

Autodesk Inventor Skill Builders Autodesk Inventor 2010 構造解析の精度改良 メッシュリファインメントによる収束計算 予想作業時間:15 分 対象のバージョン:Inventor 2010 もしくはそれ以降のバージョン シミュレーションを設定する際

データセンターの効率的な資源活用のためのデータ収集・照会システムの設計

スライド 1

様々なミクロ計量モデル†

CodeRecorderでカバレッジ

Presentation Title

Signal Processing Toolbox

Gatlin(8) 図 1 ガトリン選手のランニングフォーム Gatlin(7) 解析の特殊な事情このビデオ画像からフレームごとの静止画像を取り出して保存してあるハードディスクから 今回解析するための小画像を切り出し ランニングフォーム解析ソフト runa.exe に取り込んで 座標を読み込み この

Microsoft PowerPoint ppt

Microsoft Word - SPARQアプリケーションノートGating_3.docx

(Microsoft PowerPoint - - ver3.pptx)

航空機の運動方程式

Microsoft PowerPoint - 資料04 重回帰分析.ppt

PowerPoint Presentation

LMSシリーズ LMS1000, 製品群一覧

PowerPoint Presentation

スライド 1

Rational Roseモデルの移行 マニュアル

データサイエンス講座第 3 回機械学習その 2 ロジスティクス回帰 カーネル法とサポートベクターマシン アンサンブル学習

PowerPoint プレゼンテーション

Chapter カスタムテーブルの概要 カスタムテーブル Custom Tables は 複数の変数に基づいた多重クロス集計テーブルや スケール変数を用いた集計テーブルなど より複雑な集計表を自由に設計することができるIBM SPSS Statisticsのオプション製品です テーブ

Slide 1

Microsoft PowerPoint - R-stat-intro_12.ppt [互換モード]

for (int x = 0; x < X_MAX; x++) { /* これらの 3 つの行は外部ループの自己データと * 合計データの両方にカウントされます */ bar[x * 2] = x * ; bar[(x * 2) - 1] = (x - 1.0) *

3 カーソルの下に 点 という文字が現われます 地図を拡大して点データを作成したい地点にカーソルを動かしクリックします 4 属性情報の確認 変更 ダイアログが表示されます 必要事項を入力し OK をクリックします 全ての項目を入力する必要はありません 必要な項目のみ入力して下さい いろいろな記号が用

コンピュータ応用・演習 情報処理システム

ボルツマンマシンの高速化

分析のステップ Step 1: Y( 目的変数 ) に対する値の順序を確認 Step 2: モデルのあてはめ を実行 適切なモデルの指定 Step 3: オプションを指定し オッズ比とその信頼区間を表示 以下 このステップに沿って JMP の操作をご説明します Step 1: Y( 目的変数 ) の

PowerPoint プレゼンテーション

モータ HILS の概要 1 はじめに モータ HILS の需要 自動車の電子化及び 電気自動車やハイブリッド車の実用化に伴い モータの使用数が増大しています 従来行われていた駆動用モータ単体のシミュレーション レシプロエンジンとモータの駆動力分配制御シミュレーションの利用に加え パワーウインドやサ

簿記教育における習熟度別クラス編成 簿記教育における習熟度別クラス編成 濱田峰子 要旨 近年 学生の多様化に伴い きめ細やかな個別対応や対話型授業が可能な少人数の習熟度別クラス編成の重要性が増している そのため 本学では入学時にプレイスメントテストを実施し 国語 数学 英語の 3 教科については習熟

Microsoft PowerPoint - SPECTPETの原理2012.ppt [互換モード]

フィードバック ~ 様々な電子回路の性質 ~ 実験 (1) 目的実験 (1) では 非反転増幅器の増幅率や位相差が 回路を構成する抵抗値や入力信号の周波数によってどのように変わるのかを調べる 実験方法 図 1 のような自由振動回路を組み オペアンプの + 入力端子を接地したときの出力電圧 が 0 と

画像類似度測定の初歩的な手法の検証

DVIOUT

円筒面で利用可能なARマーカ

ダンゴムシの 交替性転向反応に 関する研究 3A15 今野直輝

スライド 1

次に示す数値の並びを昇順にソートするものとする このソートでは配列の末尾側から操作を行っていく まず 末尾の数値 9 と 8 に着目する 昇順にソートするので この値を交換すると以下の数値の並びになる 次に末尾側から 2 番目と 3 番目の 1

PowerPoint Presentation

ダウンロード方法アルテラのソフトウェアをインストールするためのダウンロード ファイルには以下の種類があります.tar フォーマットのソフトウェアとデバイス ファイルの完全なセット ダウンロードとインストールをカスタマイズするための個別の実行ファイル ディスクに焼いて他の場所にインストールするための

ソフト活用事例③自動Rawデータ管理システム

Transcription:

一直線に進むことはめったにない 機械学習においては 最初から最後まで迷わず一直線に進むということはめったにありません 常にさまざまなアイデアや方法を繰り返し試すことになるでしょう このセクションでは いくつかの重要な決定ポイントに注目しつつ 機械学習の体系的なワークフローについて説明します

機械学習の課題 機械学習における課題の大部分は データ処理と正しいモデルの発見に関連しています データの形式や規模は均一ではありません 実世界のデータセットは 乱雑で 不完全で フォーマットもさまざまです シンプルな数値データのみの場合もあるかもしれません しかし センサー信号 テキスト カメラからのストリーミング画像など さまざまな種類のデータを組み合わせる場合もあるでしょう データ処理には 専門的な知識やツールが必要になる場合があります 例えば 特徴量を抽出して物体検出アルゴリズムの学習を行うためには 画像処理の専門知識が必要です データの種類によって必要な前処理の方法も異なります データに最も適したモデルを見つけるには時間がかかります 適切なモデルを選択するためには バランスを取る必要があります 柔軟性が高いモデルは データに過適合し ノイズの可能性がある些細な差異をモデル化してしまう傾向があります 一方で シンプルなモデルとすると 単純化の仮定が多くなり過ぎている可能性があります モデルの実行速度と精度と複雑さは 常にトレードオフの関係にあるのです 手強そうに聞こえますね でも 心配はいりません 試行錯誤が機械学習の核心であることを思い出しましょう もし ある方法やアルゴリズムが上手くいかなかったら 別の方法やアルゴリズムを試せばよいのです そして 体系的なワークフローを知っていれば スムーズなスタートを切ることができるでしょう 3

始める前に考慮すべき点 機械学習のワークフローは 必ず次の 3 つの点を明らかにするところから始まります どのような種類のデータを扱うのか そのデータから どのようなインサイトを導き出したいのか 導き出したインサイトを どこで どのように活用するのか 上記の点に基づいて 教師あり学習 教師なし学習のどちらを利用するのかを検討します 教師あり学習 機械学習 教師なし学習 予測 ( 例えば 温度や株価などの連続型変数の将来値の推定 ) や分類 ( 例えば ウェブ動画に映っている自動車の型式の特定 ) を行うモデルの学習が必要な場合は 教師あり学習を選択します 回帰 分類 入力データを詳しく調べる必要がある場合や データをクラスターに分けるなど データの適切な内部表現を見出すモデルの学習が必要な場合は 教師なし学習を選択します 4

ワークフローの概要 1. データにアクセスし 読み込む 4. ステップ 3 で抽出した特徴量を用いてモデルの学習を行う 2. データの前処理を行う 5. 最適なモデルが見つかるまで繰り返す 3. 前処理したデータから特徴量を抽出する 6. 最も上手く学習されたモデルをプロダクションシステムに組み込む 次のセクションでは 健康管理アプリを例に 各ステップをより詳しく説明します このワークフローは全て MATLAB 内で完結します 5

身体活動の分類を行うモデルのトレーニング 携帯電話の健康管理アプリを例にとって説明します 入力は 携帯電話の加速度計とジャイロスコープからの 3 軸センサーデータで構成されます 応答 ( 出力 ) は 歩く 立つ 走る 階段を上る 横になる などの活動です 入力データを用いて 上記のような活動を特定する分類モデルの学習を行う必要があります 目標が分類なので 教師あり学習を採用します 学習が済んだモデル ( 分類器 ) は 1 日を通してユーザーの活動レベルを追跡するアプリに組み込まれます 機械学習 6

1 ステップ 1: データを読み込む 加速度計とジャイロスコープからデータを読み込むために 以下を行います 1. 携帯電話を持って座ります 電話からのデータを記録し そのデータを 座る (Sitting) とラベルを付けたテキストファイルに保存します 2. 携帯電話を持って立ち上がります 電話からのデータを記録し そのデータを 立つ ( Standing) とラベルを付けた 2 番目のテキストファイルに保存します 3. 分類したい各活動のデータが全て保存できるまで 上記のステップを繰り返します ラベルの付いたデータセットを ひとつのテキストファイルに保存します テキスト形式や CSV などのフラットファイルフォーマットで保存すると その後の処理が容易になり データを簡単にインポートできます 機械学習アルゴリズムは ノイズと意味ある重要な情報とを区別できるほど賢くはありません 収集したデータを用いて学習を行う前に データにノイズがなく 完全であることを確かめる必要があります 7

2 ステップ 2: データの前処理を行う データを MATLAB にインポートし ラベルの付いたそれぞれのセットをプロットします データの前処理のために 以下を行います 1. 異常値 すなわち他のデータから離れた位置にあるデータポイントを探します 異常値を無視してよいのか あるいは その異常値はモデルが考慮すべき現象を表しているのかを見極めなければなりません ここに例として示したデータの場合は 異常値を無視しても問題ありません ( データの記録中に被験者が無意識に体を動かしてしまったために 異常値が現れたのです ) 2. 欠損値 ( 記録中に接続が切れたために失われたと思われるデータ ) を調べます 欠損値を全く無視しても構いませんが それではデータセットのサイズが小さくなってしまいます 代わりに 内挿を行ったり 他のサンプルの相当する部分のデータを使用したりして欠損値を推定して補うこともできます 活動追跡データの異常値 異常値が決定的に重要な情報となるアプリケーションもたくさんあります 例えば クレジットカード不正利用検出アプリでは 異常値はその顧客の通常の購買パターンから外れた購入であることを表しています 8

2 ステップ 2: データの前処理を行う ( 続き ) 3. 作成したアルゴリズムが 携帯電話の動きではなく 被験者の動きのみに着目できるように加速度計データから重力の効果を除きます そのためには 通常 双二次フィルターなどシンプルなハイパスフィルターを使用します 4. データを 2 つのデータセットに分けます データの一部をテスト用に保存します ( テスト用データセット ) 残り ( 学習用データセット ) はモデルの構築に使用します この方法はホールドアウト法と呼ばれる交差検証法の 1 つです モデル化のプロセスで使用しなかったデータを用いてモデルのテストを行うことで 未知のデータに対してどのような動作をするのかをチェックします 9

3 ステップ 3: 特徴量を抽出する 特徴量の抽出 ( 特徴量エンジニアリングまたは特徴抽出とも呼ばれる ) は 機械学習において最も重要な部分のひとつです この作業によって 生データを機械学習のアルゴリズムが利用できる情報へと変換します アクティビティトラッカー ( 活動量計 ) の場合は 加速度計データの周波数成分を捕捉した特徴量を抽出する必要があります これらの特徴量は アルゴリズムが 歩いている状態 ( 周波数が低い ) と 走っている状態 ( 周波数が高い ) とを区別する上で役立ちます 抽出した特徴量をまとめた新たな表を作成します 特徴選択を通じて 以下を行います 機械学習アルゴリズムの精度を向上させます 高次元データセットに対するモデルの性能を高めます モデルの解釈のしやすさを向上させます 過適合を防ぎます 10

3 ステップ 3: 特徴量を抽出する ( 続き ) 抽出できる特徴量は 想像力次第で変わります しかし データの種類によって一般的によく用いられる手法というものがあります データの種類特徴選択作業手法 センサーデータ 生のセンサーデータから信号特性を抽出し 高度な情報に変換 ピーク分析 - 高速フーリエ変換によって 卓越周波数を特定 パルスおよび遷移指標 - 立ち上がり時間 立ち下がり時間 整定時間などの信号特性を抽出 スペクトル測定 - 信号電力 帯域幅 平均周波数 中央周波数をプロット 画像 映像データ エッジ位置 分解能 色などの特徴を抽出 Bag of visual words-エッジ 角 ブロブなど 画像の局所的特徴のヒストグ ラムを作成 勾配方向ヒストグラム ( HOG)- 局所的な勾配の方向のヒストグラムを作成 最小固有値アルゴリズム - 画像の角の位置を検出 エッジ検出 - 輝度が急に変化するポイントを特定 トランザクションデータデータ内の情報を強化する抽出値を計算タイムスタンプ分解 - タイムスタンプを日 月などの成分に分解 合算値計算 - 特定の事象が起こった合計回数など 高度な特徴を算出 11

4 ステップ 4: モデルの構築 学習を行う モデルの構築にあたっては シンプルな方法から始めるのがいいでしょう その方が 実行時間が短く 解釈もより簡単になります 基本的な決定木から始めます モデルの性能を調べるために混同行列を作成します 混同行列は モデルが行った分類とステップ 1 で作成した実際のクラスラベルとを比較した表です 特徴 53<335.449 特徴 53>=335.449 座っている >99% 立っている 99% 特徴 3<2.50002 特徴 3>=2.50002 特徴 56<12686 特徴 56>=12686 特徴 11<0.45 特徴 11>=0.45 立っている座っている歩いている 真のクラス 歩いている走っている >99% 1% 93% 5% 踊っている 40% 59% 走っている 踊っている 座っている 立っている 歩いている 踊っている走っている 予測したクラス 混同行列から 作成したモデルでは踊っている状態と走っている状態の区別に問題があることが分かります このタイプのデータに対しては 決定木は上手く機能しないのかもしれません そこで 他のいくつかのアルゴリズムを試してみます 12

4 ステップ 4: モデルの構築 学習を行う ( 続き ) まず k 近傍法 ( KNN) を試してみます KNN はシンプルなアルゴリズムで 学習用データを全て読み込み 新たなポイントと学習用データとを比較し k 個の最近傍点の中で最も頻度が高いクラスを返します KNN による精度は 98% で それに対してシンプルな決定木の精度は 94.1% でした 混同行列も以下の通り改善しています しかし KNN は予測に全ての学習用データを使用するため 実行にかなりの量のメモリを必要とします 次に 線形判別モデルを試みましたが 結果は改善しませんでした 最後に複数クラスのサポートベクタ マシン (SVM) を試みました SVM では非常に良い結果が得られました 精度が 99% となったのです 座っている >99% 座っている >99% 立っている 1% 99% 1% 立っている >99% 真のクラス 歩いている 走っている 2% 98% 1% 97% 1% 真のクラス 歩いている 走っている >99% 98% 2% 踊っている 1% 1% 6% 92% 踊っている 3% 96% 座っている 立っている 歩いている 走っている 踊っている 座っている 立っている 歩いている 走っている 踊っている 予測したクラス 予測したクラス さまざまなアルゴリズムを試しながらモデル化を繰り返すことで 目標を達成することができました もし踊っている状態と走っている状態の区別について信頼性がまだ十分でない場合は さらにモデルを改善する方法を探します 13

5 ステップ 5: モデルを改善する モデルの改善には 単純化と複雑化の 2 つの異なる方向が考えられます 単純化 まず 特徴量の数を削減する可能性を検討します 特徴量の数を削減する一般的な方法としては 以下が挙げられます 相関行列 変数間の関係を明らかにすることで 相関がそれほど高くない変数 ( 特徴量 ) を削ることができます 主成分分析 (PCA) もともとの特徴量同士の重要な違いを捉え データセットから強力なパターンを引き出す特徴量の組み合わせを見つけ 冗長性を排除します 特徴量の逐次削減 モデルの性能に改善が見られなくなるまで 繰り返し特徴量を削減します 次に モデル自体を小さくしていく方法を検討します 次のような方法が挙げられます 優れたモデルには 最も予測力の高い特徴量しか含まれません 汎化性能の高いシンプルなモデルは 新しいデータに対して適応しない汎化性能の低い複雑なモデルよりも優れています 機械学習においては 他の多くのコンピュータ処理プロセスと同様に モデルの単純化によって 理解のしやすさや頑健性 処理効率が高まります 決定木の枝を剪定します アンサンブルの中の学習器を減らします 14

5 ステップ 5: モデルを改善する ( 続き ) 複雑化 過剰な汎化を行ってしまっているせいで 踊っている状態と走っている状態とをモデルが区別できない場合 モデルの微調整を行う方法を見つける必要があります そのためには 次のいずれかの方法が考えられます モデルを組み合わせて使用する 複数のシンプルなモデルを統合し より大きなモデルを作成します この場合 個々のシンプルなモデルのどれよりも適切にデータの傾向を表すことができるような大きなモデルとします データソースをさらに追加する ジャイロスコープデータと加速度計データの両方を使用します ジャイロスコープは活動中の携帯電話の向きを記録します このデータは それぞれの活動独特の特徴を示すことがあります 例えば 加速と回転のある特定の組み合わせは 走っている状態に特有のものである場合があります モデルの調整が済んだら 前処理段階で取り分けたテストデータを用いてモデルの性能を検証します モデルがテストデータに記録された活動を確実に分類できれば 携帯電話に組み込んで活動の追跡を行う準備が整ったことになります 15

参考資料 機械学習について さらに詳しく学んでみませんか? 機械学習の方法論 事例 ツールの詳細について 以下の資料もぜひご参照ください 見る MATLAB による機械学習の基礎 ~ 特徴抽出 分類器 交差検定 ~ 38:31 センサーデータ解析と機械学習 ~ 振動データからの異常検出 ~ 47:21 機械学習のための信号処理 51:37 読む 教師あり学習のワークフローとアルゴリズム MATLAB アナリティクスによるデータに基づいたインサイト : 電力負荷予測のケーススタディ 調べる 機械学習の MATLAB サンプルコード 分類学習器アプリによるデータ分類 ( 英語 ) 2016 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See mathworks.com/trademarks for a list of additional trademarks. Other product or brand names may be trademarks or registered trademarks of their respective holders. 93078v00