MATLAB LSTM 分类器(classificationlayer) 多输入多输出(即lstm设置为sequence)
我看网上好像没什么人讲这个,一般用lstm做分类,都是只取lstm最后一个输出,即设置为last,但是因为个人原因,需要输入时刻多少就输出时刻多少。
总体来讲 输入是序列 然后lstm 然后全连接层 然后 softmax 然后 classification output layer。输入要是double类型,输出要是categorical类型,并且输入输出的结果要对应。最简单的方法是把所有的训练集拼在一起一股脑输进去,对应的输出的数据一股脑转为标签形式。
但是要分批输入的话就要把输入double形式的基础上,转为cell的形式分批输进去,而对应的结果也应该要分批输出出来,但是cell类型数据直接接categorical函数报错,需要对cell类型数据每个元组分别categorical,也就是说把cell类型数据里面的double类型改为categorical类型就好了,就可以做到分批输入输出。
如果还是不明白lstm设置为sequence接分类输出的话,那我之后有空写一篇,放上代码,毕竟也是自己瞎整出来的,就这样吧。