我正在使用这段代码,尝试预测一个序列的最终数字。
问题是神经网络总是预测浮点数。
有没有办法修正样本的类型?我想测试整数、布尔值和字符串。
谢谢
回答:
要得到整数,你只需对浮点数进行四舍五入,可能需要扩展范围(例如,如果输出在0..1
之间,而你想要的整数最高到100
,你可以将返回的值乘以100
,然后再进行四舍五入)。
要得到布尔值,只需将值四舍五入到0
或1
即可。
要得到字符串比较棘手。如果你提前知道期望的字符串类型,你可以对它们进行编号,并使用上述整数机制来获取要返回的字符串的索引。另一方面,如果你不知道这些字符串,并且希望在运行时动态创建它们,你将面临很大的麻烦:你可能需要根据某种语法分别获取每个字符。
编辑:另一种方法是让网络的输出层由一层(通常是softmax)神经元组成,每个神经元负责输出的一个值。例如,如果你只想要10个整数输出,你将有10个输出神经元,输出值最高的那个将是整数输出。这类似于竞争学习的概念