我理解核感知机函数的推导过程,但我想弄清楚最终公式背后的直觉
f(X) = sum_i (alpha_i*y_i*K(X,x_i))
其中(x_i,y_i)
是训练数据中的所有样本,alpha_i
是我们对该样本犯错的次数,X
是我们试图预测的样本(在训练过程中或其他情况下)。现在,我明白为什么核函数被认为是相似性的度量(因为它是在更高维空间中的点积),但我不明白这个公式是如何组合在一起的。
我最初的尝试是,我们试图根据样本与其他样本的相似程度来预测一个样本 – 并乘以y_i
,这样它就能贡献正确的符号(更近的点比更远的点更能指示标签)。但为什么我们对某个样本犯了多次错误,它就应该贡献更多呢?
简而言之:在核感知机中,为什么我们对某个样本犯了多次错误,它对预测的贡献应该比我们没有犯错的样本更多?
回答:
我最初的尝试是,我们试图根据样本与其他样本的相似程度来预测一个样本 – 并乘以y_i,这样它就能贡献正确的符号(更近的点比更远的点更能指示标签)。
这基本上就是发生的事情。虽然这个想法是如果alpha_i*y_i*K(X,x_i)
已经被很好地分类了,那么你就不需要进一步更新它。
但如果点被错误分类,我们就需要更新它。最好的方式是朝相反的方向,对吗?如果结果是负的,我们应该加上一个正值(y_i)。如果结果是正的(并且被错误分类),那么我们希望加上一个负值(再次是y_i)。
如你所见,y_i已经为我们提供了正确的更新方向,因此我们使用错误分类计数器来为该更新提供一个量级。