1

我想用神經網絡來擬合函數,用0/1作爲輸出。 請幫我找到最好的方法。用MATLAB擬合神經網絡

事實上,我想知道MATLAB中的擬合函數,特別是在神經網絡工具箱中。我不知道哪種方法適合用二進制輸出建模函數。

反正在MATLAB中我可以獲得重量嗎?

+0

因此,澄清,你有一個函數,需要一些輸入(在什麼域?)並輸出二進制0或1?然後,你想創建一個函數(最好通過神經網絡)來模擬你所具有的功能? – zebediah49 2010-06-27 19:48:36

+5

歡迎來到SO。不幸的是,如果你想在社區中獲得體面的迴應,你需要提供更多細節。 – Zaid 2010-06-27 20:06:37

+0

請不要重新發布您的[問題多次](http://stackoverflow.com/questions/3141223/fitting-a-function-with-neural-netwok-in-matlab)...如果你沒有' t得到您第一次尋找的答案,然後請澄清您的問題。 – Kiril 2010-06-29 18:39:00

回答

0

通常神經網絡用於決策,所以0/1的答案就是你想要的:「是」或「否」。

要真正適合網絡,人們使用兩套已知會產生「是」和「否」的答案。然後根據網絡參數計算Type I and Type II errors(通常稱爲純度和1-效率)的比率。

這些函數的值介於0和1之間。擬合的目標是找到一組網絡參數,這些參數在I型和II型誤差之間產生可接受的平衡,同時使它們儘可能小。

3

如果你有binary classification task(0/1輸出),那麼你可以訓練一個NN有兩個輸出節點,每個類節點一個,訣竅是在輸出節點上使用logistic function,這樣它總是在範圍[0,1](如果使用NEWPR函數,這是默認值)。它可以被解釋爲一個概率,那麼你可以使用默認值0.5作爲閾值,或者使用ROC curves來爲你的情況找到一個更好的閾值。

請參閱this post瞭解MATLAB中學習XOR二元運算符的一個簡單示例。