台湾大学林轩田机器学习技法课程学习笔记5 -- Kernel Logistic Regression
来源:互联网 发布:源码商城 编辑:程序博客网 时间:2024/05/20 05:09
上节课我们主要介绍了Soft-Margin SVM,即如果允许有分类错误的点存在,那么在原来的Hard-Margin SVM中添加新的惩罚因子C,修正原来的公式,得到新的
Soft-Margin SVM as Regularized Model
先复习一下我们已经介绍过的内容,我们最早开始讲了Hard-Margin Primal的数学表达式,然后推导了Hard-Margin Dual形式。后来,为了允许有错误点的存在(或者noise),也为了避免模型过于复杂化,造成过拟合,我们建立了Soft-Margin Primal的数学表达式,并引入了新的参数C作为权衡因子,然后也推导了其Soft-Margin Dual形式。因为Soft-Margin Dual SVM更加灵活、便于调整参数,所以在实际应用中,使用Soft-Margin Dual SVM来解决分类问题的情况更多一些。
Soft-Margin Dual SVM有两个应用非常广泛的工具包,分别是Libsvm和Liblinear。 Libsvm和Liblinear都是国立台湾大学的Chih-Jen Lin博士开发的,Chih-Jen Lin的个人网站为:Welcome to Chih-Jen Lin’s Home Page
下面我们再来回顾一下Soft-Margin SVM的主要内容。我们的出发点是用
从另外一个角度来看,
上式表明,如果有voilating margin,则
经过这种转换之后,表征犯错误值大小的变量
为什么要将把Soft-Margin SVM转换为这种unconstrained form呢?我们再来看一下转换后的形式,其中包含两项,第一项是w的内积,第二项关于y和w,b,z的表达式,似乎有点像一种错误估计
看到这样的形式我们应该很熟悉,因为之前介绍的L2 Regularization中最优化问题的表达式跟这个是类似的:
这里提一下,既然unconstrained form SVM与L2 Regularization的形式是一致的,而且L2 Regularization的解法我们之前也介绍过,那么为什么不直接利用这种方法来解决unconstrained form SVM的问题呢?有两个原因。一个是这种无条件的最优化问题无法通过QP解决,即对偶推导和kernel都无法使用;另一个是这种形式中包含的max()项可能造成函数并不是处处可导,这种情况难以用微分方法解决。
我们在第一节课中就介绍过Hard-Margin SVM与Regularization Model是有关系的。Regularization的目标是最小化
而对于Soft-Margin SVM来说,条件和最优化问题结合起来,整体形式写成:
通过对比,我们发现L2 Regularization和Soft-Margin SVM的形式是相同的,两个式子分别包含了参数
建立了Regularization和Soft-Margin SVM的关系,接下来我们将尝试看看是否能把SVM作为一个regularized的模型进行扩展,来解决其它一些问题。
SVM versus Logistic Regression
上一小节,我们已经把Soft-Margin SVM转换成无条件的形式:
上式中第二项的
对于
紧接着,我们再来看一下logistic regression中的error function。逻辑回归中,
很明显,
总结一下,我们已经介绍过几种Binary Classification的Linear Models,包括PLA,Logistic Regression和Soft-Margin SVM。PLA是相对简单的一个模型,对应的是
至此,可以看出,求解regularized logistic regression的问题等同于求解soft-margin SVM的问题。反过来,如果我们求解了一个soft-margin SVM的问题,那这个解能否直接为regularized logistic regression所用?来预测结果是正类的几率是多少,就像regularized logistic regression做的一样。我们下一小节将来解答这个问题。
SVM for Soft Binary Classification
接下来,我们探讨如何将SVM的结果应用在Soft Binary Classification中,得到是正类的概率值。
第一种简单的方法是先得到SVM的解
第二种简单的方法是同样先得到SVM的解
这两种方法都没有融合SVM和logistic regression各自的优势,下面构造一个模型,融合了二者的优势。构造的模型g(x)表达式为:
与上述第一种简单方法不同,我们额外增加了放缩因子A和平移因子B。首先利用SVM的解
那么,新的logistic regression表达式为:
这个表达式看上去很复杂,其实其中的
这种soft binary classifier方法得到的结果跟直接使用SVM classifier得到的结果可能不一样,这是因为我们引入了系数A和B。一般来说,soft binary classifier效果更好。至于logistic regression的解法,可以选择GD、SGD等等。
Kernel Logistic Regression
上一小节我们介绍的是通过kernel SVM在z空间中求得logistic regression的近似解。如果我们希望直接在z空间中直接求解logistic regression,通过引入kernel,来解决最优化问题,又该怎么做呢?SVM中使用kernel,转化为QP问题,进行求解,但是logistic regression却不是个QP问题,看似好像没有办法利用kernel来解决。
我们先来看看之前介绍的kernel trick为什么会work,kernel trick就是把z空间的内积转换到x空间中比较容易计算的函数。如果w可以表示为z的线性组合,即
我们之前介绍过SVM、PLA包扩logistic regression都可以表示成z的线性组合,这也提供了一种可能,就是将kernel应用到这些问题中去,简化z空间的计算难度。
有这样一个理论,对于L2-regularized linear model,如果它的最小化问题形式为如下的话,那么最优解
下面给出简单的证明,假如最优解
经过证明和分析,我们得到了结论是任何L2-regularized linear model都可以使用kernel来解决。
现在,我们来看看如何把kernel应用在L2-regularized logistic regression上。上面我们已经证明了
上式中,所有的w项都换成
从另外一个角度来看Kernel Logistic Regression(KLR):
上式中log项里的
但值得一提的是,KLR中的
总结
本节课主要介绍了Kernel Logistic Regression。首先把Soft-Margin SVM解释成Regularized Model,建立二者之间的联系,其实Soft-Margin SVM就是一个L2-regularization,对应着hinge error messure。然后利用它们之间的相似性,讨论了如何利用SVM的解来得到Soft Binary Classification。方法是先得到SVM的解,再在logistic regression中引入参数A和B,迭代训练,得到最佳解。最后介绍了Kernel Logistic Regression,证明L2-regularized logistic regression中,最佳解
注明:
文章中所有的图片均来自台湾大学林轩田《机器学习技法》课程
- 台湾大学林轩田机器学习技法课程学习笔记5 -- Kernel Logistic Regression
- 机器学习技法课程学习笔记5-- Kernel Logistic Regression
- 机器学习技法-5-Kernel Logistic Regression
- 台湾大学林轩田机器学习技法课程学习笔记6 -- Support Vector Regression
- 台湾大学林轩田机器学习技法课程学习笔记3 -- Kernel Support Vector Machine
- 林轩田--机器学习技法--SVM笔记5--核逻辑回归(Kernel+Logistic+Regression)
- 机器学习技法-Kernel Logistic Regression
- 机器学习技法 笔记五 Kernel Logistic Regression
- 台湾大学林轩田机器学习基石课程学习笔记10 -- Logistic Regression
- 台湾国立大学机器学习技法.听课笔记(第五讲) :Kernel Logistic Regression
- 台湾大学林轩田机器学习技法课程学习笔记1 -- Linear Support Vector Machine
- 台湾大学林轩田机器学习技法课程学习笔记2 -- Dual Support Vector Machine
- 台湾大学林轩田机器学习技法课程学习笔记4 -- Soft-Margin Support Vector Machine
- 台湾大学林轩田机器学习技法课程学习笔记7 -- Blending and Bagging
- 台湾大学林轩田机器学习技法课程学习笔记8 -- Adaptive Boosting
- 台湾大学林轩田机器学习技法课程学习笔记9 -- Decision Tree
- 台湾大学林轩田机器学习技法课程学习笔记10 -- Random Forest
- 台湾大学林轩田机器学习技法课程学习笔记11 -- Gradient Boosted Decision Tree
- idftp
- 总结了一天的Mongodb常用命令
- 电脑断电重启后Android Studio出现异常,所有的类引入都报错
- 安卓开发中去除标题栏
- QT学习——文件操作
- 台湾大学林轩田机器学习技法课程学习笔记5 -- Kernel Logistic Regression
- OC-集合类(数组)
- JavaScript重构(三):JavaScript的测试
- Redis的基本数据类型
- JavaScript重构(二):JS的动态加载
- SSH简单项目实例(附下载)
- 背包问题解析
- JS-RegExp正则表达式的对象
- JavaScript重构(一):模块划分和命名空间