用MATLAB拟合神经网络

时间:2010-06-27 19:41:35

标签: matlab computer-science artificial-intelligence machine-learning neural-network

我想使用神经网络拟合一个函数,输出为0/1。 请帮我找到最好的方法。

实际上我想知道MATLAB中的拟合函数,特别是在神经网络工具箱中。我不知道哪种方法适合用二进制输出建模函数。

无论如何,在MATLAB中我还能获得权重吗?

2 个答案:

答案 0 :(得分:3)

如果你有binary classification task(0/1输出),那么你可以训练一个NN,它有两个输出节点,每个类一个,诀窍是在输出节点上使用logistic function这样它总是在[0,1]范围内(如果你使用NEWPR函数,这是默认值)。它可以被解释为概率,然后您可以使用默认值0.5作为阈值,或者使用ROC curves为您的案例找到更好的阈值。

请参阅this post以获取MATLAB中学习XOR二元运算符的简单示例。

答案 1 :(得分:0)

通常神经网络用于决策,所以0/1答案就是你想要的:“是”或“否”。

为了实际适合网络,人们使用两组已知会产生“是”和“否”的答案。然后计算Type I and Type II errors的速率(通常称为纯度和1-效率)作为网络参数的函数。

这些函数的值介于0和1之间。拟合的目标是找到一组网络参数,这些参数在I类和II类错误之间产生可接受的平衡,同时使它们尽可能小。