沒有標籤、沒有標準答案、沒有老師改考卷。
這是機器學習裡最放飛自我的「邪修」流派。
各位,歡迎回到頻道。今天我們要聊的這個東西,第一次看到你會很難分辨,它到底是一個認真的學習方法,還是某個喝醉的資料科學家,拿著一堆沒貼標籤的資料,硬要電腦自己「悟」出結構來。
監督式學習是好學生:老師給題目、給答案,它照抄。而非監督式學習呢?它是那種沒人教、自己在房間裡瞎搞,然後某天突然開悟的怪咖。你只丟一堆資料,不告訴它誰是誰,它就自己開始分堆、自己找規律。
它的核心任務其實就兩條路:一條叫分群(把長得像的兜在一起),一條叫降維(把一大坨資訊壓扁到你看得懂)。真金不怕火煉——聽我把這兩條路走一遍。
沒有名牌的派對,機器要自己看誰跟誰站一堆。同樣一件事,四個演算法四種脾氣。
K-Means 是分群界的Street Fighter——招式老掉牙,但幾十年了大家還在用,因為它又快又直覺。你先告訴它要分成幾群(K),它隨機丟幾個中心點,大家投靠最近的中心,再把中心搬到人堆正中間,來回反覆,直到沒人想搬家為止。
缺點也很誠實:K 要你自己猜(猜錯就全盤崩壞)、只認得圓圓的一坨、遇到長條形或奇形怪狀的群體它就傻眼,還會被離群值一把拉歪。
這位是慢工出細活的族譜學家。它從每個點都是自己一國開始,一步一步把最靠近的兩群合併,最後長成一棵樹(樹狀圖 Dendrogram)。你想分幾群?拿把剪刀在樹上哪一層剪下去就好,事後才決定,超級隨性。
好處是不用預先設 K、能看出資料的「巢狀結構」;壞處是資料一大就慢到懷疑人生(複雜度直接爆),而且合併了就反悔不了。
前兩位有個通病:硬要每個人都歸隊。DBSCAN 不慣這毛病——它看的是密度,人擠人的地方自動成群,形狀再怎麼扭曲(月牙形、環形)它都認得,而站在荒郊野外的孤點,直接標記成噪音,不強迫入群。
它不用你指定群數,但要你調兩個參數(半徑 eps 與最少點數)。密度差很多的資料它會卡住——於是進化版 HDBSCAN 登場,自動處理不同密度、少調一個參數,穩定度大升。
K-Means 是硬派——你就是這群、沒得商量(hard assignment)。GMM 是政治正確版:它假設資料是好幾個高斯鐘形分佈疊在一起,然後告訴你每個點屬於各群的機率(soft assignment)。
因為它有「形狀」的概念(用共變異數描述橢圓胖瘦與傾斜),所以能處理 K-Means 搞不定的橢圓形、重疊模糊的群。代價是計算較重、也要你先猜群數。
把一大坨看不懂的高維資料,壓成人類眼睛看得下去的 2D/3D,還盡量不搞丟重點。
PCA 是降維界的老大哥,講究數學上的乾淨俐落。它去找資料「散得最開」的那幾個方向(主成分),把資料投影上去,一口氣把幾百維壓成幾維,還保留最多的資訊量。又快、可解釋、可逆,是最常見的第一步。
但它有個死穴:它只會畫直線(線性)。資料要是捲成瑞士捲那種彎曲結構,PCA 一刀切下去,會把本來離很遠的點壓成鄰居,慘案發生。
t-SNE 是那種為了視覺效果拚了命的選手。它不管全局長怎樣,只死守一件事:在高維相鄰的點,壓到 2D 也要黏在一起。出來的圖一團一團分得漂漂亮亮,是論文插圖的常客。
但要小心它的障眼法:圖上兩坨的「距離遠近」跟「一坨的大小」通常沒有意義,別過度解讀。而且它慢、每次跑結果都不太一樣、參數(perplexity)很敏感,只適合拿來「看」,不適合當正式特徵。
如果 t-SNE 是天才但脾氣古怪,UMAP 就是那個又快又穩、還兼顧全局的接班人。它建立在數學(流形與拓撲)的地基上,速度遠勝 t-SNE、能處理更大的資料,而且既保留局部鄰居、也比較保得住整體結構。
更爽的是它能套用到新資料上(transform),不用整批重跑。近年幾乎變成高維視覺化的預設首選。但一樣要提醒:圖是拿來探索用的,別把上面的距離當聖旨。
圖裡每個方法後面都拖著一顆紅點——因為沒有標準答案的世界,最怕的就是自我感覺良好。分完、降完,你得有辦法證明它不是在唬爛。
Silhouette 看「群內緊、群間遠」;Elbow / BIC 幫你選群數;DBCV 專治密度型分群。
PCA 看解釋變異比;t-SNE/UMAP 看 Trustworthiness,確認鄰居沒被拆散。
ARI、NMI 可以拿你的分群結果去對照真實類別,算它猜得多準。
丟進下游任務跑跑看——分類、檢索、異常偵測有沒有變強,才是硬道理。