由于SVM的学习过程具有特殊的属性,因此对于SVM来说,内核技巧是可能的。神经网络似乎没有该属性(据我所知)。
让在训练集中的点。通常,您希望机器学习算法会查看x i的值。但是,SVM学习过程具有相当显着的特性。它不需要知道x i的值。它足以能够计算X 我 ⋅ X Ĵ任何期望对输入点(即,来计算点积对应于任一所选的输入向量); 这就是SVM学习过程的全部需求。X1个,… ,xñ∈ [RdX一世X一世X一世⋅ XĴ
SVM学习过程的这一特殊属性使我们可以使用内核技巧。我们可以定义一个核函数以使K (x i,x j)是输入的某些非线性变换的点积。如果我们通过一个非线性变换变换所述输入向量φ :- [R d → ř米(对于一些米> d),则我们定义ķ (X 我,X Ĵ)= φ (X 我)·&φķķ(x一世,XĴ)ϕ :Rd→ R米m > d。接下来酷的特性是,对于一些非线性变换 φ,可以计算 ķ (X 我,X Ĵ)比计算更有效 φ (X 我),φ (X Ĵ)明确,然后计算它们的点积; 你可以计算 ķ (X 我,X Ĵ)在 Ô (d )时间(比方说),而不是 Ø (米)ķ(x一世,XĴ)= ϕ (x一世)·&φ (XĴ)ϕķ(x一世,XĴ)φ (X一世),ϕ (xĴ)ķ(x一世,XĴ)Ø (d)Ô (米) 时间。
X一世⋅ XĴķ(x一世,XĴ)X一世