前言今天在圖書館進行了為期一天的攻關,對bp神經網路進行了深入的學習,晚上花了將近3個小時的時間完成了我的第乙個神經網路程式(基於matlab)。
希望這是乙個好的開始。
這是我的第乙個 deep learning / 神經網路 程式,運用了bp神經網路對8個資料點進行四分類。
matlab**如下:
exercise1_minibatch.m
clear;
p = ; %11
y = ;
b = [-155;234];
w = [12,-34
105,444];
eta = 0.1; %learning rate
iter= 10000; %iterator
c = zeros(iter,1);
m = 8;
dw = 0;
db = 0;
for k=1:iter
for i=1:8
z = w*p+b;
a = myhardlim(z);
dz = (a-y)*1;
dw = dw + dz*p';
db = db + dz;
if(mod(i,m)==0)
w = w-eta*dw/m;
b = b-eta*db/m;
dw = 0;
function mat = myhardlim(mat)
[m,n] = size(mat);
for i=1:m
for j=1:n
if(mat(i,j)>=0)
mat(i,j)=1;
elseif(mat(i,j)<0)
mat(i,j)=0;
endend
end
db = 0; end c(k) =c(k) + 1/2*sum((a-y).^2); end end plot(c); for i=1:iter if(c(i)==0) fprintf('iterator times: %d\n',i); break; end end
實驗資料
收斂所需輪數
eta(學習速率)
mini_batch(m)
0.11101
79881102
1593
16017
43185
31933
86368
63864
缺陷1.樣本集太少,且只有測試集,沒有訓練集,無法檢視過擬合等情況。
優點1.簡單,適合入門;
2.對迭代輪數、bp演算法等有了乙個基本的認識;
3.對以後的進一步學習打下了基礎。
未來工作
1.對mnist資料集進行訓練
2.對《neural network and deep learning》進一步學習(它使用python訓練了mnist資料集)
reference:
[1] 《機器學習》,周志華
[2] nielsen
[3] 《神經網路理論及應用》課程ppt,蒲曉蓉
Deep learning 一 基礎知識 1
前言 最近打算稍微系統的學習下deep learing的一些理論知識,打算採用andrew ng的網頁教程ufldl tutorial,據說這個教程寫得淺顯易懂,也不太長。不過在這這之前還是複習下machine learning的基礎知識,見網頁 內容其實很短,每小節就那麼幾分鐘,且講得非常棒。教程...
1 簡單的登入介面(1)
1 從左邊的 工具箱 中向設計窗體拖放1個label控制項,然後在縱向複製1個label控制項,接著依次對2個label控制項的 text 屬性進行修改,分別修改為 使用者名稱 密碼 2 從 工具箱 中拖放兩個textbox控制項將它們分別放在對應的label控制項的右邊,textbox2 密碼 的...
JSON簡單例子 1
package com.xuankai.json import org.json.jsonarray import org.json.jsonobject public class test jsonobject jsonobject new jsonobject jsoncontent strin...