21
1 © 2013 The MathWorks, Inc. MATLAB Technical Computing Workflowのご紹介 アプリケーションエンジニアリング部 (テクニカルコンピューティング) 部長 大谷卓也

MATLAB Technical Computing Workflowのご紹介 · Statistics Toolbox, Neural Network Toolbox 機械学習 教師なし学習 教師あり学習 クラスタリング 分類 回帰

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

1© 2013 The MathWorks, Inc.

MATLAB

Technical Computing Workflowのご紹介

アプリケーションエンジニアリング部 (テクニカルコンピューティング)

部長

大谷卓也

2

データ解析モデリング

アルゴリズム開発

アプリケーション開発

処理方法アルゴリズムの探求

MATLABを使用した、データ解析ワークフロー

ドキュメント生成

組み込み開発

アプリケーションとして配布

結果の共有/IP化データへのアクセス

ファイル

ソフトウェア

ハードウェア

C/C++/Javaなど

ウェブサービス

XML

JSON

HTML

3

MATLABを使用した、データ解析ワークフロー~データへのアクセス~

データの取り込み

• 主要データフォーマットへの対応

• 各種HWデバイスへの対応

• 特殊フォーマットファイルへのアクセス

• インターネットからのデータ収集

データへのアクセス

ファイル

ソフトウェア

ハードウェア

C/C++/Javaなど

ウェブサービス

XML

JSON

HTML

4

ファイルI/O機能&ハードウェアとのリンク各種ファイルI/Oや計測器/データ収集ボードからのデータ取り込み

Data 2001/03/02

data_1

0.9501 0.0579 0.8381

0.2311 0.3529 0.0196

0.6068 0.8132 0.6813

0.4966 0.7948 0.9568

・・・・・・・・・・・・・・・・・・・・

画像ファイル(.jpeg .tiff .bmp等)

Excelファイル(.xls)

ASCII,

バイナリデータファイル(.dat .txt .csv)

音声ファイル(.wav .au)

Data

Acquisition

Toolbox

Instrument

Control

Toolbox

Image

Acquisition

Toolbox

5

Big Data に対する対応

メモリとデータへのアクセス 64-bit プロセッササポート

メモリ/Diskマップド変数

データベースアクセス

大規模テキストサポート

プラットフォームサポート マルチコア、GPU

クラスタへの対応

クラウドコンピューティング

Hadoop

プログラミング手法 ストリーミング

ブロック処理

CPU/GPUを使った並列処理

MapReduce

6

インターネットからのデータ収集

RESTful Web サービスへのアクセス– HTTP を通してWeb ブラウザを利用し、サーバから情報を取得

– Restful なWeb サービスの例:

Google

Amazon

Facebook

Yahoo!

– オンラインデータへのアクセス (webread, websave)

– JSON, XML, CSV, 画像データなどを取得可能

http://www.mathworks.co.jp/matlabcentral/answers/?

language=ja&term=MATLAB

7

データ解析モデリング

アルゴリズム開発

アプリケーション開発

処理方法アルゴリズムの探求

MATLABを使用した、データ解析ワークフロー

ドキュメント生成

組み込み開発

アプリケーションとして配布

結果の共有/IP化データへのアクセス

ファイル

ソフトウェア

ハードウェア

C/C++/Javaなど

ウェブサービス

XML

JSON

HTML

8

MATLABを使用した、データ解析ワークフロー~処理方法アルゴリズムの探求~

迅速なアルゴリズムの開発

• インタープリタ言語による、

インタラクティブな開発・デバッグ環境

• 専門分野毎に用意されたToolbox

• ドキュメント、ユーザコミュニティの活用

データ解析モデリング

アルゴリズム開発

アプリケーション開発

処理方法アルゴリズムの探求

9

信号処理設計・画像処理オプション

Signal Processing Toolbox

信号生成

フィルタ設計解析

アナログフィルタ

ディジタルフィルタ

スペクトル解析

線形予測

Wavelet Toolbox

ウェーブレット変換による処理

信号、画像の解析、合成、ノイズ除去、圧縮

