Deep Learning 1 簡單線性分類

2021-07-29 02:01:45 字數 1576 閱讀 4050

前言今天在圖書館進行了為期一天的攻關,對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...