スポンサーリンク

courseraのMachineLearning(日本語字幕)をやってみる(1)(2)(Week1)(Week2)

coursera  Machine Learning (英語、日本語字幕)

https://www.coursera.org/learn/machine-learning

機械学習入門らしい。
無料。英語。しかし、動画には日本語字幕がある。
MATLAB(1.5万円)というソフトを用いた方が簡単らしいが、Octave というフリーソフトでも十分やっていけそう。最終的にはpythonでできるようになりたい。

Coursera Machine Learning 機械学習オンラインCourseのススメ
http://qiita.com/anzaitetsu/items/2dc94d78a678d5b7a037

CourseraのMachine Learningを受講中 2016-08-24
http://shironeko.hateblo.jp/entry/2016/08/24/220052

http://karino2.livejournal.com/246001.html

http://qiita.com/mono0926/items/2c39649d24b2e515f4b5

しかし、pythonでやりましたよというQiitaの記事あり!

Coursera Machine Learningの課題をPythonで: ex1(線形回帰)
nokomitchが2015/10/19に投稿
http://qiita.com/nokomitch/items/a756e276cdb8c3f5035d

やってみる

(1)1week目

1week目の動画を見るだけでも、全部で3時間くらいだろうか?がんばって視聴して、1週間くらいかかった。

教師あり学習
教師なし学習

最急降下法 -> 難しそうだが、かなり分かりやすく説明してくれている。
線形代数 -> これは簡単

(2)2 week目

最初に、Octaveのインストールから始まる(MatLabは12週間のみということなので、Octaveのインストールにtryすることとした。)

http://www.tatsuromatsuoka.com/octave/Eng/Win/

一応、courseraのいうとおりに、GUN octave 3.8.2 をインストールしたが、GNUの方はβ版らしく、なんか表示が微妙なので、「Octave-3.8.2 (Command Line)」の方を使ってみることにした。

image

courseraでOctaveを使う方法(英語、Windows)
https://www.coursera.org/learn/machine-learning/discussions/all/threads/vgCyrQoMEeWv5yIAC00Eog?page=2

OctaveとMatlabの違い

image

image

image

OctaveのConfiguration file は、

C:/Users/(ユーザ名)/.config/octave/qt-settings.

にあるらしい。

image

(2)実際にOctaveを使用し始めるのは、Week2, Lesson6 からである。

https://www.coursera.org/learn/machine-learning/lecture/9fHfl/basic-operations

image

image

image

 

(2-6-2)Week 2, Lesson 6, Moving Data Around

Octaveを起動したら、筆者の好みでは、まず、

[sourcecode language="bash" padlinenumbers="true"]
PS1('>> ')
[/sourcecode]

らしい。

たとえば、行列Aを定義するのに、

A = [1 2; 3 4; 5 6]

とだけ入力すればよいなどということの説明がある。Octaveは本当に行列計算に特化しているなあ、という印象を受けた。

image

(2-6-3)Week 2, Lesson 6, Computing on Data

https://www.coursera.org/learn/machine-learning/lecture/I7gx3/plotting-data

image

(2-6-4)Week 2, Lesson 6, Plotting Data

image

image

言われた通りにやると、きれいなグラフを簡単に描くことができた。

image

image

 

(2-6-6)Week 2, Lesson 6,  Vectorization

ここからは、Octave 4.0.3 を用いることにした。

(2-7)Quiz

Courseraの機械学習コース2週目 Octave/Matlab チュートリアルをやってみた。
courseracoursera24OctaveOctave41
pugiemonnが2016/08/12に投稿
http://qiita.com/pugiemonn/items/09b8ad4da2b57e1e624a

 

Programming Assignment: Linear Regression

https://www.coursera.org/learn/machine-learning/programming/8f3qT/linear-regression

からZIPファイルをダウンロードして、PDFファイルを見ながら、Assignmentにtryする。

image

むむ、英語なのでよく分からない。。。

1. Simple Octave/MATLAB function

warmUpExercise.m をoctave-gui 4.0.3上で開いて、以下のように

A = eye(5);

と記載して保存。

image

Octaveの画面下のあたりの、「コマンドウィンドウ」で、

ex1

と入力してEnter

image

できた、、、のか?

2.1 Plotting the Data

plotData.m を開いて、言われた通りに、以下のようにコードを追加して、保存。

(訂正前)image

(訂正後)
image

「コマンドウィンドウ」で、「Enter」
(プログラムが止まっていたら、 ex1 と入力して、「Enter」)

image

プロット図が出てくる。

2.2.3 Computing the cost J(Θ)

computeCost.m を開く。いつも通り、コードを入力しなければならなさそうなのだが、ヒントはたしかに上に記載はあるが、、、

image

いや、これ今までと違って難しすぎです。答え見ちゃいました。

https://gist.github.com/anuvrat/2795554

J = sum((X * theta – y) .^ 2) / (2*m)

この式、X, theta はベクトル。 「.^2」で、ベクトルの各要素の2乗を計算している?あれ?よくわからん。

image

コマンドウィンドウで、ex1 と入力して、「Enter」

image

私の能力では、もうこのあたりでアップアップ、、、

 

2.2.4 Gradient descent

gradientDescent.m を開く。

image

これも、答えみないと無理

https://gist.github.com/anuvrat/2795575

image

講義の内容をちゃんと理解して、Octaveのコードも書くことができないと、この課題、できません。復習しなければ、、、でも、pythonよりも、あきらかに、octave(Matlab)の方が、記載はしやすそう。。。

image

image

Pythonでもできるようになりたいなあ。

Optional Exercisesなんて無理無理。。。とばします。

(2-8)Pythonでやってみる。(コピペ)

Coursera Machine Learningの課題をPythonで: ex1(線形回帰)
nokomitchが2015/10/19に投稿
http://qiita.com/nokomitch/items/a756e276cdb8c3f5035d

のコードをコピペしてできるかやってみる。

(環境)Windows8.1
Anaconda (Python 3)

上記のZIPファイルをダウンロードして展開したフォルダの中の、さらにex1フォルダに移動。そこで、コマンドプロンプトを開く。

image

jupyter notebook

と入力してEnterを押すと、jupyterが自動的に起動して、ブラウザが開く。

image

画面右側の、 New > Python[Root]

image

名前を、ex1.py に変更して、

Coursera Machine Learningの課題をPythonで: ex1(線形回帰)
nokomitchが2015/10/19に投稿
http://qiita.com/nokomitch/items/a756e276cdb8c3f5035d

のコードをコピペして、「Shift」+「Enter」。1分ほどかかるが、グラフがちゃんと表示された。

image

スポンサーリンク

AI

Posted by twosquirrel