ウェーブメニューGUI

>> wavemenu

Image Processing Toolbox

コントラスト調整

幾何学変換

各種フィルタ

モルフォロジー処理

セグメンテーション

物体の定量評価

Computer Vision System Toolbox

高速な動画 I/O

特徴点ベースのマッチング

トラッキング

ステレオビジョン

10

MATLABにおける機械学習Statistics Toolbox, Neural Network Toolbox

機械学習

教師なし学習

教師あり学習

クラスタリング

分類

回帰

K-平均クラスタリング階層クラスタリングニューラルネット混合ガウス分布自己組織化マップ

線形判別・2次判別K-最近傍識別単純ベイズ分類決定木アンサンブル学習ニューラルネットサポートベクターマシン

線形回帰モデル一般化線形回帰モデル非線形回帰モデル回帰木アンサンブル学習ニューラルネット

訓練データあり

訓練データなし

11

データの曲線・面の近似Curve Fitting Toolbox

• カスタム方程式への線形・非線形の回帰

• 補完:Bスプライン、薄板スプライン、およびテンソル積スプラインなど

• 平滑化:スプライン、局所回帰、Savitzky-Golay フィルター、および移動平均など

• 異常値の除去、データの分割、スケーリング、重み付けなどの前処理ルーチン

• 補間、外挿、信頼区間、積分と導関数などの後処理ルーチン

12

データの最適化Optimization Toolbox

最適化問題の定義・解析・評価: 線形・非線形計画法 二次計画法 多目的最適化 非線形最小二乗、データ近似 非線型方程式の求解 線形整数混合計画問題

13

大域的最適解の探索Global Optimization Toolbox

Optimization Toolboxで解を求めにくい目的関数に対応: 不連続 非線形成が強い 確率的関数 離散化された問題 微分不可能な問題 複数の極大・極小値

14

の利用

File Exchangeには様々

な分野のアルゴリズム、サンプル等が多数登録されています

共有されているほとんどのファイルは、BSDライセンス

R2012bより、Apps機能も使用可能

15

データ解析モデリング

アルゴリズム開発

アプリケーション開発

処理方法アルゴリズムの探求

MATLABを使用した、データ解析ワークフロー

ドキュメント生成

組み込み開発

アプリケーションとして配布

結果の共有/IP化データへのアクセス

ファイル

ソフトウェア

ハードウェア

C/C++/Javaなど

ウェブサービス

XML

JSON

HTML

16

MATLABを使用した、データ解析ワークフロー~レポート、プログラムの共有・IP化~

開発したアルゴリズムのレポート、共有、IP化

• 処理結果のレポート、ドキュメント化

• アプリケーション配布

• C/C++ アプリケーションに向けたIP化

• 処理の高速化

ドキュメント生成

組み込み開発

アプリケーションとして配布

結果の共有/IP化

17

レポートの生成、結果の共有

Texの数式入りで、画像処理・コンピュータビジョンの処理方式・シーケンスをわかりやすく表現可能

18

MATLAB Compiler

.exe .dll

アプリケーション配布と、他言語との連携

MATLAB Coder

.exe .lib .dll

MATLABBuilder

EX JA NE

JavaExcel .NET

19

並列/分散処理・GPGPUによる高速・大規模データ処理Parallel Computing Toolbox

• 並列・分散処理による高速化

• MATLAB 関数のGPUによる実行

• 2次元FFT等 150以上のMATLAB基本関数

• Image Processing ToolboxのGPUサポート関数

imrotate(), imfilter(), imdilate(), imerode(),

imopen(), imclose(), imtophat(), imbothat(),

imshow(), padarray() ......

• MATLAB Distributed Computing Server との併

用によりコンピュータークラスタの使用が可能

20

まとめ

MATLABは単なるプログラミングツールでは無く、「環境」

多彩なデータ入力手段

インタープリタならではの迅速なアルゴリズム開発

簡単・柔軟な高速化手段

アプリケーション開発、共有、組み込み開発まで視野に入れたコード開発

21

© 2014 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.