我想用神经网络拟合一个函数,输出为0/1。请帮我找到最好的方法。
事实上,我想知道MATLAB中的拟合函数,特别是在神经网络工具箱中。我不知道哪种方法适合对具有二进制输出的函数进行建模。
另外,在MATLAB中有没有什么方法可以让我增加体重?
发布于 2010-06-29 21:24:37
如果你有一个binary classification task (0/1输出),那么你可以用两个输出节点训练一个NN,每个类一个,诀窍是在输出节点上使用一个logistic function,这样它总是在[0,1]
范围内(如果你使用NEWPR
函数,这是默认的)。它可以被解释为一个概率,然后您可以使用默认值0.5
作为阈值,或者使用ROC curves为您的情况找到一个更好的阈值。
有关学习异或二进制运算符的简单示例,请参阅this post。
发布于 2010-06-27 20:58:33
通常,神经网络用于决策,所以0/1的答案就是你想要的:“是”或“否”。
为了实际拟合网络,我们使用了两个已知的集合,它们分别产生“是”和“否”的答案。然后计算作为网络参数的函数的Type I and Type II errors率(通常称为纯度和1-效率)。
这些函数的值在0和1之间。拟合的目标是找到一组网络参数,在类型I和类型II之间产生可接受的平衡,同时使它们尽可能小。
https://stackoverflow.com/questions/3128636
复制相似问题