關於稀疏自編碼 「搞基」總結

2021-07-22 05:47:19 字數 690 閱讀 7979

上個月研究了一下稀疏自編碼相關知識,主要是做乙個小小培訓用。查閱了很多資料,看的大多數是原理性的,本人還沒涉及到**層面。文章大致分為兩類:

1、在代價函式後加乙個kl距離(相對熵)項,實現稀疏性。

2、在代價函式後加乙個l1範數,實現稀疏性。

方法1理解較簡單,吳恩達及其他作者衍生出的一些文章有較詳細描述,最後是在稀疏自編碼網路中利用bp學習演算法,得到一組基及網路引數。

方法2需要求解乙個字典和稀疏矩陣,其實和方法1得到的東西是一樣的,只是求解過程會用到omp(正交匹配追蹤演算法)等演算法(不一定用這種演算法)。

我還不理解的地方主要是:這兩種方法是否有內在聯絡,為什麼分為這兩種。

之前有問了一位交大在讀妹子,她也是沒有深入了解,但還是整理了一篇,見她博文(對此表示感謝。

一、關於kl距離作為稀疏限制:

1、2、

3、4、

5、6、

二、關於l1範數作為稀疏限制:

1、2、

3、4、

三、關於範數稀疏性解釋

1、2、

3、4、

5、6、 原浙大碩,後mit,他的生活帖子讀來輕鬆卻令人憧憬,大學時代的情懷吧。

四、其他是一些稀疏自編碼、數學或**層面解析

1、4、

5、6、

謝謝以上原創或非原創部落格提供的知識共享,其中各種穿插,相信讀者能在其中找到脈絡。

UFLDL(五)自編碼演算法與稀疏性

新教程內容太繁複,有空再看看,這節看的還是老教程 之前討論的神經網路是在有監督的學習中的應用,而自編碼神經網路是一種無監督的學習演算法。它的特點是使用了bp,並且把輸入值當作目標值。當隱藏層單元的個數小於輸入的個數時,相當於完成了降維,而當輸出時,又相當於重新恢復。為了給隱藏單元加入稀疏性限制,可限...

為什麼要用稀疏自編碼而不直接設更少的隱層節點

剛學自編碼,以下是本人關於題目問題的一點思考。自編碼器是一種非常簡單的bp神經網路,是一種無監督學習演算法。使用乙個三層 只有乙個隱含層 的自編碼網路,然後設定隱含節點的數量少於輸入層節點,就能夠輕鬆地實現特徵降維。如圖 fig1.自編碼器網路結構 來自網路 refer to deep learni...

關於編碼的一些小總結

編碼二 1,不同的密碼本之間的二進位制是不能互相識別的,容易報錯或者產生亂碼。2,計算機的檔案儲存和傳輸都是0101010 gbk,utf 8,ascii,gb2312等 不能是unicode。大前提 python3x,編碼。bytes str 擁有的所有方法,bytes都有。python3x 記憶...