2015-04-01 142 views
1

所以,當你有一個機器學習算法,訓練了你的圖層,節點和權重後,它究竟如何得到一個輸入向量的預測?我正在使用MultiLayer Perceptron(神經網絡)。機器學習,訓練後,它如何得到預測? opencv

從我目前的理解,你開始你的輸入向量來預測。然後,將其發送到您的隱藏層,在其中它將偏置項添加到每個數據點,然後添加每個數據點的產品和每個節點的權重(在訓練中找到)的總和,然後通過訓練中使用的激活函數相同。對每個隱藏層重複一次,然後對輸出層執行相同的操作。然後,輸出層中的每個節點都是您的預測。 這是正確的嗎?

我使用OpenCV時也做到這一點,因爲在guide它說,當你使用函數預測弄糊塗了:

如果您使用的是默認cvANN_MLP :: SIGMOID_SYM激活 函數的默認參數值fparam1 = 0和fparam2 = 0 那麼使用的函數是y = 1.7159 * tanh(2/3 * x),所以輸出 的範圍將從[-1.7159,1.7159],而不是[0,1]。

然而,當訓練認爲SIGMOID_SYM使用激活函數的文檔中還指出: f(x)= beta*(1-e^{-alpha x})/(1+e^{-alpha x}) 其中α和β是用戶定義的變量。

所以,我不太清楚這是什麼意思。 tanh功能在哪裏起作用?任何人都可以清除它嗎?謝謝你的時間!

發現此問題的文檔是here: 參考tanh在函數說明predict下。 對激活函數的引用是由頁面頂部的S查看圖形引用的。

由於這是一個普遍性的問題,而不是特定的代碼,我沒有發佈任何代碼。

回答

0

我建議您閱讀一下您正在使用或計劃使用的適當算法。說實話,沒有一個確定的算法來解決問題,但是你可以探索你得到了什麼功能以及你需要什麼。

關於算法如何執行預測完全取決於算法的選擇。支持向量機(SVM)通過在特徵空間上擬合超平面並使用一些度量(如用於學習的距離)來執行預測,並且所學習的模型用於預測。另一方面,KNN使用簡單的最近鄰測量進行預測。

請做更多的工作,你需要什麼,並閱讀研究論文,以獲得正確的理解。預測中沒有涉及魔術,而是數學公式。

相關問題