一、K-means:讓數據自己 “找組織”
什么是聚類?
聚類屬于無監督學習的范疇 —— 簡單說就是手里沒有標簽時,我們要把長得像的樣本分到一組。比如給一堆用戶數據,不需要提前知道 “高價值用戶”“潛在用戶” 這些標簽,聚類算法能自動幫我們發現數據中隱藏的分組規律。
怎么衡量 “像不像”?
判斷樣本是否相似,關鍵看距離度量方式:
- 歐式距離:最常用的一種,就像平面上兩點間的直線距離,擴展到 n 維空間就是各維度差值的平方和開根號。
- 曼哈頓距離:更像城市里打車的路線,算的是坐標差值的絕對值之和(比如從 (1,2) 到 (3,5),距離就是 | 1-3|+|2-5|=5)。
K-means 的核心步驟
- 先定一個 k 值(想分成幾類),隨機選 k 個樣本當初始 “聚類中心”
- 算每個樣本到這 k 個中心的距離,把樣本分到最近的中心那組
- 重新計算每組的均值,作為新的聚類中心
- 重復第 2、3 步,直到中心位置不再變化,聚類結果就穩定了
怎么評價聚類效果?
可以看CH 指標:這個值越大,說明組內樣本越集中(緊湊),組間差異越明顯(分散),聚類效果就越好。
優缺點很鮮明
- 優點:簡單快速,對常規數據集很友好
- 缺點:k 值得自己定(這點很麻煩),對非凸形狀的簇不太敏感,計算量會隨樣本數線性增長
二、集成學習:三個臭皮匠頂個諸葛亮
核心思想
就像做決策時,多聽幾個專家的意見往往比單聽一個更靠譜。集成學習就是把多個 “弱學習器”(性能一般的模型)組合起來,變成一個 “強學習器”(性能更優的模型)。
常見的三種組合套路
Bagging(并行模式)
代表是隨機森林:- 隨機:既隨機采樣數據,又隨機選特征,讓每個決策樹都有點 “個性”
- 森林:多棵決策樹并行生長,最后投票(分類)或平均(回歸)出結果
優勢是能處理高維數據,還能告訴我們哪些特征更重要,訓練速度也快(樹可以并行生成)。
Boosting(串行模式)
典型如 AdaBoost:
從弱學習器開始,每次都根據上一輪的錯誤調整樣本權重 —— 分錯的樣本會被 “重點關照”(權重提高),下一個學習器會更關注這些難分的樣本。最后按每個學習器的表現給權重,組合成強學習器。Stacking(堆疊模式)
更 “暴力” 的組合方式:先讓各種模型(KNN、SVM、隨機森林等)分別輸出結果,再把這些結果當新特征,訓練一個 “元模型” 來做最終預測,相當于 “用模型的結果再建模”。
組合策略
- 簡單平均 / 加權平均(回歸常用)
- 投票法(分類常用,少數服從多數)