-1
假設我想用神經網絡對sqrt
函數建模。但是對於每個輸入x
,有兩個答案sqrt(x) = y
和sqrt(x) = -y
。 (但事實上,我不知道我有sqrt
函數 - 我只是有很多數據 - 所以我不知道先驗,如果有0,1,2或更多的答案y
爲每個輸入x
。)我怎樣才能得到y
的正確分佈?用可能有兩個或多個輸出的「函數」進行機器學習
假設我想用神經網絡對sqrt
函數建模。但是對於每個輸入x
,有兩個答案sqrt(x) = y
和sqrt(x) = -y
。 (但事實上,我不知道我有sqrt
函數 - 我只是有很多數據 - 所以我不知道先驗,如果有0,1,2或更多的答案y
爲每個輸入x
。)我怎樣才能得到y
的正確分佈?用可能有兩個或多個輸出的「函數」進行機器學習
你應該問自己的問題,是你將如何培養這樣的神經網絡:
如果你想給X - > {SQRT(X) - 的sqrt(x)}作爲訓練例如我那麼這意味着通過查看單個示例就可以知道輸出的數量,因此您應該對有2個輸出的事實進行編碼。我正在考慮給出的例子,有時x - > sqrt(x)和其他時間x - > -sqrt(x),那麼你的神經網絡將很難訓練,因爲每個梯度可以改變權重以完全不同的方式。它可能會在許多訓練實例之後收斂,並且會簡單地輸出它看到的最多的y。
這樣做的更好方法可能是在強化學習中使用類似獎勵功能的東西。在這種情況下的函數將是f(x)= x^2並且將簡單地說出輸出是否正確。這會讓你的網絡訓練正面和負面的輸出。所以試着爲你的問題找到獎勵功能!