• 検索結果がありません。

MATLAB®製品紹介セミナー

N/A
N/A
Protected

Academic year: 2021

シェア "MATLAB®製品紹介セミナー"

Copied!
30
0
0

読み込み中.... (全文を見る)

全文

(1)

MATLAB® における分類・パターン認識

- 入門編 -

MathWorks Japan アプリケーションエンジニアリング部(テクニカルコンピューティング部) アプリケーションエンジニア 大開 孝文

(2)

アジェンダ

回帰モデルと分類モデルについて

分類手法を使ったワインの品質モデリング

(3)

分類手法を使ったワインの品質モデリング

アプローチ

– 膨大なデータから、分類モデリング – 線形判別・単純ベイズ分類器・Tree Bagger – 並列演算による計算の高速化 – パラメータの選択  利用製品 – MATLAB – Statistics Toolbox

(4)

予測モデル(回帰モデル)

Y = F(X

1

, X

2

, X

3

, … X

n

)

(5)

予測モデル(分類モデル)

Y = F(X

1

, X

2

, X

3

, … X

n

)

(6)

アプリケーション例

金融分野 – 格付けの割り当て

格付け 離散値

– AAA – AA – BB 

経営状況による格付けの予測

– 内部留保 – 総資産 – 運転資金

(7)

分類・パターン認識における課題

市販のプログラムでは解析手法がよくわからない

分類される訓練について時間がかかる

(8)

分類手法を使ったワインの品質モデリング

各種データ量からグルーピングを行う(分類)

白ワインの糖分・PH・濃さなどデータ量から、

品質のいいワインの傾向をつかむ

本デモのダウンロード http://www.mathworks.co.jp/matlabcentral/fileexchange/28770-introduction-to-classification

(9)

精度の測定

(検定)

分類・パターン認識のワークフロー

分類手法の選択

訓練・学習

モデルの単純化

分類モデルの完成

(10)

MATLABで可能な分類・パターン認識のアルゴリズム

Statistics Toolbox

– 判別分析 – ロジスティック回帰 – 単純ベイズ分類器 – バギングされた決定木 

Bioinformatics Toolbox

– サポートベクターマシーン

Neural Network Toolbox

– ニューラルネットワーク

(11)

アルゴリズム選択

線形 判別分析 バギング された 決定木 アルゴリズム 複雑さ

(12)

アルゴリズム選択

大雑把なやり方

シンプルな方法が(たいてい)いい

– シンプルなモデル  解釈が簡単  説明がかんたん – メモリ消費量少なくて、高速に学習 

単純なモデルは前提条件となる過程が厳しい

– 前提条件に違反しているかどうかチェック – 予備となるデータ解析が重要

(13)

アルゴリズム選択

線形 判別分析 バギング された 決定木 アルゴリズム 複雑さ 単純 ベイズ

(14)

Naïve Bayes (単純ベイズ)を使った分類器

ベイズの定理

P(C|E) = P(E|C)*P(C)/P(E)

P(C) :事前確率 P(C|E):事後確率 P(E|C):尤度 P(E) :証拠 Naïve Bayes F: 属性値(特徴) 各属性が独立

P(C|E) = P(C)*P(F

1

, F

2

, ..., F

n

|C) = P(C)P(F

1

|C) P(F

2

, ..., F

n

|C,F

1

)

= P(C)*P(F

1

|C) P(F

2

|C) P(F

3

|C) *P(F

n

|C)

C1 F1 F2 F3 Bayesian Network F1 F2 F3 F1 F2 F4 F3

(15)

正確性の測定

(検定)

分類・パターン認識のワークフロー

分類手法の選択

訓練・学習

モデルの単純化

分類モデルの完成

(16)

訓練・学習

特徴を持ったデータと出力となるクラスをもったデータセット

の作成

– クラス: 予測子 (Y) – 特徴: 応答データ (X) 

このデータを使って訓練・学習

– 特徴とクラスとの関係を繰り返し作成するルールを発展 

通常、データを2種類に分割

– 訓練データ (モデルのルールを構築)  X_train/Y_train – 検証用データ (アルゴリズムの正確性のバリデーション)  X_test/Y_test

fit/train :学習

predict :予測

(17)

正確性の測定

(検定)

分類・パターン認識のワークフロー

分類手法の選択

訓練・学習

モデルの単純化

分類モデルの完成

(18)

A B C D E F G A 0 1 1 2 1 0 0 B 0 9 16 15 10 0 0 C 4 22 275 146 43 0 0 D 6 16 198 283 240 3 2 E 1 0 39 59 181 7 0 F 0 0 8 7 31 5 0 G 0 0 0 0 1 1 0

分類器の正確性の測定

- 混同行列 -

