我了解k-最近邻(KNN)算法的工作原理,但对“软投票”这个术语不太熟悉。软投票在KNN中的含义是什么?它与标准KNN投票相比是如何运作的?
如果能提供一个比较两种投票方案的简单例子,并附上Matlab实现的链接,那就更好了。
谢谢
@某人
回答:
经过一些阅读,我发现软投票只是在每个被投票的点(训练样本)上放置一个高斯分布。
通常,我们会简单地为特征空间中最接近的训练样本投票,通常是给最近邻(们)加上一票。相反,软投票使用所有训练样本的高斯概率作为投票得分,并根据每个得分累积相应的票数。这提供了一种更robust的投票方案,因为它更能意识到相对距离,特别是在高维空间中。
更多细节请参考Mitchell等人发表的《“软”K-最近邻投票方案》,2001年。
关于其应用的例子,请参见Agarwal等人发表的《从单目图像中恢复3D人体姿态》,2005年。