白猫のメモ帳

C#とかJavaとかJavaScriptとかHTMLとか機械学習とか。

CourseraのMachine Learningを完走しました

こんばんは。

あめあめ・・・雨、そして雨ですね。
毎日傘を持って出かけなければならないのが面倒です。


f:id:Shiro-Neko:20160923163148p:plain

Courseraで7月11日からやっていた「Machine Learning」コースの全11週が完了しました。
クイズが大体4/5でクリアしていたので、点数が低めです・・・ふふふ。

前半の感想とかはこちらの記事をどうぞ。
shironeko.hateblo.jp

今回は後半の感想を書いていこうと思います。

講義の内容


Week7 サポートベクターマシン

最近はDeep Learningの流行りに押され気味ですが、根強い人気のSVMです。
正直この講義を聞いても自分でSVMを作ることはできないとは思いますが、
マージン最大化などの、SVMが何をしたいのかというのをしっかりと解説してくれます。

先生曰く、どの言語でもだいたいライブラリがあるからそれ使おうぜということらしいです。


Week8 教師なし学習/次元削減

ここまでは教師あり学習をずっとやってきましたが、ここで教師なし学習が登場します。
K-meansアルゴリズムはシンプルですが、なかなか素敵です。
使い道がよくわかっていなかったのですが、
TシャツのサイズをSMLに分ける例があって「あ、なるほど」と思いました。

次元削減はかの有名な主成分分析(PCA)を中心に話してくれます。
名前は知っていましたが、何をしているかを初めて知りました。


Week9 異常検出/レコメンダーシステム

最初のほうで、機械学習分野の人たちはあんまり扱う分野でもないんだけど、
実際のビジネスだとよく使うんだよねーこれ、的なことを先生が言っています。そうなんだ。

説明されてみるとそりゃそうだよねみたいな仕組みなのですが、
こうやって実際に何らかのシステムとして機械学習を組み込むとイメージがわきやすいです。
協調フィルタリングについては「ん?」ってなりましたが)

機械学習できるけど使い方は分からないみたいなところに着地しないためのコンテンツになっていてありがたい。
ちなみにプログラムの課題はこの週までです。


Week10 大規模機械学習

機械学習がここ数年で一気に精度が上がってきた背景には、いわゆるビッグデータというものがあります。
これまでは地道に学習データを集めなくてはならなかったのが、
インターネットという巨大なデータの海から大量のデータを(比較的)簡単に得ることができるようになったわけです。

そうすると当然、機械学習で扱うデータの量も膨大になっていきます。
この大量のデータを扱うために、今まで使ってきた最急降下法だけではなく、
確率的勾配降下法やミニバッチ法などについての説明をしてもらえます。うれしい。


Week11 アプリケーションサンプル:Photo OCR

最後のまとめとして、OCR光学文字認識、Optical character recognition)アプリを作るという前提で、
その手順を順番に確認していきます。(実際にプログラミングするわけではない)

ウィンドウの考え方なんかは畳み込みニューラルネットワークでも使うので、覚えておくと良いです。

「最も大事なのはあなたの時間。貴重なあなたの時間を無駄なことに費やすのはもったいない。」
ということをこの週以外でも結構何度も先生が言ってくれます。
困ったときにどこに時間を使うべきかみたいな話がとてもためになります。


とても簡単にですが、何を教えてもらえるか程度をそれぞれの週にわたって紹介してみました。
興味が湧いたのであれば是非やってみてください。
無料だし、登録も簡単だよ。


余談ですが、最後のビデオのタイトルは「Summary and Thank You」です。
これについては触れません。このコースを最後まで終えたら見ましょうということで。

先生、ありがとう!