神经网络的输出值

3
在Matlab的神经网络工具箱中工作时,创建网络后,当我尝试将其用于分类两个类之间时,我会得到某种相似度值。 sim(net,featureVector) 的输出返回矩阵Out,大小为[2x1],每行有一些值介于[0, 1]之间。我知道sigmoid函数返回一个值介于[0, 1]之间,但问题是:“如果一个样本与A类相似度为n%,那么它不应该与B类相似度为(100-n)%吗?” 这是我从几个样本获得的输出= [其中HIT和FAIL是两个类]。因此,从第二个图像中可以看出,神经网络独立于两个类返回某种相似度值,这显然没有遵循上述规则。它似乎对每个类使用一些最小距离公式并独立返回结果。我的确切问题是:1. sim(net,featureVector)方法具体返回什么?2. 我的想法正确吗?3. 如果是,那么它使用了哪种最小距离算法。4.是否可以提供一些可以学习更多的链接。

当您使用机器学习算法进行分类时,元素属于某一类的预测是独立的。例如,在二元分类中,一个对象属于类'A'的概率为'n'%,则它不属于类'A'的概率不是100-'n'%,而可能是其他值。概率之和也不一定为100。 - Hammad Haleem
那么实际上在幕后是什么在运作? - xor
1个回答

3
simsimulate 的缩写,而不是 similarity。你得到的是网络 net输出节点的值。这两个值是属于每个类别的独立分数。如果您想要更接近“概率”的东西,您需要对它进行标准化,只需将此向量除以其自身的总和即可。所以,将 [a b] 更改为 [a/(a+b) b/(a+b)],这将导致值总和为 1(如所需)。

如果是的话,它使用什么最小距离算法。

神经网络不基于任何形式的“到类的最小距离”。它是一个更复杂的对象,来自回归模型,而不是简单的距离测量(尽管显然可以明确说明从神经网络权重到“到类的距离”种类,但对于像图像这样的高维数据,它的方程会非常长)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接