機械学習(マシーンラーニング)の学習方法

機械学習(マシーンラーニング)の学習方法

January 17th, 2019

(*この記事は個人でやっていることの記事で最適解ではありませんのでご了承ください。)

今年に入りやっと重い腰を上げ、機械学習の学習をはじめました。 大学では理系でしたが基本的には統計学とか機械学習はほぼ知識ないです。

行列使うのと、GPU使って学習させてモデル作って、与えられた値をそのモデル通すと1番確率高いやつが返ってくるんでしょ。ぐらいの認識です。

どう学んでいるか

今はとある方法で学習を進めているのですがそこまでの流れを書いておきます。

結論を先に述べておくと「Udacityの'Intro to Machine Learning'」を使用しています。

今回やりたいのは画像を用いた機械学習です。画像認識させたい。 しかし、どうやってやればいいのかわからない。Tensorflowをやればいいのかなとか思ったり、ゼロから作るDeep Learningを読めばいいのかなと思っていました。

あ、でもでも、機械学習やるならそもそもGPU無いとツラいよね。計算に時間かかってしょうがないな。なんて思ってました。 なので、MacにGPUつなぐのか?Linux自作するのか?AWSやGCP使うのか?と色々と検索していました。

そこで見つかったのが、Googleが提供しているColaboratory。 ざっくり言うとGPUが12時間以内であれば使い放題なのに無料(詳しくはご自身で調べてみてください)。サーバ立てる必要もないしAWSやGCPもいらないので、これを使うことにしました!(実際はまだ使ってませんが)

そして、Tensorflowについて調べててたどり着いたページ「Cloud ML Engine はじめに」のページにある

機械学習が初めての方は、次のボタンを選択してください。

このさきにあるUdacity Intro to Machine Learningの閲覧をはじめました。ちゃんと日本語の字幕もあってわかりやすいので見ていました。見進めると問題が出てきて回答を求められますが、すぐに次の動画に移ってしまうことがありました。 回答を考えたいのにすぐ答えが出てしまうので、周辺を探していて冒頭に述べた「Udacityの'Intro to Machine Learning'」にたどり着きました。

現時点ではこのコースで機械学習の基本的な概念と、教師あり学習のいくつかのアルゴリズムを学びました。 アルゴリズムにどのような特徴があり、変更できるパラメータは何なのか、実際にPython、scikit-learnを使用して簡単なプログラミングも行います。 また、GitHubに問題で使用するリポジトリもあります。(Python 2.7かつscikit-learnのライブラリが古く少し詰まるところもありますがw)

機械学習の基礎やアルゴリズムの概念をちゃんとしれるのでとても満足しています。

今後どうするか

Udacityのコースを一通り見て演習をこなしたところで一通りの知識がついていると思っているので'ゼロから作るDeep Learning'をやるかTensorflow関連の本をやろうかと思っています。もちろんColaboratoryを使って。

アルゴリズムを深く理解したり、パラメータをいじる場合は統計の知識が必要になると思うので少し勉強し始めようかと思っています。

(追記)

最近はGoogleの動画も見たりしています。機械学習、ディープラーニング周りは探せば無料でいろいろと学べる資料がたくさん見つかります。 その中でどこを信頼してみるのかの判断が難しそうです。

Hello World - Machine Learning Recipes #1

Six lines of Python is all it takes to write your first machine learning program! In this episode, we'll briefly introduce what machine learning is and why it's important. Then, we'll follow a recipe for supervised learning (a technique to create a classifier from examples) and code it up.

Share

Yohei icon
Yohei

Androidアプリを得意とする人。iOS, サーバーサイドもできる。 週2フリーランスとして活動中。

©MERCURY MAEDA