稀疏表示(機器學習 周志華)

2021-08-25 11:27:04 字數 1197 閱讀 8374

1.提出問題:什麼是稀疏表示

假設我們用乙個m*n的矩陣表示資料集x,每一行代表乙個樣本,每一列代表樣本的乙個屬性,一般而言,該矩陣是稠密的,即大多數元素不為0。

稀疏表示的含義是,尋找乙個係數矩陣a(k*n)以及乙個字典矩陣b(m*k),使得b*a盡可能的還原x,且a盡可能的稀疏。a便是x的稀疏表示。

書上原文為(將乙個大矩陣變成兩個小矩陣,而達到壓縮

為普通稠密表達的樣本找到合適的字典,將樣本轉化為合適的稀疏表達形式,從而使學習任務得以簡化,模型複雜度得以降低,通常稱為『字典學習』(dictionary learning),亦稱『稀疏編碼』(sparse coding)」塊內容

表達為優化問題的話,字典學習的最簡單形式為:

其中xi為第i個樣本,b為字典矩陣,aphai為xi的稀疏表示,lambda為大於0引數。

上式中第乙個累加項說明了字典學習的第乙個目標是字典矩陣與稀疏表示的線性組合盡可能的還原樣本;第二個累加項說明了alphai應該盡可能的稀疏。之所以用l1正規化是因為l1正規化正則化更容易獲得稀疏解。具體原因參看該書11.4章或移步機器學習中的範數規則化之(一)l0、l1與l2範數。字典學習便是學習出滿足上述最優化問題的字典b以及樣本的稀疏表示a(a)。l1正則化常用於稀疏,可以獲得稀疏解。如下圖表示,l1正則化交點在軸上,所得的解一般只是在某個軸上有實數,另外的軸為0,從而最終得到稀疏解。

2.字典學習求解(學習字典、稀疏表示)

求解上述最優化問題的總體策略是,對字典b以及樣本稀疏表示alphai交替迭代優化。即先初始化字典b,

1.固定字典b對alphai進行優化。2.固定a對字典b進行優化。重複上述兩步,求得最終b以及x的稀疏表示a。

其中第一步可採用與lasso正則化相似的方法(如proximal gradient desent法)進行求解,第二步可採用ksvd方法進行求解。具體步驟參看該書11.5章節內容

參考:

稀疏表示學習

1.提出問題 什麼是稀疏表示 假設我們用乙個m n的矩陣表示資料集x,每一行代表乙個樣本,每一列代表樣本的乙個屬性,一般而言,該矩陣是稠密的,即大多數元素不為0。稀疏表示的含義是,尋找乙個係數矩陣a k n 以及乙個字典矩陣b m k 使得b a盡可能的還原x,且a盡可能的稀疏。a便是x的稀疏表示。...

機器學習周志華筆記

1,監督學習 分類 回歸 無監督學習 聚類 2,決策樹 根據資訊增益的大小來確定節點 資訊熵 描述事務確定性程度的值 需要多少個bit來描述資訊 ent d pklog2pk 資訊增益 資訊熵 某個屬性劃分的平均資訊熵 該屬性劃分純度 3,支援向量機中對超平面的理解 劃分超平面用以下線性方程表示 w...

周志華 機器學習 筆記

學習演算法自身的歸納偏好與問題是否相配,往往會起到決定作用。對於上面這句話 你的輸入資料被怎麼處理,最終得到什麼結果,我認為偏好指的就是這個處理的過程。線性非線性?那些feature忽略掉?怎麼利用這些資料?更具體一些,你用網路處理,還是傳統方法,資料的分布和你的處理方法相符嗎?沒有免費的午餐定理 ...