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

这节课的核心就在如何把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. @RequiresPermissionss是否可以填写多种权限标识,只要满足其一就可以访问?

    @RequiresPermissionss是否可以填写多种权限标识,只要满足其一就可以访问?  发布于 180天前  作者 qq_b02c4863  144 次浏览  复制  上一个帖子  下一个帖子 ...

  2. 基于ASP.NET WPF技术及MVP模式实战太平人寿客户管理项目开发(Repository模式)

    亲爱的网友,我这里有套课程想和大家分享,假设对这个课程有兴趣的.能够加我的QQ2059055336和我联系.  课程背景 本课程是教授使用WPF.ADO.NET.MVVM技术来实现太平人寿保险有限公司 ...

  3. Codeforces 758D Ability To Convert(区间DP)

    题目链接:http://codeforces.com/problemset/problem/758/D 题意:一个n进制下的数k,其中k不会用字母,如果有A就用10代替了.求k这个数对应的,在10进制 ...

  4. linux命令之awk命令

    awk是一种编程语言,用于在linux/unix下对文本和数据进行处理.数据可以来自标准输入(stdin).一个或多个文件,或其它命令的输出.它支持用户自定义函数和动态正则表达式等先进功能,是linu ...

  5. 2017.10.27 C语言精品集

    第一章 程序设计和C语言 1.1 什么是计算机程序? @ ······ 所谓程序,就是一组计算机能识别和执行的指令.每一条指令使计算机执行特定的操作. 计算机的一切操作都是由程序控制的.所以计算机的本 ...

  6. atoi简析

    原文链接 atoi()函数的功能:将字符串转换成整型数:atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负号才开始做转换,而再遇到非数字或字符串时('\0')才结束转化,并将 ...

  7. Drupal 新建Modules

    最简单的模块包含了2个文件夹,它们放置于同一个文件夹下:包含模块信息的文件以.info为后缀名,而实现功能的文件则以.module结尾. 可以给模块一个友好的(human-readable)名字,但是 ...

  8. 第42章 电源管理—实现低功耗—零死角玩转STM32-F429系列

    第42章     电源管理—实现低功耗 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fir ...

  9. winfrom中上传文件保存在webFrom里面

    winfrom里面的代码 private void button1_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(text ...

  10. django中的forms组件(权限信息校验,增删改查)

    1.用处 1.用户请求数据验证 2.自动生成错误信息 3.打包用户提交的正确信息 4.如果其中有一个错误了,其他的正确,则保留上次输入的内容 5.自动创建input标签并可以设置样式 6.基于form ...