ROOTで機会学習してみる〜Multi Layer Perceptron(ANN)

最終更新日:


概要
欧州原子核研究機構CERNが開発しているデータ分析ツールROOTを使って簡単に機械学習をしてみる。
ROOTで用意されているチュートリアルのサンプルコードを参考に、
Multi Layer Perceptron(MLP)で回帰曲線を出すところまでやってみる。
ROOTのインストール方法や基本的な使い方は過去に書いた記事を参考までに。
https://qiita.com/dyamaguc/items/2f723cbc304c4debd82e
https://qiita.com/dyamaguc/items/397121b303e26f8286cf
環境
Mac Book Air
Mac OS X 10.13.6
ROOT 6.14/06
サンプルコードと実行結果
ROOTのサンプルコード(C++)
ROOTが提供しているサンプルコードはこちら
https://root.cern.ch/root/html608/mlpRegression_8C.html
ROOTをすでにインストールしている場合、サンプルコードは
/tutorials/mlp/mlpRegression.C
ここにおいてある。
これを動かすには
root /tutorials/mlp/mlpRegression.C
とターミナルでコマンドを打てば、いくつかプロットが出てきて、
うまく予測できていることがわかる。
C++のコードだが、コンパイルは不要。
自分のサンプルコード(Python
ROOTが提供しているサンプルコードだとあまり面白くないので、
自分でサンプルコード少し変えて走らせてみた。
まず目的変数zに対し、説明変数x、yが次のような関係を持っているとする。
def theUnknownFunction(x, y):
return TMath.Sin( (1.7+x)*(x-0.3) – 2.3*(y+0.7))
(x、y、z)の組を500個学習させて、得た回帰曲線の予想z_predと、正解z_trueを比較する。
from ROOT import TNtuple, TRandom, TMultiLayerPerceptron, TMLPAnalyzer, TMath, TCanvas, TGraph, TGraph2D, TTree, gROOT
from arra

サイト名: Qiita
2019年3月2日

無料メールマガジン登録

週1回、注目のAIニュースやイベント情報を
編集部がピックアップしてお届けしています。

こちらの規約にご同意のうえチェックしてください。

規約に同意する