我在C#中實現了Ng的OCR神經網絡示例。 我想我已經正確實現了所有的公式[矢量化版本],我的應用程序正在訓練網絡。神經網絡OCR - 參數需要幫助 - Coursera Ng的例子
有關如何查看我的網絡改進識別的任何建議 - 在完成培訓後不通過手動測試示例進行測試?我想看看我的訓練在訓練過程中的位置。
我測試了我繪製的數字上的訓練權重,所有神經元上的輸出非常相似(約0.077,或類似的...在所有神經元上),最大值在錯誤的神經元上。所以結果與繪製的圖像不匹配。
這是我做的迄今爲止唯一的測試:代價函數時代
所以,這是與成本函數(?有人稱之爲目標函數)在50個時代發生了什麼變化。 我的Lambda值設置爲3.0,學習率爲0.01,5000個示例,我在每個時期之後,即在那些5000個示例之後進行批量處理。激活函數:sigmoid。
輸入:400 隱藏:25 輸出:10
我不知道是什麼正確的價值觀是Lambda和學習速率,使我的網絡可以學習沒有過擬合或欠擬合。
任何建議如何找出我的網絡學習得很好?
此外,應畢竟這種訓練Ĵ成本函數有什麼價值? 它應該接近零?
我應該有更多的時代嗎?
這樣做不好,我的例子都可以通過數字排序?
任何幫助表示讚賞。
非常感謝。我絕對需要將我的例子分解爲簡歷和測試。我在最後做了一些測試,但我意識到這還不夠(測試集的大小太小而看不到任何東西)。 – JunJun 2014-12-02 08:33:38
我希望你能告訴我:prof.Ng爲log.regress使用了J cost函數。繪製數據(誤差)還是二次方程(y-h(X))^ 2?我只知道那個測試和簡歷錯誤不應該正規化。 – JunJun 2014-12-02 08:54:49
吳教授使用了對數代價函數(交叉熵)。我記得他從來沒有在他的演講中使用二次成本。 – zfy 2014-12-02 23:07:08