向量程式設計 隨著MNIST案例

2021-09-07 02:35:53 字數 1156 閱讀 9013

向量程式設計使用的所有明確的向量運算,而不是for週期。

上一節所用的是512*512*10的資料集非常小。我們取的patch非常小(8*8),學來的特徵非常少(25)。而我又凝視掉了梯度校驗(偷懶),所以程式用了1分鐘就跑完了(i5處理器)。

但實際上我們遇到的問題規模比這個打太多了,略微大一點的資料集比方說mnist。這個資料庫是另外乙個更大的手寫體資料庫nist的子集,包括60000個訓練樣例和10000測試樣本,全部的都經過了尺寸標準化和中心化,的大小固定(28*28)。

輸入

images= loadmnistimages('train-images-idx3-ubyte');

display_network(images(:,1:100));

瞧瞧mnist前100個。

圖1

變了,對應可見層和隱藏層的節點都要變,這裡改動一下引數:

visiblesize= 28*28;

hiddensize= 196;

sparsityparam= 0.1;

lambda= 3e-3;

beta= 3;

images= loadmnistimages('train-images.idx3-ubyte');

patches=images(:,1:10000);

因為上一節我的**已經是向量化之後的**了。這裡就直接拿來用即可了,andrew說:「ourimplementation takes around 15-20 minutes on a fast machine.」感受了一下,確實差點兒相同。假設沒有向量化,預計一上午都難以出結果。

執行後直接等即可了10多分鐘就出爐了,鍵盤有點微燙

圖2

歡迎參與討論並關注

本部落格和

微博以及

知乎個人主頁

興許內容繼續更新哦~

上述文字

以及,謝謝您的支援。

MATLAB實現支援向量機演算法(MNIST資料集)

svm 是通過學習樣本尋找分類間隔邊界,把這一過程轉化為了 乙個優化問題。眾所周知,分類間隔是由距離分類決策邊界最近的那些少量樣本決定的,而比這些樣本距離分類決策邊界更遠的大量樣本,其實都不會影響到最優權向量的求取,這些作用十分特殊的樣本,就被稱為 支援向量 表示是他們支撐起了線性分類器在最大分類間...

python程式設計案例 python程式設計案例

利用python內建函式和列表物件方法def demo2 x,y,z i max x ipos x.index i j max y jpos y.index j k max z kpos z.index k return i j k,ipos,jpos,kpos 但是,上面的 看上去還是很笨啊,傻傻...

HBase Coprocessor程式設計案例

1.啟用協處理器aggregation enable coprocessor aggregation 兩種方法 1 啟動全域性aggregation,能夠操作所用表上的資料。通過修改hbase site.xml檔案實現,property name hbase.coprocessor.user.reg...