神經網路擬合二元函式曲面實踐

2021-10-10 05:26:00 字數 410 閱讀 4991

andrew ng 深度學習課程的第一周第三次作業是實現乙個淺層神經網路,課程方給的框架很有意思,但該作業的輸出是類別,我想實踐一下該網路能否改造用來解決回歸問題,具體而言是擬合乙個函式z = x2+y2 ,嘗試之後發現效果不是很穩定,容易收斂到區域性極小值,但擬合效果大體上還能接受,簡要分享,後續準備改用隨機梯度下降方法來跳出區域性極小值。

因為是二元函式,所以輸入層維度固定為2,輸出層維度為1,輸出層未採用啟用函式,隱藏層只用了一層,設定了20個神經元,啟用函式為tanh。誤差函式使用均方誤差函式,學習率設定為0.2。

綠色點是原始曲面,紅色點是擬合曲面。

這樣看可能看不出擬合的效果,放一張單獨只有擬合曲面的圖。

從實踐看神經網路擬合任何函式

總的來說就是,多層神經網路在任意的的隱層節點和專屬壓縮函式 看做非線性啟用函式 能夠逼近任意borel 測量函式.首先實現乙個有多層線性層組成的神經網路 import numpy as np import matplotlib.pyplot as plt from mpl toolkits.mplo...

二元二次擬合 matlab函式

二元二次擬合自變數有2個,因變數乙個,可以使用的有nlinfit和regress,線性時用regress,非線性時用nlinfit。由於是二元二次模型,2個函式都可以用。以regress為例,假設因變數存在y向量中,自變數存在x1 x2向量中。因為要使用二元二次模型,首先要構造自變數矩陣 x x1....

python最小二乘和神經網路擬合曲線比較

最近在學深度學習,涉及到神經網路。python裡scipy包中模組optimize的函式leastsq具有自動求解最小二乘解的能力,用它對形如y kx b的加噪直線進行擬合,須指定1個初始值,如下 in import numpy as np from scipy.optimize import le...