最近求职真慌,一方面要看机器学习,一方面还刷代码。还是静下心继续看看课程,因为觉得实在讲的太好了。能求啥样搬砖工作就随缘吧。

这节课的核心就在如何把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】林轩田机器学习技术的更多相关文章

  1. 【Gradient Boosted Decision Tree】林轩田机器学习技术

    GBDT之前实习的时候就听说应用很广,现在终于有机会系统的了解一下. 首先对比上节课讲的Random Forest模型,引出AdaBoost-DTree(D) AdaBoost-DTree可以类比Ad ...

  2. 【Soft-Margin Support Vector Machine】林轩田机器学习技术

    Hard-Margin的约束太强了:要求必须把所有点都分开.这样就可能带来overfiiting,把noise也当成正确的样本点了. Hard-Margin有些“学习洁癖”,如何克服这种学习洁癖呢? ...

  3. 【Kernal Support Vector Machine】林轩田机器学习技术

    考虑dual SVM 问题:如果对原输入变量做了non-linear transform,那么在二次规划计算Q矩阵的时候,就面临着:先做转换,再做内积:如果转换后的项数很多(如100次多项式转换),那 ...

  4. (转载)林轩田机器学习基石课程学习笔记1 — The Learning Problem

    (转载)林轩田机器学习基石课程学习笔记1 - The Learning Problem When Can Machine Learn? Why Can Machine Learn? How Can M ...

  5. 【 Logistic Regression 】林轩田机器学习基石

    这里提出Logistic Regression的角度是Soft Binary Classification.输出限定在0~1之间,用于表示可能发生positive的概率. 具体的做法是在Linear ...

  6. 【Support Vector Regression】林轩田机器学习技法

    上节课讲了Kernel的技巧如何应用到Logistic Regression中.核心是L2 regularized的error形式的linear model是可以应用Kernel技巧的. 这一节,继续 ...

  7. 【Radial Basis Function Network】林轩田机器学习技法

    这节课主要讲述了RBF这类的神经网络+Kmeans聚类算法,以及二者的结合使用. 首先回归的了Gaussian SVM这个模型: 其中的Gaussian kernel又叫做Radial Basis F ...

  8. 【Adaptive Boosting】林轩田机器学习技法

    首先用一个形象的例子来说明AdaBoost的过程: 1. 每次产生一个弱的分类器,把本轮错的样本增加权重丢入下一轮 2. 下一轮对上一轮分错的样本再加重学习,获得另一个弱分类器 经过T轮之后,学得了T ...

  9. 【Linear Models for Binary Classification】林轩田机器学习基石

    首先回顾了几个Linear Model的共性:都是算出来一个score,然后做某种变化处理. 既然Linear Model有各种好处(训练时间,公式简单),那如何把Linear Regression给 ...

随机推荐

  1. April 12 2017 Week 15 Wednesday

    Genius often betrays itself into great errors. 天才常被天才误. Genius can help us get greater achievements, ...

  2. Selenium入门8 js调用

    execute_script 可以执行js和jquery脚本 示例如下:修改百度首页的按钮字体颜色,按钮隐藏,按钮显示 #coding=utf-8 # 调用js jquery from seleniu ...

  3. IOS 封装View的fram(X Y W H )

    @interface UIView (Extension) @property (nonatomic, assign) CGFloat x; @property (nonatomic, assign) ...

  4. IOS 单例模式(非ARC)

    singleton_h :连接字符串和参数 // ## : 连接字符串和参数 #define singleton_h(name) + (instancetype)shared##name; #defi ...

  5. MD5的32位加密方法

    /// <summary> /// MD532位加密方式 /// </summary> /// <param name="str">用户原始密码 ...

  6. url获取MVC域,action,controller的方法

    域:filterContext.RequestContext.RouteData.DataTokens["area"] 控制器:filterContext.RequestConte ...

  7. MMU CPU及思想

    要素: 1)CPU访问寻址地址空间: 2)内存不足以容纳所有进程数据: 3)MMU将进程数据分割,保留当前使用数据. http://baike.baidu.com/link?url=KHyp37Ysi ...

  8. Jmeter文件目录,功能简介

    1.Jmeter文件目录:1)bin文件: Jmeter启动:bin/jmeter.bat Jmeter日志文件:jmeter.log Linux的启动文件:Jmeter.sh Jmeter系统配置文 ...

  9. Bean的初始化和销毁

    在我们实际开发的时候,经常会遇到在Bean在使用之前或者之后做些必要的操作,Spring对Bean的生命周期的操作提供了支持.在使用Java配置和注解配置下提供如下两种方式.    1.Java配置方 ...

  10. Linux利用i节点删除乱码文件

    Linux删除乱码文件 当文件名为乱码的时候,无法通过键盘输入文件名,所以在终端下就不能直接利用rm,mv等命令管理文件了. 但是我们知道每个文件都有一个i节点号,我们可以考虑通过i节点号来管理文件. ...