人工神經網路提供透明的演算法嗎 100

2024-12-23 14:00:05 字數 3372 閱讀 4803

人工神經網路提供透明的演算法嗎

1樓:時間會飛的狗

個人觀點:演算法透明,過程不透明。

所謂演算法透明,就是整個演算法的計算流程,優化流程設計思想這些都是可知的。

過程不透明,就是模型引數更新過程看不到,只能得到乙個最終結果,往往這個結果也是不可解釋的,你很難從理論上解釋這個演算法為什麼會給出這個結果。

什麼是人工神經網路及其演算法實現方式

2樓:網友

邏輯性的思維是指根據邏輯規則進行推理的過程;它先將資訊化成概念,並用符號表示,然後,根據符號運算按序列模式進行邏輯推理;這一過程可以寫成序列的指令,讓計算機執行。然而,直觀性的思維是將分散式儲存的資訊綜合起來,結果是忽然間產生想法或解決問題的辦法。這種思維方式的根本之點在於以下兩點:

1.資訊是通過神經元上的興奮模式分佈儲在網路上;2.資訊處理是通過神經元之間同時相互作用的動態過程來完成的。

求人工神經網路的具體演算法,數學模型,比如求乙個函式最優值之類的,不要各種亂七八糟的介紹,謝謝

3樓:網友

神經網路就像多項式或者線性模型一樣,是個看不見表示式的模型,它的表示式就是網路,它比一般模型具有更高的自由度和彈性;同時它是乙個典型的黑箱模型方法;比多項式等模型還黑。優化演算法,就是尋優的演算法,所謂尋優過程,就是尋找使目標函式最小時(都是統一表示成尋找使函式具有最小值)的自變數的值。迴歸或者擬合乙個模型,例如用乙個多項式模型去擬合一組資料,其本質就是尋找使殘差平方和最小的引數值,這就是乙個尋優的過程,其實就是尋找使函式f(x)值最小時的x的值;對於這個具體的尋找過程就涉及到演算法問題,就是如何計算。

所謂演算法,是數值分析的乙個範疇,就是解這問題的方法;例如乙個一元二次方程 x^2-3x+1=0的解法,因為簡單可以直接求解,也可以用牛頓逐個靠近的方法求解,也即是迭代,慢慢接近真實解,如此下去不斷接近真值,要注意迭代演算法是涉及演算法精度的,這些迭代演算法是基於計算機的,演算法的初衷也是用近似的演算法用一定的精度來接近真實值。 比如上面的方程也可以用遺傳演算法來解,可以從一些初始值最終迭代到最佳解。神經網路在尋找網路的引數即權值的時候,也有尋找使訓練效果最好的過程,這也是尋優的過程,這裡涉及到了演算法就是所謂的神經網路演算法,這和最小二乘演算法是一樣的道理;例如做響應面的時候,其實就是二次迴歸,用最小二乘得到二次模型的引數,得到乙個函式,求最大產物量就是求函式模型的最大值,怎麼算呢?

頂點處如果導數為0,這個地方對應的x值就是最優的,二次模型簡單可以用偏導數=0來直接解決,這過程也可以遺傳演算法等來解決。說到底所謂尋優的本質就是,尋找函式極值處對應的自變數的值。

4樓:網友

神經網路一般都是做**的啊,要是做優化得用遺傳演算法啊。

5樓:網友

如果想看具體演算法就搜個ppt看,最好找本書,如果是想用則只需要學會用matlab神經網路工具包,網路上有該工具包的說明。

6樓:網友

單純人工神經網路好像不能找最優吧。

請教:人工神經網路是隨機性演算法還是確定性演算法?對不起!沒分了。

7樓:網友

演算法是確定的,但訓練樣本通常是不確定的。

8樓:網友

像bp等演算法 的魯棒性並不強,隨機選取初始權值也造成了她的訓練結果的不確定性。

9樓:網友

神馬叫人工精神網路?

三個輸入乙個輸出的人工神經網路程式設計,隱含層為10隱層,為bp演算法,怎麼做

10樓:網友

