日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

快速稀疏编码算法

發布時間:2025/7/25 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 快速稀疏编码算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

self-taught?learning】快速稀疏編碼算法

?

Self-taught?learningHonglak?Lee等開發的一個matlab框架,能夠實現他們在論文Self-taught?Learning?Transfer?Learningfrom?Unlabeled?DataEfficient?sparse?coding?algorithms中提出的快速實現圖像稀疏編碼的算法。

?

先看第一篇論文《Self-taught?LearningTransfer?Learning?from?Unlabeled?Data

?

主要思想:

在監督分類算法的數據中,加入部分unlabel的數據,未標數據不一定和訓練集數據從屬同一類類別,在建模過程中,首先根據未標數據訓練出一組基,然后對訓練集的數據用該空間的基表示,最后使用SVM或其他分類算法進行分類。

?

PS.

這種方法不同于semi-supervised?learning,后者需要加入的未標數據,必須跟訓練集具有相同類型的類別,例如想要對大象和犀牛的圖像集分類,就必須加入大象和犀牛的未標圖像,而self-taught?learning可以加入任意圖像比如自然景色等。

加入未標數據是為了使圖像的特征變得稀疏,能夠加速訓練的計算速度。

?

符號約定:


?

算法介紹

?

第一步:根據未標數據學習一組表示圖像的基。

?

對于未標數據,提出如下的優化公式:

?

優化的目標是基向量組b和稀疏系數a。k是輸入數據的個數,s是新空間的維度,n是原始輸入空間的維度。所以,bs*n的矩陣,ak*s的矩陣。上面的公式有兩項需要優化,左邊項的目的是用一組基來表示輸入數據,并且使得誤差最小,右邊項引入了L1規則作為懲罰項,使得學習出來的系數a大部分是零。

保持a不變求b,或者保持b不變求a,都是凸優化問題,可以用梯度下降等方法求得。

這里補充一下L1/L2規則化。(在第二篇論文里提到過)

常用的規則化函數有下面三種:

?

第一種是L1規則化,即1范數。第二種是加上參數的L1規則化。第三種是log規則化。前兩種作為稀疏函數求解都是凸優化的問題,所以比較常用,而且L1規則化通常用于產生稀疏,對不相關特征也有很好的魯棒性。

?

第二步:根據上步的基,表示已標數據。

?

對每個已標數據,根據第一步中得到的一組基,通過優化下面的公式得到其稀疏系數a

?

這就變成了L1規則化最小二乘問題,可以優化出稀疏向量來表示輸入。

?

第三步:將得到的數據特征輸入分類器進行分類。

?

將上步得到的訓練數據的特征輸入分類器(例如SVM)中進行分類。

?

完整算法偽代碼:

?

?

論文中還涉及到了與其他算法(PCA)的對比,以及實驗,這里略過不提。

?

?

再看第二篇論文《Efficient?sparse?coding?algorithms

?

有了上面的基礎,如何快速稀疏編碼就會更容易理解,大體思路是一樣的,不同之處在于優化公式有所改變,如下:

?

生成模型的誤差服從(mean=0,?cov=σ2I)的高斯分布,上式用矩陣表示如下:

?

B固定求S,或者S固定求B的時候,都是凸優化問題。在這篇論文里,交替的求BS(保持另一個固定)。當學習B時,問題變成了最小二乘優化問題,解決方法有QCQP、梯度下降,問題是QCQP求解速度慢,梯度下降收斂慢,論文提出使用“Lagrange?dual”求解。當學習S時,問題變成了規則化最小二乘問題,論文里使用“generic?QP”方法解決。

?

這篇論文我還沒有看完,現在存在這樣的問題

1、我還不太明白最小二乘、規則化最小二乘是啥意思。

2、Lagrange?dual方法還沒看具體是怎樣推導的。

3、generic?QP也沒看怎么推導的。

?

?

Matlab代碼的使用方法

作者提供了self-taught?learning框架的matlab代碼,下載。

?

使用方法:

?

1.?download?IMAGES.mat?from?http://redwood.berkeley.edu/bruno/sparsenet/

2.?copy?IMAGES.mat?to?./data?directory

3.?move?to?./code?

4.?run?matlab?and?execute:

????????"demo_fast_sc(1)":?epsilon-L1?sparsity?penalty

????????"demo_fast_sc(2)":?L1?sparsity?penalty

?

Note:?You?can?apply?sparse?coding?to?any?type?of?general?data.?See?sparse_coding.m?for?details.

總結

以上是生活随笔為你收集整理的快速稀疏编码算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。