聚類演算法是無監督學習演算法
k-means演算法是乙個常用的聚類演算法
演算法過程
1. 簇分配。隨機選擇k個點作為聚類中心,遍歷每個點,離a近的點算a類,離b近的點算b類,以此類推
2. 移動聚類中心。計算每一類的中心(平均值的點)
3. 重新計算每個點所屬的類別。如果聚類中心不變,每個點的類別也不變,那麼演算法收斂,否則到2。
演算法接收的輸入
1. k,聚類的數量
2. 訓練集x1
,x2,
...,
xnx 1,
x2,.
..,x
n注意:如果對於某個聚類中心,沒有點分配給它,那麼就直接移除這個聚類中心,減少為k-1類
k-means演算法的優化目標c(
i)c (i
)表示第i類,μk
μ
k表示第k類的聚類中心 j(
c(1)
,...
,c(m
),μ1
,...
,μk)
=1m∑
i=1m
||x(
i)−μ
c(i)
||2 j(c
(1),
...,
c(m)
,μ1,
...,
μk)=
1m∑i
=1m|
|x(i
)−μc
(i)|
|2
如何避免區域性最優
隨機初始化有可能導致區域性最優,所以需要嘗試多次不同的初始值。
如何選擇聚類的數量
肘部法則:不斷地改變k值,然後計算cost,因為k越大cost越小,所以找下降最劇烈點的k值
根據實際情況選擇
吳恩達機器學習筆記
為了解決實際生活中的問題,我們通常需要乙個數學模型。比如,小明有乙個房子 他想賣掉房子 為了知道房子的 小明收集了該地區近兩年的房屋交易 他發現房屋 與房屋大小呈正相關,所以他畫了了一幅圖 小明的房屋大小用紅色的 代替。可見和小明房屋一樣大小的房子並不存在,而類似的房屋 又有很大差別,如此小明決定用...
吳恩達機器學習筆記
sigmoid啟用函式 0,1 x 0,y 0.5 tanh啟用函式 1,1 x 0,y 0 relu啟用函式 x 0,y 0 x 0,y x sigmoid啟用函式 除了輸出層是乙個二分類問題基本不會用它。tanh啟用函式 tanh是非常優秀的,幾乎適合所有場合。relu啟用函式 最常用的預設函式...
吳恩達《機器學習》第十三章 聚類
聚類演算法 k means演算法 本節問題 隨機初始化n個聚類中心 距離是歐幾里得距離 衣服尺寸的劃分有點像是無監督演算法的市場化 q 如果有乙個聚類中心,它沒有被分配到任何乙個點,怎麼辦?a 一般情況移除這個聚類中心,但是聚類中心就會從k變為k 1 如果想保持k個聚類,則在初始化這個點一次 本節目...