1

因此,在您使用层、节点和权重训练机器学习算法之后,它究竟如何获得输入向量的预测?我正在使用多层感知器(神经网络)。

根据我目前的理解,您从要预测的输入向量开始。然后你把它发送到你的隐藏层,在那里它将你的偏置项添加到每个数据点,然后将每个数据点的乘积和每个节点的权重(在训练中找到)相加,然后通过训练中使用的相同激活函数。对每个隐藏层重复此操作,然后对输出层执行相同操作。然后输出层中的每个节点都是您的预测。这个对吗?

我在使用 opencv 执行此操作时感到困惑,因为在指南中它说当您使用函数 predict 时:

如果您使用默认参数值 fparam1=0 和 fparam2=0 的默认 cvANN_MLP::SIGMOID_SYM 激活函数,则使用的函数为 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} ) 其中 alpha 和 beta 是用户定义的变量。

所以,我不太确定这意味着什么。tanh 函数在哪里发挥作用?任何人都可以解决这个问题吗?谢谢你的时间!

找到它的文档在这里:对 tanh 的引用在函数描述predict下。激活函数的参考是页面顶部的 S 外观图。

由于这是一个一般性问题,而不是特定于代码的问题,因此我没有发布任何代码。

4

1 回答 1

0

I would suggest that you read about appropriate algorithm that your are using or plan to use. To be honest there is no one definite algorithm to solve a problem but you can explore what features you got and what you need.

Regarding how an algorithm performs prediction is totally depended on the choice of algorithm. Support Vector Machine (SVM) performs prediction by fitting hyperplanes on the feature space and using some metric such as distance for learning and than the learnt model is used for prediction. KNN on the other than uses simple nearest neighbor measurement for prediction.

Please do more work on what exactly you need and read through the research papers to get proper understanding. There is not magic involved in prediction but rather mathematical formulations.

于 2015-04-02T09:38:29.490 回答