暇人日記

アラフォーおっさんのコーセラの機械学習の課題を解こうと頑張っています!

Coursera Machine Learning Week8 Video前半

 

 

ここでは自分がポイントと思った点をメモしていきます。

 

全体の内容に関する説明は↓のサイトが良いと思います。

 

makuramarks.com

 

頭のいい方が書かれたんだと思います。

Videoの内容がとても簡潔にまとめられていてわかりやすいです。

 

私はVideoみただけでは全体が理解できないアラフォー文系のおっさんなので

「ポイントと思った点を書く」みたいなこといいながら実は逃げて書いてます笑

 

代わりに「わからないぞ!」とか「こここういう風に分かったつもり(弱)」とか

「わからないところがわからないんだ!」という情けなさを前面に出してます笑

 

将来の自分が読んでわかるように、という目的も多分にあります。

今の私がわからないもの/疑問に思うものは将来の自分も同じように思うはずなので、

どういう風に的外れ(?)な疑問をもって、コース内容に沿っていけるようになったのかを記録しておきたいです。

 

Video①Unsupervised Learning Introduction

 

 

Week1-7ではTraining SetはすべてX,yのセットだったが、

Unsupervised Learningはyがない。

 

Video②K-means Algorithm

 

Step1 中心地を決めて各xをどの中心地に近いか色分けする

Step2 Step1で色分けしたグループの中心地を計算する

Step3 Step1とStep2を繰り返す

 

 Video③Optimization Objective

<基本的な数式表現>

x(i)がカテゴリー5に所属しているとき、

C(i)=5と表現するとx(i)はカテゴリー5に所属していることを示す

例)c(1)=3 はx(3)がカテゴリー3に所属していることを示す

μkはカテゴリーkの中心点を示している

例)Μ2はカテゴリー2の中心点を示している

μc(i)はc(i)=5のときμ5、つまりカテゴリー5の中心点を示している

 

<K-means algorithm>

Videoの中でこのように紹介されています。

f:id:omoshiroamericanews:20191114231920p:plain

 (出典;『Coursera Machine Learning』 By Mr. Andrew Ng)

Step1 中心地を決めて各xをどの中心地に近いか色分けする

Step2 Step1で色分けしたグループの中心地を計算する

を式にしたものだと思いますが、式にされると下記疑問が浮かびます、、、

 

=================================

最初はμを固定して

μ1,μ2,μ3,・・・,μk

そして各xがどのμと近いかをループさせる?

(x(i)-μ1)^2、(x(i)-μ2)^2・・・・(x(i)-μk)^2

と計算していって一番小さいものを選ぶの?

 

え、どうやって?

(x(1)-μ1)^2、(x(1)-μ2)^2・・・・(x(1)-μk)^2

(x(2)-μ1)^2、(x(2)-μ2)^2・・・・(x(2)-μk)^2

x(1)はμ2の時が一番小さいからカテゴリー2で

x(2)はμ3の時が一番小さいからカテゴリー3で、とかをどう抽出するの?

x(1~m)とμ(1~k)は行列で計算できるが

合計ではなく最小値となると、

行ごとの最小値を何行目かというIndexと

共に引き出す必要あるのか?

 

次はカテゴリの決まったx(i)とμ(μ1,μ2,μ3,・・・,μk)の場所をついて

再計算してカテゴリごとの中心地を再計算することになるが、

どうやって?

 

================================

謎です。

課題が楽しみです。

 

 

Video④ Random Initialization

Training setのx(i)をそのままμにセットしてしまう。

 

Local Optimaに陥る可能性が高いので、

初期値を何パターンも持ってJを計算する。

-->Simulationの履歴取り出しになりそう。

 

クラスタが1-10のときは何パターンも試すことにかなり価値がある。

 

クラスタが100近くある時は最初の10パターンくらいで

かなりいいクラスタが作れているときが多い。

 

 

Video⑤Choosing the Number of Clusters

 

一言でいうとあんまりいい方法ないよ。

Elbow方法はやってみて見えたらラッキーだね。

目的の方(マーケティングセグメンテーションなど)から考えるのも手です。

 

Video⑥MotivationI;Data Compression

相関の高い変数は圧縮して1次元へらす。

データ圧縮と計算速度高速化のため

 

 

Video⑦MoticaionII;Visualization

 

 

何次元であろうが2次元もしくは3次元へデータを落とし込めるなら、

グラフ化することができる、そしたらみやすいしわかりやすい。

是非そうしたい、どうすればできる?

PCAという方法があるので次のVideoで紹介する

 

今日はここまでです。また次回頑張ります。