你的意思就是想訓練好網絡后,然后提取出網絡的具體表達式吧?
你首先要知道自己的網絡設置,例如我的網絡是1個輸入,1個輸出,3個隱節點的神經網絡,隱層傳遞函數為tansig,而輸出層為purelin,那么函數表達式就是:
y=W1*tansig(w11*x1+b1)+W2*tansig(w12*x2+b2)+W3*tansig(w13*x3+b3)+B.
你對著拓撲圖看一下就明白的了.
借助matlab神經網絡工具箱,在matlab訓練好網絡,再通過以下代碼獲得公式里的閾值和權值,
w = net.iw{1,1} %第1層(輸入層)到第2層(隱層)的權值
b = net.b{1} %第2層(隱層)的閾值
W = net.lw{2,1} %第2層(輸入層)到第3層(輸出層)的權值
B = net.b{2} %第3層(輸出層)的閾值
獲取權值閾值后代回表達式中就可以了.
不過樓主要注意,網絡是否用是歸一化,若果有歸一化,還要反歸一化才是真正的表達式.
至于表達式怎么得來的,和具體怎么代值進去,和網絡的訓練,相信在這里是講不清的.
樓主可以到 <<神經網絡之家>> 去看下面幾張文章:
<BP神經網絡數學模型(入門)> ----講模型怎么得來的
<一個簡單的神經網絡例子> -------講在matlab里怎么訓練網絡
<提取神經網絡數學表達式>------ 講怎么提取數學表達式.
另外還有個視頻,可以看到具體的過程:
<BP-4_matlab實現模型求解>
純手打的,看官覺得精彩順便點個!贊!.thx