所以,当你有一个机器学习算法,训练了你的图层,节点和权重后,它究竟如何得到一个输入向量的预测?我正在使用MultiLayer Perceptron(神经网络)。机器学习,训练后,它如何得到预测? opencv
从我目前的理解,你开始你的输入向量来预测。然后,将其发送到您的隐藏层,在其中它将偏置项添加到每个数据点,然后添加每个数据点的产品和每个节点的权重(在训练中找到)的总和,然后通过训练中使用的激活函数相同。对每个隐藏层重复一次,然后对输出层执行相同的操作。然后,输出层中的每个节点都是您的预测。 这是正确的吗?
我使用OpenCV时也做到这一点,因为在guide它说,当你使用函数预测弄糊涂了:
如果您使用的是默认cvANN_MLP :: SIGMOID_SYM激活 函数的默认参数值fparam1 = 0和fparam2 = 0 那么使用的函数是y = 1.7159 * tanh(2/3 * x),所以输出 的范围将从[-1.7159,1.7159],而不是[0,1]。
然而,当训练认为SIGMOID_SYM使用激活函数的文档中还指出: f(x)= beta*(1-e^{-alpha x})/(1+e^{-alpha x})
其中α和β是用户定义的变量。
所以,我不太清楚这是什么意思。 tanh功能在哪里起作用?任何人都可以清除它吗?谢谢你的时间!
发现此问题的文档是here: 参考tanh在函数说明predict下。 对激活函数的引用是由页面顶部的S查看图形引用的。
由于这是一个普遍性的问题,而不是特定的代码,我没有发布任何代码。