構建cost function的表示式的函式,其神經網路圖如下,其θ1和θ2已經訓練好。
輸入x為5000*400的矩陣 (5000個元素,400個畫素)
y為5000*1的矩陣 其中有5000個結果,以1,2,3,4,5,6,7,9,10(代表0)為label
a1=[ones(size(x,1),1) x]; %為每個輸入樣品加入乙個偏置單元 size(x,1) is the row number of x
%a1=5000*401
z2=a1*theta1';
%z2=5000*25
a2=[ones(size(x,1),1) sigmoid(z2)];
%a2=5000*26
z3=a2*theta2';
%z3=5000*10
h=sigmoid(z3);
%h=5000*10
%y=5000*1
i=0;
for i=1:10
j=j+sum(-(y==i).*log(h(:,i))-(1-(y==i)).*log(1-h(:,i)));
%y==i將y變成對應i以0,1構成的向量
%h為5000*10,列數代表不同數字 即不同輸出層神經元的**值
%y==i 對應為5000*1的向量,構建時將h分為10份 y*對應的h 使對應的神經元變成i的神經元.
%yingxiang
end;
j=(1/m)*j;
機器學習 誤差逆傳播演算法 反向傳播演算法
誤差逆傳播演算法 error backpropagation,bp 是神經網路中常用的傳播演算法。bp演算法不僅可以應用於多層前饋神經網路,還可以應用於其他型別的神經網路,如訓練遞迴神經網路。通常所說的 bp網路 一般是指用bp演算法訓練的多層前饋神經網路。給定訓練集 d left y x y x ...
BP誤差反向傳播演算法
bp演算法通過將輸出誤差反向傳播,將誤差分配到每個權值上,利用梯度更新對所有引數進行調整以達到輸出累計誤差最小 來自andrew ng的machine learning課程 為了簡化概念,先不加上偏置單元 符號介紹 zl i 第 l 層第 i節點的誤差zl i 第 l 層第i節點的輸入值al i 第...
Day7 誤差反向傳播
神經網路通過數值微分計算神經網路的權重引數的梯度 即損失函式關於權重引數的梯度 數值微分雖然簡單,容易實現,但是計算比較耗時。計算圖的特徵是可以通過傳遞 區域性計算結果 獲得最終結果。可以通過正向傳播和反向傳播高效地計算各個變數的導數值。計算圖將神經網路的計算過程通過資料的圖結構表示出來。從左往右進...