原创 Theano學習筆記(二)——邏輯迴歸函數解析

有了前面的準備,可以用Theano實現一個邏輯迴歸程序,邏輯迴歸是典型的有監督學習。 爲了形象,這裏我們假設分類任務是區分人與狗的照片。   首先是生成隨機數對象 importnumpy importtheano importtheano

原创 隱馬爾科夫模型(HMM)及其實現

馬爾科夫模型 馬爾科夫模型是單重隨機過程,是一個2元組:(S,A)。 其中S是狀態集合,A是狀態轉移矩陣。 只用狀態轉移來描述隨機過程。   馬爾科夫模型的2個假設 有限歷史性假設:t+l時刻系統狀態的概率分佈只與t時刻的狀態有關,與t時

原创 Theano學習筆記(三)——圖結構

圖結構(Graph Structures)是瞭解Theano內在工作原理的基礎。 Theano編程的核心是用符號佔位符把數學關係表示出來。   圖結構的組成部分 如圖實現了這段代碼: importtheano.tensor as T x=

原创 矢量化編程——以MNIST爲例

矢量化編程就是用矢量運算取代所有的顯式for循環。 上一節所用的是512*512*10的數據集很小,我們取的patch很小(8*8),學來的特徵很少(25),而我又註釋掉了梯度校驗(偷懶),所以程序用了1分鐘就跑完了(i5處理器)。  

原创 句法模式識別(二)-正規文法、上下文無關文法

正規文法的特性 1.所有長度有限的語言都是正規的。 2.用正規文法當然能產生無限長串,其中週期重複部分的長度不大於非終止符的長度。 舉個例子 在此規則之下,能生成句子 其中週期重複部分爲ab,這個例子的非終止符的元素個數爲2,故滿足2不

原创 主成分分析與白化預處理

上一節介紹了主成分分析應用於2維數據。現在使用高維的圖像數據來試試效果。 原始圖像如圖1所示。 圖1 每個圖片都是12*12的小patch,原始數據是一個144*10000的矩陣x。 在使用了PCA旋轉之後,可以檢查一下此時的協方差矩陣

原创 卡爾曼濾波模型及其Matlab實現

卡爾曼濾波建立在隱馬爾科夫模型上,是一種遞歸估計。也就是說,只需要知道上一個狀態的估計值,以及當前狀態的觀測值,就能計算當前狀態的最優估計值。 而不需要更早的歷史信息。   卡爾曼濾波器的2個狀態 1.最優估計 2.誤差協方差矩陣 這兩個

原创 從自我學習到深層網絡——建立你的第1個深度網絡分類器

自我學習就是稀疏編碼器串聯一個Softmax分類器,上一節看到,訓練400次,準確率爲98.2% 在此基礎上,我們可以搭建我們的第一個深度網絡:棧式自編碼(2層)+Softmax分類器   簡單地說,我們把稀疏自編碼器的輸出作爲更高一層稀

原创 主成分分析(PCA)——以2維圖像爲例

這一節不論是思想還是實現都比較容易。 主成分分析(PCA)就是模式識別裏面說的K-L變換,思想是完全相同的。 詳情可見我的博文:特徵選擇(三)-K-L變換 這裏簡單介紹幾個概念。順便貼出代碼和效果圖。 <span style="font-

原创 卷積特徵提取與池化(Pooling)——處理大型圖像

在之前的章節中,我們已經很好地解決了手寫體識別問題(維數爲28*28)。但如果是更大的圖像(維數爲96*96)呢?如果你還是要學習400個特徵,那麼網絡權重參數就有400*96*96即近400萬個。     卷積特徵提取 如果我們從大型彩

原创 概率圖模型(PGM)學習筆記(四)-貝葉斯網絡-伯努利貝葉斯-多項式貝葉斯

之前忘記強調了一個重要區別:條件概率鏈式法則和貝葉斯網絡鏈式法則的區別 條件概率鏈式法則   貝葉斯網絡鏈式法則,如圖1 圖1   乍一看很容易覺得貝葉斯網絡鏈式法則不就是大家以前學的鏈式法則麼,其實不然,後面詳述。   上一講談

原创 稀疏自編碼器及其實現——如何搞基

自編碼器是什麼? 自編碼器本身就是一種BP神經網絡。它是一種無監督學習算法。 我們都知道神經網絡可以從任意精度逼近任意函數,這裏我們讓神經網絡目標值等於輸出值x,也就是模擬一個恆等函數: 太無聊了,是嗎?輸入等於輸出,這網絡有什麼意義?

原创 Theano學習筆記(一)——代數

標量相加 import theano.tensor as T from theano import function x = T.dscalar('x') y = T.dscalar('y') z = x + y f = function

原创 自我學習(Self-Taught Learning)

自我學習就是把稀疏自編碼器與Softmax迴歸分類器串聯起來。 稀疏編碼器是用來無監督學習的,使用無標籤數據 迴歸分類器是有監督學習,使用標籤數據 實際生活中,我們能輕鬆獲得大量無標籤數據(如從網上隨機下載海量圖片) 難以獲得大量有標籤數

原创 Python學習筆記(一)

List與Tuple Python內置2種有序列表。List是可變數組,Tuple是不可變數組。 List範例:                                     Girls =['LiuJingjing','Zh