訓練樣本沒有標籤,用聚類演算法劃分出多簇:
用處:市場分割
社交網路分析
計算機集群組織
了解銀河系的構成
k均值演算法的核心步驟:
(假設我們要將下列樣本分為兩簇)
初始化簇中心,遍歷每個樣本
①將每個樣本分配給相應的簇(距離最小優先原則)
②對新簇的所有樣本求平均值,得到新的簇中心
重複①②步驟,知道每個簇不變為止
演算法的具體步驟:如果出現某個簇不包含任何乙個樣本,一般來說我們就丟棄這個簇中心(簇的個數會減少乙個),或者我們重新初始化簇中心
k均值可以用來解決分離不佳的簇問題,如右圖襯衫尺寸和人身高體重的分布:
這裡的優化目標函式等同於邏輯回歸提到的用於最小化的代價函式,其中優化目標函式如下:
c(i):表示樣本x(i)的歸屬簇的序號
μ
\muμk:表示第k個簇的中心
μ
\muμc(i)
:表示樣本x(i)的歸屬簇的中心
我們的目標就是求出使得j函式最小化的c(i)以及μ
下面的k均值演算法步驟:
其中步驟一是樣本點的簇分配,是求出使得j最小化的c(i);
步驟二是算出新的簇中心,是求出使得j最小化的μ
保證k的大小小於樣本數m,隨機選取k個訓練樣本作為聚簇中心:
對一堆訓練樣本應用k均值演算法可能會得到全域性最優解,如下面的1聚類結果;也可能只會得到區域性最優解(優化目標函式的區域性最優解),如下面的2、3兩種聚類結果:
這裡我們隨機初始化多次,一般為50-1000次,然後我們在算出的結果中尋找使得j函式最小的一組c(i)和μ
\muμi,當作最終的聚類結果。
當k的比較小時,這個方法會讓你找到較好的最優解;
但當k很大時,這個方法可能不會讓你的結果得到改善。
一般來說我們選擇聚類k大小都是在視覺化的情況下手動選擇:
①肘部法則:
畫出k和j函式的關係圖,在下面左圖中,很明顯的k=3是乙個轉折點,這就是我們要選擇的肘部;但有時我們會發現k和j函式的關係圖如下面右圖所示,是一條曲線,這裡肘部法則就不適用了。
②根據實際需求:
如果我們想要把t恤衫分為s、m、l選擇k=3
如果我們想要把t恤衫分為xs、s、m、l、xl選擇k=5
吳恩達《機器學習》第十三章 聚類
聚類演算法 k means演算法 本節問題 隨機初始化n個聚類中心 距離是歐幾里得距離 衣服尺寸的劃分有點像是無監督演算法的市場化 q 如果有乙個聚類中心,它沒有被分配到任何乙個點,怎麼辦?a 一般情況移除這個聚類中心,但是聚類中心就會從k變為k 1 如果想保持k個聚類,則在初始化這個點一次 本節目...
吳恩達機器學習 第十三章 支援向量機SVM
在監督學習中,很多監督學習演算法的效能都很相似,我們考慮的不是選哪個演算法,而是選擇演算法時所使用的資料量,這就體現了應用演算法時的技巧,比如你設計的用於學習演算法的特徵的選擇,正則化引數的選擇。svm和神經網路 邏輯回歸相比,在學習複雜的非線性方程時能夠提供一種更為清晰的方式。svm的總體優化目標...
吳恩達機器學習筆記
為了解決實際生活中的問題,我們通常需要乙個數學模型。比如,小明有乙個房子 他想賣掉房子 為了知道房子的 小明收集了該地區近兩年的房屋交易 他發現房屋 與房屋大小呈正相關,所以他畫了了一幅圖 小明的房屋大小用紅色的 代替。可見和小明房屋一樣大小的房子並不存在,而類似的房屋 又有很大差別,如此小明決定用...