最近我發佈了許多關於我正在製作的字符識別程序的問題。直到今天,我還以爲自己的工作很完整。我認爲這與我對網絡的培訓有關。接下來是我如何看待訓練和模擬程序的解釋。混淆神經網絡的輸入和目標
給這兩個圖像
目標
輸入
我想訓練網絡識別字母D.注意,在此之前完成,我已經將圖像處理成二進制矩陣。我使用的培訓
[net,tr] = train(net,inputs,targets);
其中代替輸入我是目標,因爲我想訓練網絡以識別目標圖像中的所有字母。
我然後運行
outputs = sim(net,inputs);
其中輸入是圖像以字母「d」,或圖像與任何其他字母就是在ABCD。這裏的基本前提是我想訓練網絡以識別ABCD中的所有字母,然後選擇任何字母A,B,C或D,並查看網絡是否識別該選定的字母。
問題:
我正確的訓練程序嗎?
它從錯誤消息看起來像你應該實際上給單元陣列中的網絡輸入和目標。如果X和T是你的單元陣列,那麼每個單元格X {i}(i in [1,4])是一個二進制形式的字母(1×100矩陣),每個單元格T {i}(i in [1,4])是包含0,1,2或3的單獨矩陣。這種方式應該可以工作並且尺寸應該匹配。 – Dolma 2013-05-05 22:53:15
我仍然收到錯誤@Dolma。我將我的輸入矩陣轉換爲單元矩陣,以便它是4x100單元。我的目標數據是target = [{0},{1},{2},{3}]。我仍然得到同樣的錯誤。我試着讓目標成爲一列單元格。 – roldy 2013-05-05 23:38:58
沒有輸入必須是1x4單元陣列。每個單元格都是1x100矩陣。目標也是1x4單元陣列,每個單元都是1x1矩陣(這就是你所做的)。 – Dolma 2013-05-05 23:49:46