隱層神經元數量是10吧,10個隱層也太奇葩了,訓練時間超長,bp這種演算法也不適合多層的。

11樓:網友

10個隱藏層? 你不嫌麻煩? 一般1~3個隱藏層能解決絕大多數問題了。 三個輸入乙個輸出,乙個隱藏層就夠了。

12樓:網友

直接用matlab工具箱,自己程式設計麻煩且效果不好。

急求人工神經網路的matlab演算法~~求大蝦教我

13樓:網友

1、採用2-5-1三層bp網路結構即可實現其matlab 程式如下:

clcclear

a=rand(2,200);

x=a(1,:)

y=a(2,:)

f=x.^2+y.^2;

net=newff(minmax(a),[5,1],,'trainlm');;

net=train(net,a,f)

b=rand(2,100);

x1=b(1,:)

y1=b(2,:)

f1=x1.^2+y1.^2;

ty=sim(net,b);

subplot(1,2,1)

plot(f1);

subplot(1,2,2)

plot(ty,'r')

以上程式我執行很好,。

2、神經網路的核心就是求權值w,偏置值b,很多演算法都可實現,當v,m收斂後,就確定這個函式了,只是這個函式為非線性函式,非常複雜,表達困難,已經包含在訓練好的神經網路了,此時,可以用這個網路進行**和分類。

記住分給我啊,這個matlab程式花了很多時間,註釋懶的寫了,你應該看的懂的。

14樓:網友

是先用資料訓練網路,這個過程是求v,w的過程,訓練完後用求出的v,w作圖畫出其效果圖。 有郵箱嗎,我給你發過去。

如何利用人工神經網路或遺傳演算法解決實際問題

15樓:山楂大餅

來自《神經網路之家》nnetinfo

目前可以做的一般有:

分類。函式擬合。

壓縮。圖象識別。

等等, 其實說到底,所有的都能歸於第2點--函式擬合。

一般如果輸入與輸出是有強烈關係的,網路都能找得到這個關係。例如病人的特徵作為輸入,判斷這個是否為病人,一般都是可以的。業務背景知識強,才能把神經網路運用到實際中。

另外,還需要把實現問題轉換為數學問題的能力。

例如數字識別就是乙個經典的應用。但直接把**放進去訓練是得不到識別效果的,因為維度太多了,而且資訊冗餘量很大。

於是有人把**的特徵先自已提取出來:例如對角線與**上的數字有幾個交點等等,再把這些特徵作為輸入,數字類別向量作為輸出,放到網路中訓練。最後你再寫乙個數字,提取這個數字的特徵,再把這特徵放進網路中的時候,它就能識別到你是哪個數字了。

另外,又有人用卷積神經網路去做數字識別。

還有人用深度網路去做,即先把原來**的資訊用rbm網路進行壓縮,然後再訓練,效果就好了。

等等,其實很多問題都可以做,但前提是你要想到好的方式去運用神經網路。

bp神經網路演算法在matlab中的實現

bp神經網路是最基本 最常用的神經網路,matlab有專用函式來建立 訓練它,主回要就是newff train sim 這三個函式,當然其答他如歸一化函式mapminmax 其他net的引數設定 lr goal等 設定好,就可以通過對歷史資料的學習進行 附件是乙個最基本的 例項,本來是電力負荷 的例...

用matlab的GUI建立BP神經網路的問題,求各位幫忙解答

應該是14列 9行的輸入 對應14列 1行的輸出。每列乙個sample 你應檢查你的bp網路的輸入層神經元和輸出層神經元數目,同時注意行列的關係。matlab bp神經網路程式總是報錯,求大神幫忙解答!謝謝 你那兩個傳遞復 函式之間少了乙個英文制逗號,應該是bai。要學會du根據matlab報錯提示...

求助BP神經網路訓練後輸出的performance圖形問題

你的圖不大對吧?應該有三條曲線顯示才對,分別代表訓練,驗證,測試誤差,你現在只有訓練誤差的。performance is 0.00306表示你的訓練誤差達到了0.00306,goal is 0.01表示你設定的目標誤差是0.01.matlab中神經網路訓練結束後出現nntraintool面板,如何記...