MATLAB LSTM 分類器(classificationlayer) 多輸入多輸出(即lstm設(shè)置為sequence)
????我看網(wǎng)上好像沒(méi)什么人講這個(gè),一般用lstm做分類,都是只取lstm最后一個(gè)輸出,即設(shè)置為last,但是因?yàn)閭€(gè)人原因,需要輸入時(shí)刻多少就輸出時(shí)刻多少。
????總體來(lái)講 輸入是序列 然后lstm 然后全連接層 然后 softmax 然后 classification output layer。輸入要是double類型,輸出要是categorical類型,并且輸入輸出的結(jié)果要對(duì)應(yīng)。最簡(jiǎn)單的方法是把所有的訓(xùn)練集拼在一起一股腦輸進(jìn)去,對(duì)應(yīng)的輸出的數(shù)據(jù)一股腦轉(zhuǎn)為標(biāo)簽形式。
????但是要分批輸入的話就要把輸入double形式的基礎(chǔ)上,轉(zhuǎn)為cell的形式分批輸進(jìn)去,而對(duì)應(yīng)的結(jié)果也應(yīng)該要分批輸出出來(lái),但是cell類型數(shù)據(jù)直接接categorical函數(shù)報(bào)錯(cuò),需要對(duì)cell類型數(shù)據(jù)每個(gè)元組分別categorical,也就是說(shuō)把cell類型數(shù)據(jù)里面的double類型改為categorical類型就好了,就可以做到分批輸入輸出。
????如果還是不明白lstm設(shè)置為sequence接分類輸出的話,那我之后有空寫一篇,放上代碼,畢竟也是自己瞎整出來(lái)的,就這樣吧。
標(biāo)簽: