之前一篇文章【机器学习】Linear SVM 和 LR 的联系和区别讲了线性SVM和常规LR的关系和优缺点。结果今天想研究一下Kernel logistic regression(以下简称KLR),结果发现相关的中文资料几乎没有啊,所以特来总结一下
一个模型要能用核函数形式必须满足如下两点:
w 是
比如SVM,其最佳 w 来源于
w∗=∑i=1n(αiyi)xi
同时这个模型本身是线性模型也是使用Kernel的必要条件
即
y=f(wTx)
只有满足了以上两点:其判别式才能写成
y=f(∑i=1nαixTix)=f(∑i=1nαi<xi,x>)
进而写成核函数形式:
y=f(∑i=1nαiK(xi,x))
LR本身就是一个线性判别模型,所以满足了条件2,那么它是否满足条件1呢?
证明如下:
任何L2正则化的线性模型都可以用核函数
标题就是结论,下面开始证明:
只要需要优化的目标函数如下:
minLoss(w)=minw∑i=1nerror(yi,wTxi)+λwTw
即优化的目标是一个广义线性损失函数(这里指 w 需要和xi 简单做内积),同时带有一个 wTw 的L2正则。
那么:最优的 w∗ 就能表示为 xi 的线性组合
证明如下:
假设最优解 w∗ 存在,那么把 w∗ 分成两个部分,一个平行于 xi 的线性组合 ∑ni=1αixi 部分 w|| ,另一个是垂直于其线性组合的部分 w⊥ 。即:
w∗=w||+w⊥
带入到上面的 Loss(w) 目标函数中得到:
对于error部分:
error(yi,(w||+w⊥)Txi)
因为 w⊥ 部分也垂直于所有的 xi 所以,error部分就等同于:
error(yi,w