首頁>Club>
我現在在做聚類相關的問題,發現有用PCA聚類,可是PCA不應該是降維的方法麼?
2
回覆列表
  • 1 # 論智

    這是一個很有意思的問題。PCA(主成分分析)降維方法,K-means(K均值)聚類方法,似乎風牛馬不相及。但是,果真如此嗎?它們是否有內在的聯絡呢?

    發現有用PCA聚類,可是PCA不應該是降維的方法麼?

    我不知道你具體發現的是哪篇用PCA聚類的論文,不過我猜你看到的可能是這篇:

    Ding & He. 2004. K-means Clustering via Principal Component Analysis. ranger.uta.edu/~chqding/papers/KmeansPCA1.pdf

    這篇論文的主要內容是從形式上準確地描述PCA和K-means的內在聯絡,因此使用了大量數學公式和推導。我不打算在這裡重複推導過程,感興趣的可以直接閱讀上面給出的論文。我將嘗試從直觀的角度形象地說明兩者的聯絡。

    首先,我們簡單溫習下PCA和K-means。

    PCA

    假定我們有一些資料點,PCA的目標是找到一條線,讓這條線上的點能夠最大程度上“代表”原本的資料點。

    那麼,關鍵在於,我們將依據什麼標準尋找這條線?PCA的標準有兩條(這兩條實際上是等價的):

    這條線上的點差異越大越好(從數學上來說,方差較大)。否則線上的點全部擠在一起,代表性顯然不好。基於這條線上的點,重建原資料點的誤差最小。

    我們可以用下面的動圖演示這一點:

    上圖中,紅點是PCA降維後的資料點,紅線為重建誤差。我們可以看到,當直線對準兩端的粉線時,紅線的總長度最小。

    那麼,數學上我們如何表示紅線的總長度呢?

    顯然,直接加起來是不行的,因為正負誤差會互相抵消。

    所以,很自然的,我們就想到,取絕對值或者平方後再相加,然後取平均數(方便應付新增資料點的情況)。

    那麼,到底是取絕對值還是取平方呢?高斯-馬爾可夫定理(Gauss-Markov Theorem)提示我們,取平方比較好。

    所以,概括一下,PCA需要最小化重建的均方誤差(mean-squared error)

    K-means

    K-means聚類,是給定一些資料點,將其分組。分組的依據是和中心點的距離。

    如果說PCA是要找一條直線的話,那麼K-means就需要找中心點。中心點怎麼找?最小化其他資料點和中心點的距離總和。

    這個距離總和如何衡量?使用均方誤差(mean-squared error),所以這一聚類方法稱為K-means.

    PCA和K-means的內在聯絡

    從這裡我們可以看到,PCA是要找一些點(這些點在一條線上),這些點的特徵可以最好地代表原資料點。而K-means是要找一些中心點,這些中心點可以最好地代表所屬聚類中的點。而判定最好的標準,都是最小化均方誤差,所以,從直覺上說,兩者具有內在聯絡。

    利用這一內在聯絡,我們可以先透過PCA計算出聚類均值(具體計算方法見Ding & He的論文),然後迭代該均值,直到收斂(收斂意味著聚類完成)。

  • 2 # 人工智慧營

    聚類是什麼?

    就像是兩塊磁鐵,放在一定的位置,周邊有很多小鐵片,這寫鐵片就會受到磁鐵的影響而分成兩大塊,分別朝著兩塊磁鐵而劃出了區域。這就是聚類的作用!

    降唯是什麼?

    我們來看一個例子:a=[[[[[12,34,42]]]]],這是一個五唯的,有人說,這怎麼就五維度的了。那好我們就來一層一層的剝開它。[ 1唯,[ 2唯,[ 3唯, [ 4唯,[ 5唯。就跟我們穿衣服一樣,數字外面套了五件衣服。如果,我們想了解它,那就必須剝開它!

    可以看得到降維還是蠻簡單嘛,(呵呵呵),可以看得出,這裡我們設定的維度是6。

    有什麼聯絡?

    首先分析一個數據,龐大的。我們先要分門別類,那就需要用到我們的聚類。但是哎,當我們用了聚類後,也有很多時候需要用到降維,防止出現維度災難!再者說:它們具體的語法還是有一些想通之處!

    更多精彩,敬請期待!

  • 中秋節和大豐收的關聯?
  • 為什麼元向外擴張的一系列戰爭不被稱為世界大戰?