接觸matlab神經網路有一段時間了,但由於是自己業餘學習的一直沒有認真學下去,這幾天又搗鼓了一下,下面是基於matlab2016a的環境下廁所的簡單曲線擬合實驗
首先需要了解幾個重要的函式
或者matlab本地的幫助檔案那裡檢視學習,幫助文件裡的介紹非常豐富,不過有點還需要自己網上搜尋學習。tic;
x=0:0.4:10;
y=x.*sin(x); %這是目標輸出樣本
net=fitnet(10,'trainlm'); %先構造乙個隱含層為10個神經元的網路,預設的訓練網路就是『trainlm',levenberg-marquardt演算法
xx=0:0.1:10; %這是新的訓練樣本
net0=configure(net,x,y); %先對資料隨機配置
y0=sim(net0,xx); %得出此時的結果
%plotperform(tr0)
[net1,tr1]=train(net,x,y); %對資料進行訓練
y1=sim(net1,xx); %得到訓練後的結果
plotperform(tr1)
figure;plot(x,y,'r',xx,y1,'b-.',xx,y0,'g--');
toc
得到如下結果:elapsed time is 2.005314 seconds.
由結果可以看到10個隱含層,』trainlm』訓練下的效果還可以,在另外我也試過改變隱含層神經元個數和訓練方程來比較不同的演算法就結果的影響,大家也可以參看幫助文件自己試一下。
這只是個簡單的曲線擬合的方法,新版的matlab函式有點變化,以前的newff
現在是feedforwardnet
,這些我也正在學習中。另外要提一下的就是曲線擬合屬於有監督學習(supervised learning)個人的理解就是類似這種給出目標輸出的資料要你去分析其他輸入量所對應的輸出量,在學習機器學習裡老師講到了乙個例子,就是你想賣一件房子,你要參考相對應幾平公尺的房子的售價再來分析一下自己能賣出多少錢才合適,自己感覺就是高中學習的線性回歸分析的加強版。
MATLAB 神經網路基礎(1)
1 一般引數.perfrom perfromfcn sse 效能函式,這裡設定為 sse 即誤差平方和 2 訓練引數.trainparam.trainparam.goal 0.1 訓練目標最小誤差,這裡設定為0.1 trainparam.epochs 300 訓練次數,這裡設定為300次 train...
線性神經網路 matlab神經網路
自適應線性元件20世紀50年代末由widrow和hoff提出,主要用於線性逼近乙個函式式而進行模式聯想以及訊號濾波 模型識別和控制等。線性神經網路和感知器的區別是,感知器只能輸出兩種可能的值,而線性神經網路的輸出可以取任意值。線性神經網路採用widrow hoff學習規則,即lms least me...
MATLAB神經網路
ai 菌這幾天沉迷於數模的ai菌來補發文章啦。深深地體會到雖然神經網路工具的api已經有了非常完備的封裝,但是資料的預處理真的讓人感覺非常的麻煩。當你把所有的異常點一一清理,有一種 掘地求公升終於爬出大氣層 飛向太空的感覺 雖然ai菌連夢想開始的地方都爬不出去 所以今天就來介紹一下這幾天的收穫吧 a...