さて、前回は、機械学習であそぼうと思い立ち、そもそも機械学習ってなに?っていうところからのスタートを切りました。
Pythonで機械学習の実装をしようと思って調べ出すと、ライブラリーやら何やら色んな名称が出てきて、何が何だか分からなくなってしまったのは私だけでしょうか?
もう嫌だ・・・
いろんな書籍や、オンライン講座があるのだけど、一体何を使えばよいのやら。
Scikit-learn(サイキットラーン)
機械学習全般のライブラリで、深層学習に閉じず、回帰やクラスタリング等、各種データ解析用のAPIが用意されている。
TensorFlow(テンソルフロー)
Google社が開発した深層学習用のライブラリで産業用途としてのシェアが大きい。TensorBoardという可視化ツールがあるらしい。
Keras(ケラス)
いくつかの深層学習用のライブラリ上で動作する、抽象化してハイレベルなAPIとして提供しているライブラリ。TensorFlow2.0でTensorFlowに組み込まれ、TensorFlowをバックエンドとして動作するライブラリはtf.Kearasと呼ばれている。
Chainer(チェイナー)
国産の深層学習フレームワーク。国産なので、ドキュメント等、読み易いかな?と思いましたが、開発元のPreferred Networksさんが開発を終了し、FacebookのPyTorchへの移行を発表したそうです。もはや、あえてこれを選択するメリットはないのかな?
PyTorch
Facebook社が開発した深層学習用のライブラリで勢力拡大中らしい。科学者さん達が好んで使っているらしい。痒いところに手が届くてきな感じなのかな?わかりませんが・・・。Chainer開発終了に伴い、Preferred NetworksさんはPyTorchに移行したそうです。
ここまでが機械学習用のライブラリ。
ただ、ここまでのライブラリを使ったり、画像データを扱ったりするには、Pands、Numpyといったライブラリが扱える必要がある。
Pandas(パンダス)
データ解析の為のライブラリ。データの統計量の計算やグラフ化ができる。
Numpy(ナムパイ)
数値計算ライブラリ。ベクトルや行列演算等、機械学習に必須な演算ライブラリを提供している。これらが使いこなせないといけない。
ということは・・・ある程度の行列演算や統計学・線形代数の知識がないと、途方にくれてしまうということか・・・。
もう嫌だ・・・
matplotlib(マットプロットリブ)
グラフ化等、可視化ライブラリ。pyplotクラスのAPIを使う。ここでもnumpy配列を使うことが多い。日本語用フォントの適用の仕方がググると出てきますね。
seaborn(シーボーン)
可視化ライブラリ。matplotlibのグラフを美しくすることができるライブラリ。
さて・・・どうしたものかな。
Pythonの文法はなんとなくわかる。Pandas/Numpy/Matplotlib/Seabornあたりはツールなので、細かい使い方はいろいろやりながら覚えて行くことにして、まずは機械学習入口はscikit-learnのようです。TensorFlowがよいのか?PyTorchがよいのか?まださっぱりわからないし。
もう嫌だ・・・
既に心が折れそうです。
次回はちょっと息抜きに機械学習からは少し離れて、Pythonでの画像表示をしてみます。
「Pythonと機械学習であそぼう(機械学習関連ライブラリ)」への1件のフィードバック
ピンバック: Pythonと機械学習であそぼう(機械学習について学ぼう) | ぼちぼちいこらい