無監督學習算法

  • 本文首發自公衆號:RAIS,點擊直接關注。

前言

本系列文章爲 《Deep Learning》 讀書筆記,可以參看原書一起閱讀,效果更佳。

無監督學習算法

就是無監督的一種學習方法,太抽象,有一種定義(這種定義其實不夠準確,無監督和監督之間界限模糊)是說如果訓練集有標籤的就是有監督學習,無標籤的就是無監督,沒有標籤,意味着不知道結果。有監督學習算法可以知道一堆圖片它們是狗的照片,無監督學習算法只能知道它們是一類,但這一類叫什麼就不知道了。

無監督學習算法沒有標籤,因此訓練的也往往是沒有明確目標的,對於結果也可能不好說是好是壞,在本質上來說,無監督學習算法是一種概率統計的方法,在數據中可以發現一些潛在的結構。這麼說還是不夠清楚,舉幾個例子說明無監督學習方法有什麼作用:

用戶分類:馬雲說每天晚上有五十萬的人會瀏覽淘寶,什麼也不買,他也不知道爲什麼,那既然有如此大的流量,不能浪費,進行精準推薦,會不會效果很好呢?在龐大的用戶羣中,找到和你很相似的用戶,也說不出來哪裏相識,反正就是相似,他買過的東西你還沒買過,推薦給你,你會不會就衝動了呢?

發現異常:對於網站來說,防止 DDOS 攻擊就需要在巨大的請求中找到那些非法請求(廣義上的非法,並非單純指參數非法),進行丟棄不進行服務,這可能就需要無監督學習算法,找到那些和正常用戶不一樣的請求,也說不出來哪裏不一樣,反正就是不一樣,直接拋棄請求,不進行服務,那攻擊帶來的影響就會降低一些。

表示

表示是深度學習的核心主題之一,一個經典的無監督學習任務是找到數據的最佳表示,去除那些無關緊要不影響大局或影響因子極小的因素,找到數據最核心最關鍵的簡單表示,這裏的簡單表示包括低緯表示、稀疏表示和獨立表示。

  • 低緯表示:將 x 中的信息儘可能壓縮在一個較小的表示中,通常會產生比原始的高維數據具有較小或較弱依賴關係的元素;
  • 稀疏表示:將數據集嵌入到輸入項大多數爲零的表示中,通常會用於需要增加維數的情況,使得大部分爲零的表示不會丟失很多信息;
  • 獨立表示:試圖分開數據分佈中變化的來源,使得表示的維度是相互獨立的。

主成分分析

主成分分析(PAC)是經典的降維算法,是一種無監督學習。主成分顧名思義,主要的成分,與之相對應的就是非主要的成分。舉個例子,矩陣中有些向量可以用其他的某些向量線性表示,線性相關,那這個向量有一點多餘了,去除後不影響原來的空間,基於這樣的思想,我們可以考慮將矩陣壓縮,在減小矩陣維數的同時儘可能保留原來的信息。

對於方陣的特徵分解,就是線性代數中的方法:

\[X=QΛQ^{-1} \]

其中 X 是 m*m 的矩陣,X 對應的協方差矩陣爲:

\[Var(x)=\frac{1}{m-1}X^TX \]

PAC 通過線性變換找到一個 Var(x) 是對角矩陣的線性表示:z=\(W^TX\)

對於任意矩陣,奇異值分解(SVD)是最接近於特徵分解的,同樣這裏也是:

\[X=U∑W^T \]

其中 X 是 m*n 的矩陣;U 是 m*m 的方陣,其中的正交向量稱作左奇異向量;∑ 是 m*n 矩陣,除對角線元素外都是零,對角線上的元素稱爲奇異值;W 是 n*n 的矩陣,其中的正交向量稱爲右奇異向量。具體的求法步驟爲:

  1. U:求 \(XX^T\) 的特徵值和特徵向量,再單位化;
  2. W:求 \(X^TX\) 的特徵值和特徵向量,再單位化;
  3. ∑:將 \(XX^T\) 的特徵值求平方根。

以 W 作爲特徵向量基,可以得到原來的特徵向量方程,\(U^TU=I, W^TW=I\)

\[X^TX=(U∑W^T)^TU∑W^T=W(∑)^{2}W^T \]

X 的方差:

\[Var(x)=\frac{1}{m-1}X^TX=\frac{1}{m-1}W(∑)^{2}W^T \]

z 的協方差滿足對角的要求:

\[Var(z)=\frac{1}{m-1}Z^TZ=\frac{1}{m-1}(∑)^2 \]

K-maeans 聚類(K-均值聚類)

聚類與分類是不同的,分類的類別是已知的,需要根據訓練集進行訓練和學習,找到不同的特徵,再喂入測試集輸出結果;聚類是事先不知道數據會被分成幾類,通過聚類分析將數據分成幾個羣體。具體方法:

  1. 隨機將找到 K 個特殊數據點;
  2. 其他的數據點根據距離分成 K 類;
  3. 然後在 K 類中每個類別中重新推選 K 個特殊的數據點;
  4. 如果新選定的數據點與之前選定的數據點距離較大,則根據新的數據點重複步驟 2 之後的步驟;
  5. 如果新的數據點和原來的數據點距離在一定閾值內,算法結束。

K-means 聚類優點是快,簡單,對於數據點屬於一團一團的數據效果很好,但是比較嚴重的問題是有可能根據初始值的不同分類效果不同且不好,比如汽車圖片分類,有可能按照是卡車還是小轎車分類,也有可能是根據紅色還是白色分類甚至有些是錯誤的,這一點需要注意,在不合適的地方此方法可能達不到目標。

總結

本文介紹了主成分分析和 K-means 聚類兩種非監督學習方法。

  • 本文首發自公衆號:RAIS,點擊直接關注。由於各平臺 Markdown 解析差異,有些公式顯示效果不好,請到我 個人維護網站 查看。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章