A. 訓練好的神經網路模型怎麼用
那是肯定有影響的。你這樣理解,就像你讓一個復雜的結構構造的機器去學習一個東西,和你用一個構造簡單的機器去學習一個東西,它們理解的會一樣嗎?而且關於隱含層神經元個數還有幾個公式來推測它可能的神經元個數,你可以查查看,如果沒有影響你覺得誰會花時間在這上面去研究公式呢,你說是吧?
除了你說的這些,另外訓練目標和訓練次數等也會對訓練結果產生影響。
B. MATLAB中BP神經網路的訓練演算法具體是怎麼樣的
先用newff函數建立網路,再用train函數訓練即可。
1)正向傳播:輸入樣本->輸入層->各隱層(處理)->輸出層
注1:若輸出層實際輸出與期望輸出(教師信號)不符,則轉入2)(誤差反向傳播過程)
2)誤差反向傳播:輸出誤差(某種形式)->隱層(逐層)->輸入層
其主要目的是通過將輸出誤差反傳,將誤差分攤給各層所有單元,從而獲得各層單元的誤差信號,進而修正各單元的權值(其過程,是一個權值調整的過程)。
BP演算法實現步驟(軟體):
1)初始化
2)輸入訓練樣本對,計算各層輸出
3)計算網路輸出誤差
4)計算各層誤差信號
5)調整各層權值
6)檢查網路總誤差是否達到精度要求
滿足,則訓練結束;不滿足,則返回步驟2)
註:改進演算法—增加動量項、自適應調整學習速率(這個似乎不錯)及引入陡度因子。
C. 關於神經網路的權值訓練方法
% 讀入訓練數據和測試數據
Input = [];
Output = [];
str = {'Test','Check'};
Data = textread([str{1},'.txt']);
% 讀訓練數據
Input = Data(:,1:end-1);
% 取數據表的前五列(主從成分)
Output = Data(:,end);
% 取數據表的最後一列(輸出值)
Data = textread([str{2},'.txt']);
% 讀測試數據
CheckIn = Data(:,1:end-1);
% 取數據表的前五列(主從成分)
CheckOut = Data(:,end);
% 取數據表的最後一列(輸出值)
Input = Input';
Output = Output';
CheckIn = CheckIn';
CheckOut = CheckOut';
% 矩陣賺置
[Input,minp,maxp,Output,mint,maxt] = premnmx(Input,Output);
D. 如何提高神經網路的外推能力
人工神經網路以其智能性見長,那麼神經網路能真的學到一個映射的本質嗎?也就是說,對一個映射給出一定的必要的訓練樣本訓練後,網路能否對樣本以外的樣本給出較為准確的預測。泛化能力也就是神經網路用於對未知數據預測的能力。神經網路對訓練樣本區間范圍內的樣本有較好的泛化能力,而對於訓練樣本確定的范圍外的樣本不能認為有泛化能力。常規的幾種增強泛化能力的方法,羅列如下:
1、較多的輸入樣本可以提高泛化能力;
但不是太多,過多的樣本導致過度擬合,泛化能力不佳;樣本包括至少一次的轉折點數據。
2、隱含層神經元數量的選擇,不影響性能的前提下,盡量選擇小一點的神經元數量。隱含層節點太多,造成泛化能力下降,造火箭也只要幾十個到幾百個神經元,擬合幾百幾千個數據何必要那麼多神經元?
3、誤差小,則泛化能力好;誤差太小,則會過度擬合,泛化能力反而不佳。
4、學習率的選擇,特別是權值學習率,對網路性能有很大影響,太小則收斂速度很慢,且容易陷入局部極小化;太大則,收斂速度快,但易出現擺動,誤差難以縮小;一般權值學習率比要求誤差稍微稍大一點點;另外可以使用變動的學習率,在誤差大的時候增大學習率,等誤差小了再減小學習率,這樣可以收斂更快,學習效果更好,不易陷入局部極小化。
5、訓練時可以採用隨時終止法,即是誤差達到要求即終止訓練,以免過度擬合;可以調整局部權值,使局部未收斂的加快收斂。
E. 如何訓練深度神經網路
deeplearinig就是神經網路的一類,就是解決的訓練問題的深層神經網路,所以你這問題「深度學習會代替神經網路『就不對,BP么,BP有自己的優勢,也是很成熟的演算法,做手寫識別等等效果已經商用化了,不會被輕易替代。deeplearning遠比BP要復雜,用來解決的問題也不是一個層面,所以也沒有替代的必要。Deeplearning所涉及的問題大多數BP都沒法解決的。
度學習的概念源於人工神經網路的研究。含多隱層的多層感知器就是一種深度學習結構,通過組合低層特徵形成更加抽象的高層表示屬性類別或特徵,以發現數據的分布式特徵表示。深度學習的概念由Hinton等人於2006年提出,基於深信度網(DBN)提出非監督貪心逐層訓練演算法,為解決深層結構相關的優化難題帶來希望,隨後提出多層自動編碼器深層結構。深度學習是機器學習研究中的一個新的領域,其動機在於建立、模擬人腦進行分析學習的神經網路,它模仿人腦的機制來解釋數據,例如圖像,聲音和文本。
系統地論述了神經網路的基本原理、方法、技術和應用,主要內容包括:神經信息處理的基本原理、感知器、反向傳播網路、自組織網路、遞歸網路、徑向基函數網路、核函數方法、神經網路集成、模糊神經網路、概率神經網路、脈沖耦合神經網路、神經場理論、神經元集群以及神經計算機。每章末附有習題,書末附有詳細的參考文獻。神經網路是通過對人腦或生物神經網路的抽象和建模,研究非程序的、適應性的、大腦風格的信息處理的本質和能力。它以腦科學和認知神經科學的研究成果為基礎,拓展智能信息處理的方法,為解決復雜問題和智能控制提供有效的途徑,是智能科學和計算智能的重要部分。
F. 能不能訓練一個神經網路,讓它去訓練神經網路
你用的是matlab的神經網路工具箱吧。那是因為權值和閾值每次都是隨機初始化的,所以結果就會不一樣,
你可以把隨機種子固定,即在代碼前面加上setdemorandstream(pi); 這樣每次訓練出來的結果都是一樣的了。
看來樓主是剛開始學習神經網路的,推薦一些資料給樓主:
神經網路之家 (專講神經網路的網站,有視頻下載)
matlab中文論壇的神經網路專區
數學中國的神經網路專區
較好的書:
MATLAB神經網路原理與實例精解
G. 神經網路中的訓練次數是指什麼
神經網路中的訓練次數是訓練時,1個batch訓練圖像通過網路訓練一次(一次前向傳播+一次後向傳播),每迭代一次權重更新一次;測試時,1個batch測試圖像通過網路一次(一次前向傳播)的次數。
在機器學習和相關領域,人工神經網路(人工神經網路)的計算模型靈感來自動物的中樞神經系統(尤其是腦),並且被用於估計或可以依賴於大量的輸入和一般的未知近似函數。人工神經網路通常呈現為相互連接的「神經元」,它可以從輸入的計算值,並且能夠機器學習以及模式識別由於它們的自適應性質的系統。
例如,用於手寫體識別的神經網路是由一組可能被輸入圖像的像素激活的輸入神經元來限定。後進過加權,並通過一個函數(由網路的設計者確定的)轉化,這些神經元的致動被上到其他神經元然後被傳遞。重復此過程,直到最後,一輸出神經元被激活。這決定了哪些字元被讀取。
(7)神經網路如何訓練擴展閱讀
神經網路分類:
1、選擇模式:這將取決於數據的表示和應用。過於復雜的模型往往會導致問題的學習。
2、學習演算法:在學習演算法之間有無數的權衡。幾乎所有的演算法為了一個特定的數據集訓練將會很好地與正確的超參數合作。然而,選擇和調整的演算法上看不見的數據訓練需要顯著量的實驗。
3、穩健性:如果該模型中,成本函數和學習演算法,適當地選擇所得到的神經網路可以是非常健壯的。有了正確的實施,人工神經網路,可以自然地應用於在線學習和大型數據集的應用程序。其簡單的實現和表現在結構上主要依賴本地的存在,使得在硬體快速,並行實現。