摘要:實驗基礎(chǔ)其實實現(xiàn)該功能的主要步驟還是需要計算出網(wǎng)絡(luò)的損失函數(shù)以及其偏導(dǎo)數(shù),具體的公式可以參考前面的博文八。生成均勻分布的偽隨機數(shù)。
前言:
現(xiàn)在來進入sparse autoencoder的一個實例練習(xí),參考Ng的網(wǎng)頁教程:Exercise:Sparse Autoencoder。 這個例子所要實現(xiàn)的內(nèi)容大概如下:從給定的很多張自然圖片中截取出大小為8*8的小patches圖片共10000張,現(xiàn)在需要用sparse autoencoder的方法訓(xùn)練出一個隱含層網(wǎng)絡(luò)所學(xué)習(xí)到的特征。該網(wǎng)絡(luò)共有3層,輸入層是64個節(jié)點,隱含層是25個節(jié)點,輸出層當(dāng)然也是64個節(jié)點 了。
?
實驗基礎(chǔ):
其實實現(xiàn)該功能的主要步驟還是需要計算出網(wǎng)絡(luò)的損失函數(shù)以及其偏導(dǎo)數(shù),具體的公式可以參考前面的博文Deep learning:八(Sparse Autoencoder)。下面用簡單的語言大概介紹下這個步驟,方便大家理清算法的流程。
1. 計算出網(wǎng)絡(luò)每個節(jié)點的輸入值(即程序中的z值)和輸出值(即程序中的a值,a是z的sigmoid函數(shù)值)。
2. 利用z值和a值計算出網(wǎng)絡(luò)每個節(jié)點的誤差值(即程序中的delta值)。
3. 這樣可以利用上面計算出的每個節(jié)點的a,z,delta來表達出系統(tǒng)的損失函數(shù)以及損失函數(shù)的偏導(dǎo)數(shù)了,當(dāng)然這些都是一些數(shù)學(xué)推導(dǎo),其公式就是前面的博文Deep learning:八(Sparse Autoencoder)了。
其實步驟1是前向進行的,也就是說按照輸入層——》隱含層——》輸出層的方向進行計算。而步驟2是方向進行的(這也是該算法叫做BP算法的來源),即每個節(jié)點的誤差值是按照輸出層——》隱含層——》輸入層方向進行的。
一些malab函數(shù):
bsxfun:
C=bsxfun(fun,A,B)表達的是兩個數(shù)組A和B間元素的二值操作,fun是函數(shù)句柄或者m文件,或者是內(nèi)嵌的函數(shù)。在實際使用過程 中fun有很多選擇比如說加,減等,前面需要使用符號’@’.一般情況下A和B需要尺寸大小相同,如果不相同的話,則只能有一個維度不同,同時A和B中在 該維度處必須有一個的維度為1。比如說bsxfun(@minus, A, mean(A)),其中A和mean(A)的大小是不同的,這里的意思需要先將mean(A)擴充到和A大小相同,然后用A的每個元素減去擴充后的 mean(A)對應(yīng)元素的值。
rand:
生成均勻分布的偽隨機數(shù)。分布在(0~1)之間
主要語法:rand(m,n)生成m行n列的均勻分布的偽隨機數(shù)
? ?? ?? ?? ? rand(m,n,"double")生成指定精度的均勻分布的偽隨機數(shù),參數(shù)還可以是"single"
? ?? ?? ?? ? rand(RandStream,m,n)利用指定的RandStream(我理解為隨機種子)生成偽隨機數(shù)
randn:
生成標(biāo)準(zhǔn)正態(tài)分布的偽隨機數(shù)(均值為0,方差為1)。主要語法:和上面一樣
randi:
生成均勻分布的偽隨機整數(shù)
? 主要語法:randi(iMax)在閉區(qū)間(0,iMax)生成均勻分布的偽隨機整數(shù)?
? ?? ?? ?? ? randi(iMax,m,n)在閉區(qū)間(0,iMax)生成mXn型隨機矩陣
? ?? ?? ?? ? r = randi([iMin,iMax],m,n)在閉區(qū)間(iMin,iMax)生成mXn型隨機矩陣
exist:
測試參數(shù)是否存在,比如說exist("opt_normalize", "var")表示檢測變量opt_normalize是否存在,其中的’var’表示變量的意思。
colormap:
設(shè)置當(dāng)前常見的顏色值表。
floor:
floor(A):取不大于A的較大整數(shù)。
ceil:
ceil(A):取不小于A的最小整數(shù)。
imagesc:
imagesc和image類似,可以用于顯示圖像。比如imagesc(array,"EraseMode","none",[-1 1]),這里的意思是將array中的數(shù)據(jù)線性映射到[-1,1]之間,然后使用當(dāng)前設(shè)置的顏色表進行顯示。此時的[-1,1]充滿了整個顏色表。背景擦 除模式設(shè)置為node,表示不擦除背景。
repmat:
該函數(shù)是擴展一個矩陣并把原來矩陣中的數(shù)據(jù)復(fù)制進去。比如說B = repmat(A,m,n),就是創(chuàng)建一個矩陣B,B中復(fù)制了共m*n個A矩陣,因此B矩陣的大小為[size(A,1)*m? size(A,2)*m]。
使用函數(shù)句柄的作用:
不使用函數(shù)句柄的情況下,對函數(shù)多次調(diào)用,每次都要為該函數(shù)進行全面的路徑搜索,直接影響計算速度,借助句柄可以完全避免這種時間損耗。也就是直接指定了函數(shù)的指針。函數(shù)句柄就像一個函數(shù)的名字,有點類似于C++程序中的引用。
?
實驗流程:
首先運行主程序train.m中的步驟1,即隨機采樣出10000個小的patch,并且顯示出其中的204個patch圖像,圖像顯示如下所示:
? / 2 頁下一頁
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/4286.html
摘要:如果你對算法實戰(zhàn)感興趣,請快快關(guān)注我們吧。加入實戰(zhàn)微信群,實戰(zhàn)群,算法微信群,算法群。 作者:chen_h微信號 & QQ:862251340微信公眾號:coderpai簡書地址:https://www.jianshu.com/p/b5c... 介紹一些人工智能技術(shù)的術(shù)語,如果你還有術(shù)語補充,請訪問 Github English Terminology 中文術(shù)語 neur...
摘要:有監(jiān)督學(xué)習(xí)與無監(jiān)督學(xué)習(xí),分類回歸,密度估計聚類,深度學(xué)習(xí),,有監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)給定一組數(shù)據(jù),為,。由于不需要事先根據(jù)訓(xùn)練數(shù)據(jù)去聚類器,故屬于無監(jiān)督學(xué)習(xí)。 Deep Learning是機器學(xué)習(xí)中一個非常接近AI的領(lǐng)域,其動機在于建立、模擬人腦進行分析學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),最近研究了機器學(xué)習(xí)中一些深度學(xué)習(xí)的相關(guān)知識,本文給出一些很有用的資料和心得。Key Words:有監(jiān)督學(xué)習(xí)與無監(jiān)督學(xué)習(xí),分類...
摘要:深度學(xué)習(xí)通過組合低層特征形成更加抽象的高層表示屬性類別或特征,以發(fā)現(xiàn)數(shù)據(jù)的分布式特征表示。深度學(xué)習(xí)的概念由等人于年提出。但是自年以來,機器學(xué)習(xí)領(lǐng)域,取得了突破性的進展。 深度學(xué)習(xí)是機器學(xué)習(xí)研究中的一個新的領(lǐng)域,其動機在于建立、模擬人腦進行分析學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),它模仿人腦的機制來解釋數(shù)據(jù),例如圖像,聲音和文本。深度學(xué)習(xí)是無監(jiān)督學(xué)習(xí)的一種。 深度學(xué)習(xí)的概念源于人工神經(jīng)網(wǎng)絡(luò)的研究。含多隱層的多層感知...
摘要:深度學(xué)習(xí)學(xué)習(xí)筆記整理系列作者聲明該的學(xué)習(xí)系列是整理自網(wǎng)上很大牛和機器學(xué)習(xí)專家所無私奉獻的資料的。但是自年以來,機器學(xué)習(xí)領(lǐng)域,取得了突破性的進展。 Deep Learning(深度學(xué)習(xí))學(xué)習(xí)筆記整理系列 [email protected] http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0? 2013-04-08聲明:1)該Deep Lea...
摘要:降噪自編碼器認為,設(shè)計一個能夠恢復(fù)原始信號的自編碼器未必是最好的,而能夠?qū)Ρ晃廴酒茐牡脑紨?shù)據(jù)進行編碼解碼,然后還能恢復(fù)真正的原始數(shù)據(jù),這樣的特征才是好的。該恢復(fù)信號盡可能的逼近未被污染的原數(shù)據(jù)。此時,監(jiān)督訓(xùn)練的誤差函數(shù)就從原來的變成了。 作者:chen_h微信號 & QQ:862251340微信公眾號:coderpai簡書地址:https://www.jianshu.com/p/f7...
閱讀 3286·2021-11-24 09:38
閱讀 2158·2021-11-23 09:51
閱讀 1750·2021-10-13 09:39
閱讀 2623·2021-09-23 11:53
閱讀 1408·2021-09-02 15:40
閱讀 3660·2019-08-30 15:54
閱讀 1135·2019-08-30 13:04
閱讀 2566·2019-08-30 11:01