余弦距离的公式?

时间:2013-12-31 13:14:33

标签: machine-learning classification

1)我使用以下方法测量两个向量之间的余弦距离(假设A和B)。

假设我们有两个向量,例如向量A和向量B,

A&之间的余弦距离B =(点(A,B)/(幅度(A)*幅度(B)))

这个公式对吗?如果不是善意地建议我正确的公式?

2)K-NN的准确度总是比Rocchio好,还是在某些情况下Rocchio的性能优于K-NN? K-NN看起来像是Rocchio的增强,理论概念表明K-NN的表现要比Rocchio好得多,但我在实际实施中发现反之亦然,其中Rocchio的表现要比K-NN好得多?

1 个答案:

答案 0 :(得分:0)

(1)余弦距离是相似性度量之一。其他可能包括欧几里德距离或加权欧几里德距离。你的实现是正确的。

(2)KNN和Rocchio之间的主要区别在于前者没有训练,但在后者的训练过程中会产生原型向量。在测试过程中,所有训练实例都在KNN中使用,但在Rocchio中只使用prototype vectors(通常每个类一个向量)。所以Rocchio在训练和测试方面都更有效率。然而,它缺乏足够的理论有效性来证明Rocchio的稳定性和稳健性。并且表明如果类别不是线性可分的,Rocchio不能很好地工作。