2017/06/30
15:05

【Python】機械学習ライブラリ紹介



みなさんこんにちは。
人工知能ラボの助手です。
今日は、ディープラーニングをはじめとした、
機械学習に使用されるPythonライブラリについて、
簡単にまとめたいと思います。



■Caffe
C++で実装されているため、計算処理が非常に高速
なのが特徴です。
また、開発コミュニティーが非常に活発で、多くのサンプルコード
があるので、初心者にも推奨されています。

■Chainer
数少ない日本発の機械学習ライブラリです。
次に紹介するTensorFlowもそうなのですが、
コードをシンプルに短く書けるのが特徴で、
Caffeでは2000行以上になるコードが、Chainerでは
200行以下になると言われるほどです。
また、インストールが非常に簡単です。

■TensorFlow
Google社が昨年オープンソースとして公開した、
ディープラーニング用のライブラリです。
私たちが現在主に使用しているのが、このTensorFlowです。
ニューラルネットワーク等の実装はもちろん、自動微分機能や、
自身の作成したネットワークや学習の結果を可視化する
TensorBoardというアプリケーションが付いているなど、
非常に多機能です。
計算処理の速度はCaffeには劣るようです。

■ScikitLearn
回帰分析やサポートベクターマシン、クラスタリングと
いった様々な機械学習のプログラムを短いコードで簡単に実装
することができます。
ディープラーニング以外の機械学習アルゴリズムをサクっと実装したり、、
クロスバリデーションのためのデータ分割など、データの前処理
等に使用するのが便利です。



特にディープラーニングに使用するものに関しては、非常に
多くのライブラリが存在するので、初めてのときにはどれを
使用していいのか迷ってしまいますよね。

これらのライブラリの説明を行っているWebページは、ここの
他にも沢山あるので、色々と調べた上で自分の使用目的に合った
ライブラリを使用するのがいいと思います。

例えば、TensorFlowは、様々なニューラルネットワークを、
学習も含めて非常にシンプルなコードで実装することができます。

これは、非常にありがたいことなのですが、多くの
処理がライブラリのモジュール内で完結されていて、
その部分の自身での実装を省略することになるので、
「機械学習のアルゴリズムを一つ一つ自身の手で実装していきたい」
という方には不向きです。

逆に、
「数学的な原理は分からなくても良いので、とりあえず実装したい」
という方には非常に向いています。

今日紹介したものはPythonライブラリなので
インストールもそこまで難しくはないです。

なので、色々な物をご自身で試してみて、
ぜひ自分に合った機械学習ライブラリを
見つけてみてください。

それでは、今回はここまでにしましょう。
お疲れ様でした!