Edited at

機械学習を始めて2週間、機械学習を始めるのに必要だったこと

More than 1 year has passed since last update.


はじめに

ここ最近、趣味で機械学習の勉強はじめたら、様々な技術が必要なのでものすごいスキルがついた!

始めるのに必要なタスクをシェアします!

※ 具体的な手段については、別途投稿します。


機械学習に必要なこと


必要なスキル

はじめにもし独学で始めるなら必要なスキルを書いておきます。

・ ビジネススキル

・ビジネスに対する深い理解
 ・ロジカルシンキング
 ・ドキュメンテーション/プレゼンテーション
 ※ 多くの場面でデータ集めから理論的な説明が必要になります。

・ ITスキル
 ・幅広いIT知識
 ・大規模データ処理に関する知識
 ・データベースに関する深い知識
 ・プログラミング
 ※ 本当に範囲が広いのでインフラからロジックまでフルスタックにできる人が必要になります。

・ 統計解析スキル
 ・数学
 ・データ分析手法の理解
 ・データ分析ソフトウェアのスキル
 ※ 確率・統計、微分積分、行列などが必須になります。
   記号が多いので最初自分はぜんぜん理解できませんでした。

この記事がわかりやすい。

そろそろデータサイエンティストの定義とスキルセットについて本気で考えてみる - Qiita


本題のタスクについて


マーケティング

機械学習において、これが一番重要でしょう!

なぜなら、データを集めるにしてもその業界に詳しい人がいないと集めるべきデータがわかりません。

今回は自分はいろいろアドバイスをもらってやりましたが、データ不足で何度も集め直しをしました!


データ収集

これも大変な作業。1,000件〜10,000件くらいまでだったら手作業でもなんとかなるかもしれませんが、少なくとも100,000件くらいあったほうが勉強になると思います。

自分は1,300,000レコードを集めてはじめました!


集め方について

 [自分でやる]

  WEBスクレイピングで無料で情報を集める。

  トレードオフとして開発する時間とスキルが必要となる。

 [クラウドソーシング]

  これは安価でいいと思えるが、情報の質が下がる可能性がある。

 [買ってくる]

  時間もかからず手っ取り早いが、割りと高い(情報にもよる)。


情報のクレンジング

集めてきたデータは一部が欠落している場合やイレギュラー情報が入ってる可能性があります。

なので分析しやすいように情報を整理する必要があります。

ここではSQLなどのデータベースのスキルとBigData処理(分散処理など)に対するスキルが必要。

大量データを処理するので、ある程度時間をかけてやる必要があります。


分析・分類

機械学習で予測を始めるには、先ず現状データを分析する統計のスキルが必要となります。

データの特徴を見極めたり、予測に必要なデータを推測する必要があります。

この辺は常識などの定性的なものに頼らず定量評価が必要となります。


学習モデル作成

データの特徴から未来を予測するためのモデルを作成します。

ここではプログラミングのスキルが必要となります。

Pythonなどの開発言語は前提になりますが、パラメータのチューニングなどもおすすめを出してくれるのもあるので、そこまでハードルは高くありませんが、データの種類や目的によってアルゴリズムを選択しなければなりません。

 [機械学習ライブラリ一覧]

  TensorFlow:https://www.tensorflow.org/

  Chainer:http://chainer.org/

  Caffe:http://caffe.berkeleyvision.org/

  Theano:http://deeplearning.net/software/theano/index.html

  Torch:http://torch.ch/

  scikit-learn:http://scikit-learn.org/stable/

  PyML:http://pyml.sourceforge.net/

  Pylearn2:http://deeplearning.net/software/pylearn2/

  PyBrain:http://pybrain.org/pages/home


予測と実験

訓練データを基に作成した学習モデルを用いて予測をします。

学習〜テスト予測を何度も繰り返して実験していく必要があります。

また、ここでの精度が良いからといって過学習の可能性があります。

本当にうまくいくかは実際のデータで実験を繰り返す必要があります。


最後に

まだまだ機械学習のエンジニアが多いとは言えるような状況ではないので、アルゴリズムの選択やパラメータの選択や正規化の手段など、なかなか人に相談できず孤独を感じることもあります。

ただ、新しく覚えることがとても多く刺激的です。

皆様にもぜひおすすめです。

いま勉強中のスキルで未来予測の実験しているサイトがありますので、ぜひお時間ある時に見ていただけたらと思います!

[facebook]

https://www.facebook.com/AIkeiba/

[Twitter]

https://twitter.com/Siva_keiba