A B C D E F G A 0 1 1 2 1 0 0 B 0 9 16 15 10 0 0 C 4 22 275 146 43 0 0 D 6 16 198 283 240 3 2 E 1 0 39 59 181 7 0 F 0 0 8 7 31 5 0 G 0 0 0 0 1 1 0

予測したクラス

実際

のク

ラス

(19)

正確性の測定

(検定)

分類・パターン認識のワークフロー

分類手法の選択

訓練・学習

モデルの単純化

分類モデルの完成

(20)

モデルの単純化

目標: 特徴情報を最小化、できるだけ同じ結果を得る

理由

– オーバーフィッティングの回避 (ロバスト性が失われる) – サイズ – モデルをシンプルに (重要なパラメータが分かりやすい) 

手法

– 前方逐次特徴選択  sequentialfs – “Out of Bag” における特徴の重要度  Treebagger で有効

(21)

モデルの単純化

[fs,history] = sequentialfs( fun , X,Y,'cv',c2)

fun=@(Xtrain,Ytrain,Xtest,Ytest)... sum(Ytest~=predict(NaiveBayes.fit(Xtrain,Ytrain),Xtest)); fun : 基準・尺度関数 分類モデルの誤判別された観測総数 Ytest とXtestを入力して予測した結果との誤差の和を計算する関数 例) 実際: 予測 2 : 1 一致していない

(22)

正確性の測定

(検定)

分類・パターン認識のワークフロー

分類手法の選択

訓練・学習

モデルの単純化

分類モデルの完成

(23)

TreeBagger とは?

分類木でモデリングしたものの拡張版 分類木

Y = F(X

1

, X

2

, X

3

, … X

n

)

Y1 = F1(X1, X2, X3, … Xn) Y2 = F2(X1, X2, X3, … Xn) Yk = Fk(X1, X2, X3, … Xn) TreeBagger 一つだけの学習器だと ロバスト性が悪い

(24)

Parallel Computing Toolbox を使った最適化

TreeBagger関数の計算は時間が掛かりますが、 以下の環境で、高速化が実現

Windows XP 64 bit

Intel Xeon CPU W3550 @3.07GHz (クアッドコア) Memory 12.0G

(25)

分類器の正確性の測定

平行座標プロット ROC 曲線

(26)

分類モデルの完成

GUIアプリケーションに 分類

器を統合

– 格付けアプリケーション 

アプリケーションとして、シス

テムに実装

– センサーネットワーク – 自動トレーディングシステム – スパムメールフィルター

(27)

分類・パターン認識における課題の解決

市販のプログラムでは解析手法がよくわからない

– 様々なアルゴリズムを提供

– Statistics Toolbox

– Bioinformatics Toolbox

– Neural Network Toolbox

分類される訓練について時間がかかる

– Parallel Computing Toolboxによる並列処理

よく分かる専門家が必要

– ヘルプドキュメント記載を参照

(28)

まとめ

MATLABにおける分類・パターン識別の

ワークフローを紹介

Statistics Toolbox

では、多種な分類器を提供

– 判別分析、単純ベイズ、分類木、バギング、ブースティング etc

Parallel Computing Toolbox

との相性がよく、

高速処理が可能

サポートベクターマシーンは

Bioinformatics Toolbox

ニューラルネットワークは

Neural Network Toolbox

(29)

まとめ

関数一覧(Statistics Toolbox)

(Bioinformatics Toolbox)

サポートベクターマシーン

– svmtrain

(Neural Network Toolbox)

ニューラルネットワーク

– train 

判別分析

– Classify 

単純ベイズ(Naïve Bayes)

– NaiveBayes 

K近傍分類

– ClassificationKNN 

分類木

– ClassificationTree 

バギング

– TreeBagger

(30)

© 2012 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The

MathWorks, Inc. See www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand names may be trademarks or registered trademarks of their respective holders.

お問い合わせ

営業部へのお問い合わせ

http://www.mathworks.co.jp/contact_us/ TEL: 03-6367-6700 メールアドレス: [email protected]

本日のご参加ありがとうございました。

参照

関連したドキュメント

1.2020年・12月期決算概要 2.食パン部門の製品施策・営業戦略

「自然・くらし部門」 「研究技術開発部門」 「教育・教養部門」の 3 部門に、37 機関から 54 作品

[r]

当社より債務保証を受けております 日発精密工業㈱ 神奈川県伊勢原市 480 精密部品事業 100 -.

ㅡ故障の内容によりまして、弊社の都合により「一部代替部品を使わ

Tone sandhi rule for pattern substitution in Suzhou Chinese: Verification using words beginning with a Ru syllable Masahiko MASUDA Kyushu University It is well known that in Wu

今年度は、一般競技部門(フリー部門)とジュニア部門に加え、最先端コンピュータ技術へのチ ャレンジを促進するため、新たに AI

全てに導入 大半に導入 半分に導入 一部に導入 導入無し 冷却塔無し. 全てに導入 大半に導入 半分に導入 一部に導入