内核化感知器背后的直觉

Intuition behind Kernelized perceptron

我了解内核化感知器函数的推导,但我想弄清楚最终公式背后的直觉

f(X) = sum_i (alpha_i*y_i*K(X,x_i))

其中(x_i,y_i)是训练数据中的所有样本,alpha_i是我们在该样本上犯错的次数,X是我们的样本正在尝试预测(在训练期间或其他情况下)。现在,我明白了为什么核函数被认为是相似性的度量(因为它是更高维度的点积 space),但我不明白这个公式是如何组合在一起的。

我最初的尝试是我们试图根据样本与其他样本的相似程度来预测样本 - 并将其乘以 y_i 以便它提供正确的符号(更接近的点比更远的点更好地指示标签)。但是为什么一个我们犯了几个错误的样本应该贡献更多呢?

tl;dr:在核化感知器中,为什么我们犯过几次错误的样本比我们没有犯过错误的样本对预测的贡献更大?

My original attempt was that we're trying to predict a sample based on how similar it is to the other samples - and multiply it by y_i so that it contributes the correct sign (points that are closer are better indicators of the label than points that are farther).

这就是正在发生的事情。虽然这个想法是如果 alpha_i*y_i*K(X,x_i) 已经很好地分类,那么你不需要进一步更新它。

但是如果该点被错误分类,我们需要对其进行更新。最好的方法是相反的方向,对吗?也就是说,如果结果为负,我们应该添加一个正数 (y_i)。如果结果是正的(并且被错误分类),那么我们想要求和一个负值(再次 y_i)。

如您所见,y_i 已经为我们提供了正确的更新方向,因此我们使用错误分类计数器来衡量该更新。