ビッグデータ活用の中核技術

機械学習(Machine Learning)は、データに潜むパターンや規則性などを見つけ、それを予測に生かすための技術として現在大きな注目を集めています。人工知能やパターン認識といったキーワードとも関わりの深い技術であり、音声認識や画像認識、文字認識などの幅広い分野での応用がなされています。

また、現代ではセンサーやネットワークの急速な発展により、大量のデータが比較的容易に取得できるようになってきましたが、こうした大量のデータはときに「ビッグデータ」とも呼ばれ、その解析にはより洗練された技術が求められるようになってきています。こうした背景から、データマイニングといったキーワードと共に機械学習の様々な手法が各方面から注目を集めるようになってきています。

機械学習の基本的なコンセプトは、コンピュータにXとYの対応関係を理解させるということです。Xは入力データであり、これは数値のベクトルデータであることもあれば、画像や音声、あるいは文字列などのこともあります。また、Yは出力データですが、こちら側は離散のカテゴリや連続値が主な対象となります。離散のカテゴリを出力とする場合は「分類」、連続の数値データを出力とする場合は「回帰」とも呼ばれます。こうしたXとYのデータの組を大量に与え、対応関係をコンピュータに学習させることで、未知の入力データX’がやってきたときに、出力Y’を推定するのが機械学習の役割になります。こうしたタイプの機械学習は、特に「教師あり学習」と呼ばれます。

また、機械学習のアルゴリズムの中には、コンピュータに入力となるデータのみを与えて、入力データ自身からその構造を学習させるものもあります。こうした学習は「教師なし学習」と呼ばれ、その代表的な手法としてはクラスタリングが知られています。クラスタリングでは、大量のデータXを学習器に入力し、自動的に幾つかのクラスに分類することがその主な役割となります。

MATLABでは、Statistics Toolbox を介して、幅広い範囲の「教師あり学習」をカバーしており、分類では最も基本的なK-最近傍分類器線形判別器、2次判別器などから、さらに高度な分類器であるバギングされた決定木サポートベクターマシン(SVM)などの数多くの分類器をサポートしています。さらに、回帰では一般的な線形回帰から一般化線形モデルまでの幅広い回帰モデルが用意されています。

「教師なし学習」のアルゴリズムとして、Statistics Toolbox では、非常にポピュラーなk平均法(k-means)からEMアルゴリズム(混合ガウス分布)階層クラスタリングなど、幅広いクラスタリング手法をサポートしており、様々なクラスタリングを簡単に試してみることができます。

また、人間の脳を模倣した学習器として知られるニューラルネットワークはNeural Network Toolbox においてサポートされており、Statistics Toolbox と同様に分類・回帰・クラスタリングなどのタスクを行わせることができます。

さらに、こうした機械学習のアルゴリズムの幾つかは、Parallel Computing Toolbox と併用することで、並列処理やGPGPUにより高速化することができます。

MATLABにおける機械学習

MATLABにおける機械学習

製品使用例および使い方

その他製品に関する情報

その他: Operations Research and Optimization of Discrete Event Simulation 44:37 (Webセミナー)Teaching Mechatronics with MATLAB, Simulink, and Low Cost Hardware 35:43 (Webセミナー)顔認識