【Kernel Logistic Regression】林轩田机器学习技术
最近求职真慌,一方面要看机器学习,一方面还刷代码。还是静下心继续看看课程,因为觉得实在讲的太好了。能求啥样搬砖工作就随缘吧。
这节课的核心就在如何把kernel trick到logistic regression上。
首先把松弛变量的表达形式修改一下,把constrained的形式改成unconstrained的形式。

改成这种'unconstrained' form of soft-margin SVM之后,突然发现很像L2 regularization

如果用regularized model的角度来看SVM,可以对应C跟lambda对应上。
上面仅仅说soft-margin SVM跟L2 regularization在形式上比较像。下面从erro measure的角度来分析二者相似性。

从error measure的角度来说,SVM确实长得跟LogReg比较像。
再从binary classification的角度看soft-margin SVM跟LogReg L2

(1)soft-margin的SVM跟LogReg都能bound住PLA的那条error measure
(2)soft-margin SVM跟LogReg的曲线长得像
上面讲了这么多,到底为了说明什么呢?我觉得林就是想说的事情如下:
(1)Logistic Regression的binary classification好,SVM的kernel好
(2)咋把kernel trick给移到LogReg里面。
先给出来一个Probabilistic SVM的算法。

具体的做法分两步:
(1)用kernel soft-margin SVM先对根据数据求出来W'svm和bsvm
(2)引入A和B两个变量到LogReg中(A做大小变化,B做截距平移变化)
通过这样的方式好处有两个:
(1)既能用dual SVM的好处,把kernel trick给直接引进了
(2)表达式是A、B无约束的极值问题,可以用梯度法等求解
这里求出来的A应该最好是正的,这里的B应该初始值是很小的(否则,原来SVM的效果就太差了)
上面的这种方法,只是一个近似的把SVM跟LogReg结合的方法。其实,也有比较exact的kernel trick用到LogReg上的。
能用kernel trick最核心的一点就是W可以表示成输入向量的线性组合(represented by data)
PLA SVM是已经证明过的,LogReg也是这样的。

那么这个能不能有推广性。
其实是可以有的,对于L2 regularization这种形式的linear model是可以有的,如下。

上面要论证的问题是:到底符合L2的这种线性模型,W能否一定能表示成Zn的线性组合。
这里用的比较直观的证明:核心就是把W拆成平行于Z空间的分量和垂直与Z空间的分量。
很容易证明
(1)垂直于Z空间的分量对后一项err并不起到作用
(2)对于前一项起来,如果W有垂直于Z空间的分量,则肯定不是最小值,至少要把垂直分量去掉才行
综上述,Representer Theorem对于L2-regularized linear model是可行的。
因此,这个结论很棒,L2-regularized linear model可以被kernlized。

