聚類算法
聚類算法就是將一堆數據進行處理,根據它們的相似性對數據進行聚類。
聚類算法有很多種,具體如下:中心聚類、關聯聚類、密度聚類、概率聚類、降維、神經網絡/深度學習。
聚類算法是機器學習的一個重要組成部分,但是我們要分清聚類與分類的區別,不能將二者混為一談。分類算法肯定是需要有學習語料,然後通過學習語料的學習之後的模板來匹配我們的測試語料集,將測試語料集合進行按照預先學習的語料模板來分類;聚類算法與分類算法最大的區別是聚類算法沒有學習語料集合。
Partitioning approach
1.目標:
找出一個分割,使得距離平方和最小
2.方法:
Global optimal : 枚舉所有partition
Heuristic method:K-Means, K-Medoids
3.K-Means算法:
1. 將數據分為k個非空子集
2. 計算每個類中心點(k-means
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+。
閱讀更多 AI和ai 的文章