SSブログ

Week8を終了した [Octave]

(2018.09.28)
Machine Learning(↓)のWeek8まで課題をクリアしました。
https://www.coursera.org/learn/machine-learning/home/welcome
第8週は教師無し学習によるクラスタリング(K-means Clustering )と主成分分析(Principal Component Analysis)でした。昔、手計算でとても苦労して値を求めた(<==計算をミスして正解が出せなかった)記憶が蘇りました。

教師無し学習によるクラスタリングの実行結果です。二次元平面に散らばった点(便宜上色分けされている)をクラスター3でK-meansクラスタリングを反復して、収束する様子を描画した(↓)ものです。
2018_0928_3.pngK-means Clustering
<K-meansクラスタリング>
(1)サンプルデータを最も近い収束点(仮)に振り分ける。
(2)振り分けられたデータの平均値を次の収束点(仮)とする。
収束点に振り分けられるデータが変化しなくなるまで、この手順を反復して収束点を求めます。
最初の収束点(仮)をランダムに選んで、クラスタリングを複数回実施して最もバラツキの小さな収束点の組を選択します。

3次元ベクトルを2次元ベクトルに変換する例です。
2018_0928_1.png3次元ベクトル(元)

主成分分析を用いて、2次元ベクトルに変換した。
2018_0928_2.png2次元ベクトル(2次元近似)
<3次元データの2次元近似>
(1)正規化した元データ(3次元)の共分散行列を求める Sig=X'*X/m
(2)共分散行列の主成分分析(特異値分解?)を行う [U S V]= svd(Sig)
(3)2次元近似データを求める Z = X*U(:,1:K);

Octaveだとたったの3行で表現できてしまいます。
Octaveすげ~

<結果>
== Part Name | Score | Feedback
== --------- | ----- | --------
== Find Closest Centroids (k-Means) | 30 / 30 | Nice work!
== Compute Centroid Means (k-Means) | 30 / 30 | Nice work!
== PCA | 20 / 20 | Nice work!
== Project Data (PCA) | 10 / 10 | Nice work!
== Recover Data (PCA) | 10 / 10 | Nice work!
== --------------------------------
== | 100 / 100 |
==
パチパチパチ~

思いの外、順調に課題をクリアしています。
10月第一週の受講終了を目指します。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
息抜きも必要です。(↓)



管理人もお世話になっています。



nice!(1)  コメント(0) 
共通テーマ:日記・雑感

nice! 1

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。
Week7を終了したWeek9を終了した ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。