因此这种L2-LogReg的问题就好解了,因为已经representer theorem让我们已经知道了W的形式。
所以,直接变成了对N个beta的无约束优化问题。则kernel trick对于LogReg是可以迁移过去的。
从另一个角度来看,其实L2-LogReg的原来求解问题,就转化成了在beta空间求解的问题了。这里求出来的beta可能大多不是零,会占用很多计算资源。
【Kernel Logistic Regression】林轩田机器学习技术的更多相关文章
- 【Gradient Boosted Decision Tree】林轩田机器学习技术
GBDT之前实习的时候就听说应用很广,现在终于有机会系统的了解一下. 首先对比上节课讲的Random Forest模型,引出AdaBoost-DTree(D) AdaBoost-DTree可以类比Ad ...
- 【Soft-Margin Support Vector Machine】林轩田机器学习技术
Hard-Margin的约束太强了:要求必须把所有点都分开.这样就可能带来overfiiting,把noise也当成正确的样本点了. Hard-Margin有些“学习洁癖”,如何克服这种学习洁癖呢? ...
- 【Kernal Support Vector Machine】林轩田机器学习技术
考虑dual SVM 问题:如果对原输入变量做了non-linear transform,那么在二次规划计算Q矩阵的时候,就面临着:先做转换,再做内积:如果转换后的项数很多(如100次多项式转换),那 ...
- (转载)林轩田机器学习基石课程学习笔记1 — The Learning Problem
(转载)林轩田机器学习基石课程学习笔记1 - The Learning Problem When Can Machine Learn? Why Can Machine Learn? How Can M ...
- 【 Logistic Regression 】林轩田机器学习基石
这里提出Logistic Regression的角度是Soft Binary Classification.输出限定在0~1之间,用于表示可能发生positive的概率. 具体的做法是在Linear ...
- 【Support Vector Regression】林轩田机器学习技法
上节课讲了Kernel的技巧如何应用到Logistic Regression中.核心是L2 regularized的error形式的linear model是可以应用Kernel技巧的. 这一节,继续 ...
- 【Radial Basis Function Network】林轩田机器学习技法
这节课主要讲述了RBF这类的神经网络+Kmeans聚类算法,以及二者的结合使用. 首先回归的了Gaussian SVM这个模型: 其中的Gaussian kernel又叫做Radial Basis F ...
- 【Adaptive Boosting】林轩田机器学习技法
首先用一个形象的例子来说明AdaBoost的过程: 1. 每次产生一个弱的分类器,把本轮错的样本增加权重丢入下一轮 2. 下一轮对上一轮分错的样本再加重学习,获得另一个弱分类器 经过T轮之后,学得了T ...
- 【Linear Models for Binary Classification】林轩田机器学习基石
首先回顾了几个Linear Model的共性:都是算出来一个score,然后做某种变化处理. 既然Linear Model有各种好处(训练时间,公式简单),那如何把Linear Regression给 ...
随机推荐
- 腾讯CodeStar第二季前端突击队腐蚀的画解法步骤笔记
所有题目地址:http://codestar.alloyteam.com/q2 本题内容:http://www.cnblogs.com/yedeying/p/3617593.html 腐蚀的画涉及到的 ...
- IOS NSThread(线程同步)
@interface HMViewController () /** 剩余票数 */ @property (nonatomic, assign) int leftTicketsCount; @prop ...
- mysql [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GRO
[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated c ...
- P3740 贴海报
P3740 贴海报 很显然,这个题是让我们维护一个区间的信息 可以考虑线段树.可是这个题,正向思维可能并不可做. 所以我们考虑逆向思维. 打个比方,你是一名保洁人员.面对已经粘在墙上的,大大小小的广告 ...
- maven中import scope依赖方式解决单继承问题的理解
在maven多模块项目中,为了保持模块间依赖的统一,常规做法是在parent model中,使用dependencyManagement预定义所有模块需要用到的dependency(依赖) <d ...
- Python学习之路——基础1
python作为一门解释型的编程语言,和c/c++等其他语言都或多或少有相通的地方,所以有语言基础的话,学起来还是方便一些.所以我的笔记对于相对简单的概念可能会选择放过,但对自己记录的东西我会力求完备 ...
- Eclipse+Python环境配置
Eclipse+Pydev 1.安装Eclipse Eclipse可以在它的官方网站Eclipse.org找到并下载,通常我们可以选择适合自己的Eclipse版本,比如Eclipse Classic. ...
- lvs+keepalived实验
一.VRRP协议与工作原理 在现实网络环境中,主机之间的通信都是通过配置静态路由或者(默认网关)来完成的,而主机之间的路由器一旦发生故障,通信就会失效,因此这种通信模式当中,路由器就成了一个单点瓶颈, ...
- python中enumerate函数使用
enumerate()说明 enumerate()是python的内置函数 enumerate在字典上是枚举.列举的意思 对于一个可迭代的(iterable)/可遍历的对象(如列表.字符串),enum ...
- Eloquent: 修改器
感觉好长时间没写东西了,一方面主要是自己的角色发生了变化,每天要面对各种各样的事情和突发事件,不能再有一个完整的长时间让自己静下来写代码,或者写文章. 另一方面现在公司技术栈不再停留在只有 Larav ...