%產生正弦樣本
p = [0:0.2*pi:2*pi];
x = [0:pi/180:2*pi];
t = sin(2*x);
n=20;%設定bp網路隱含層的神經元數量
%bp網路建立,並繪製初始狀態
net = newff(minmax(p),[n n 1],,'trainlm');
out_before = sim(net,x);
%給出訓練引數,開始訓練
net.trainparam.epochs =10;%次數
net.trainparam.goal = 0.01;%精度
net = train(net,x,t);
out_later= sim(net,x);
plot(x,t,'-',x,out_before,'--',x,out_later,'--',x,2*x,'-');
以上**在matlab7.0上編輯測試的,bp(back-propagation) 網路即誤差反向傳播網路是應用廣泛的神經網路模型,給以上**配個應用題大概如下:以[0,2*pi]選擇樣本進行bp網路學習訓練,目標函式是t=sin(2*x);
**解釋大概如下:(一)newff()函式的引數以英文逗號分隔,第一部分minmax是取特徵向量的最小值與最大值(等距選擇樣本的設定筆者暫時不確定,在此不詳述),第二部分設定輸入層、隱層、輸出層的神經元個數,第三部分設定神經元的特性函式(亦稱啟用函式、傳遞函式等),tansig為雙曲正切的s型函式,purelin一般為輸出層的線性傳輸函式,第四部分是訓練方法,trainlm是梯度下降和牛頓法的結合;(二)sim函式則對輸入進行**擬合,工具函式newff自然也可以設定最大收斂次數、訓練精度,也可以設定每一層的權值、閥值(其中的理論知識有興趣可以繼續學習)等;最後輸出的結果,由圖可得,同樣在[0,2*pi]的範圍內,以pi/180為間隔的擬合曲線一般可以在最大訓練次數之內符合收斂誤差。
深度學習 卷積神經網路認知
卷積神經網路 cnn 是一種特殊的對影象識別的方式,屬於帶有前向反饋的網路,可用來合理有效的減少神經網路的引數個數。其特點是經過多次特徵提取,關聯型 序列型或結構化等型別的特徵被提取,主要來識別二維圖形。1 輸入層 代表一張圖的畫素矩陣 如32 32 3。特徵提取 2 卷積層 深入分析得到抽象程度更...
神經網路訓練
學習了bp神經網路演算法,剛開始最終要的一點不明白的就是前一層和後一層 這裡指的只有三層,輸入層,隱藏層,輸出層 的權重,其實神經網路演算法中,前一層的每乙個節點和後一層的每乙個節點都有連線權重,初始權重是隨機的。而更新權重是通過輸出層的值來反向更新的。基本過程如下 1.輸入第乙個訓練樣本 對應的就...
神經網路的訓練
既然我們希望網路的輸出盡可能的接近真正想要 的值。那麼就可以通過比較當前網路的 值和我們真正想要的目標值,再根據兩者的差異情況來更新每一層的權重矩陣 比如,如果網路的 值高了,就調整權重讓它 低一些,不斷調整,直到能夠 出目標值 因此就需要先定義 如何比較 值和目標值的差異 這便是損失函式或目標函式...