尚學堂人工智慧之聚類算法

聚類算法

聚類算法就是將一堆數據進行處理,根據它們的相似性對數據進行聚類。

聚類算法有很多種,具體如下:中心聚類、關聯聚類、密度聚類、概率聚類、降維、神經網絡/深度學習。

聚類算法是機器學習的一個重要組成部分,但是我們要分清聚類與分類的區別,不能將二者混為一談。分類算法肯定是需要有學習語料,然後通過學習語料的學習之後的模板來匹配我們的測試語料集,將測試語料集合進行按照預先學習的語料模板來分類;聚類算法與分類算法最大的區別是聚類算法沒有學習語料集合。

尚學堂人工智能之聚類算法

Partitioning approach

1.目標:

找出一個分割,使得距離平方和最小

2.方法:

Global optimal : 枚舉所有partition

Heuristic method:K-Means, K-Medoids

3.K-Means算法:

1. 將數據分為k個非空子集

2. 計算每個類中心點(k-means中心點是所有點的average),記為seed point

3. 將每個object聚類到最近seed point

4. 返回2,當聚類結果不再變化的時候stop

複雜度:

O(kndt)

-計算兩點間距離:d

-指定類:O(kn) ,k是類數

-迭代次數上限:t

4.K-Medoids算法:

1. 隨機選擇k個點作為初始medoid

2.將每個object聚類到最近的medoid

3. 更新每個類的medoid,計算objective function

4. 選擇最佳參數

4. 返回2,當各類medoid不再變化的時候stop

複雜度:

O((n^2)d)

-計算各點間兩兩距離O((n^2)d)

-指定類:O(kn) ,k是類數

尚學堂人工智能之聚類算法

5.特點:

-聚類結果與初始點有關(因為是做steepest descent from a random initial starting oint)

-是局部最優解

-在實際做的時候,隨機選擇多組初始點,最後選擇擁有最低TSD(Totoal Squared Distance)的那組

6.KMeans和KMedoid的實現

聚類是數據挖掘中的概念,就是按照某個特定標準(如距離)把一個數據集分割成不同的類或簇,使得同一個簇內的數據對象的相似性儘可能大,同時不在同一個簇中的數據對象的差異性也儘可能地大。也即聚類後同一類的數據儘可能聚集到一起,不同類數據儘量分離。

尚學堂12大精英團隊+各類實戰項目,真正實現1+1>10的目標效果。幫助學員迅速成長,持久騰飛,成就學員“高富帥”人生;幫助企業技術和團隊成長,成就百年中華名企;助力中國持續成為世界強國而貢獻力量。尚學堂12大精英團隊,覆蓋IT行業十大領域,實戰團隊240人,服務學員累計超過10萬人,就業合作企業數量500+。


分享到:


相關文章: