AI有道

一个有情怀的公众号

1

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的个人网站为:https://www.csie.ntu.edu.tw/~cjlin/index.html

下面我们再来回顾一下Soft-Margin SVM的主要内容。我们的出发点是用ξn来表示margin violation,即犯错值的大小,没有犯错对应的ξn=0。然后将有条件问题转化为对偶dual形式,使用QP来得到最佳化的解。

经过这种转换之后,表征犯错误值大小的变量ξn就被消去了,转而由一个max操作代替。

为什么要将把Soft-Margin SVM转换为这种unconstrained form呢?我们再来看一下转换后的形式,其中包含两项,第一项是w的内积,第二项关于y和w,b,z的表达式,似乎有点像一种错误估计err^,则类似这样的形式:

看到这样的形式我们应该很熟悉,因为之前介绍的L2 Regularization中最优化问题的表达式跟这个是类似的:

这里提一下,既然unconstrained form SVM与L2 Regularization的形式是一致的,而且L2 Regularization的解法我们之前也介绍过,那么为什么不直接利用这种方法来解决unconstrained form SVM的问题呢?有两个原因。一个是这种无条件的最优化问题无法通过QP解决,即对偶推导和kernel都无法使用;另一个是这种形式中包含的max()项可能造成函数并不是处处可导,这种情况难以用微分方法解决。

而对于Soft-Margin SVM来说,条件和最优化问题结合起来,整体形式写成:

通过对比,我们发现L2 Regularization和Soft-Margin SVM的形式是相同的,两个式子分别包含了参数λ和C。Soft-Margin SVM中的large margin对应着L2 Regularization中的short w,也就是都让hyperplanes更简单一些。我们使用特别的err^来代表可以容忍犯错误的程度,即soft margin。L2 Regularization中的λλ和Soft-Margin SVM中的C也是相互对应的,λ越大,w会越小,Regularization的程度就越大;C越小,Ein^会越大,相应的margin就越大。所以说增大C,或者减小λ,效果是一致的,Large-Margin等同于Regularization,都起到了防止过拟合的作用。

建立了Regularization和Soft-Margin SVM的关系,接下来我们将尝试看看是否能把SVM作为一个regularized的模型进行扩展,来解决其它一些问题。

2

SVM versus Logistic Regression

上一小节,我们已经把Soft-Margin SVM转换成无条件的形式:

至此,可以看出,求解regularized logistic regression的问题等同于求解soft-margin SVM的问题。反过来,如果我们求解了一个soft-margin SVM的问题,那这个解能否直接为regularized logistic regression所用?来预测结果是正类的几率是多少,就像regularized logistic regression做的一样。我们下一小节将来解答这个问题。

3

SVM for Soft Binary Classification

接下来,我们探讨如何将SVM的结果应用在Soft Binary Classification中,得到是正类的概率值。

这两种方法都没有融合SVM和logistic regression各自的优势,下面构造一个模型,融合了二者的优势。构造的模型g(x)表达式为:

那么,新的logistic regression表达式为:

这种soft binary classifier方法得到的结果跟直接使用SVM classifier得到的结果可能不一样,这是因为我们引入了系数A和B。一般来说,soft binary classifier效果更好。至于logistic regression的解法,可以选择GD、SGD等等。

4

Kernel Logistic Regression

上一小节我们介绍的是通过kernel SVM在z空间中求得logistic regression的近似解。如果我们希望直接在z空间中直接求解logistic regression,通过引入kernel,来解决最优化问题,又该怎么做呢?SVM中使用kernel,转化为QP问题,进行求解,但是logistic regression却不是个QP问题,看似好像没有办法利用kernel来解决。

我们之前介绍过SVM、PLA包扩logistic regression都可以表示成z的线性组合,这也提供了一种可能,就是将kernel应用到这些问题中去,简化z空间的计算难度。

经过证明和分析,我们得到了结论是任何L2-regularized linear model都可以使用kernel来解决。

上式中,所有的w项都换成βn来表示了,变成了没有条件限制的最优化问题。我们把这种问题称为kernel logistic regression,即引入kernel,将求w的问题转换为求βn的问题。

从另外一个角度来看Kernel Logistic Regression(KLR):

值得一提的是,KLR中的βn与SVM中的αn是有区别的。SVM中的αn大部分为零,SV的个数通常是比较少的;而KLR中的βn通常都是非零值。

往期回顾

【1】线性支持向量机(LSVM)

【2】对偶支持向量机(DSVM)

【3】核支持向量机(KSVM)

【4】Soft-Margin支持向量机(SSVM)

【5】干货 | 吴恩达deeplearning.ai专项课程历史文章汇总

【6】简单的梯度下降算法,你真的懂了吗?

【7】重磅 | 吴恩达新书《Machine Learning Yearning》最新版分享

【8】力荐 | 台大林轩田《机器学习基石》资源汇总

【9】重磅 | “吴恩达deeplearningai”官方微信公众号已经上线!

长按二维码

扫描关注

喜欢就点个赞吧!
点击 | 阅读原文| 获取更多干货内容

逻辑回归还能这样解?关于Kernel Logistic Regression的详细解释相关推荐

  1. 吴恩达机器学习 逻辑回归 作业3(手写数字分类) Python实现 代码详细解释

    整个项目的github:https://github.com/RobinLuoNanjing/MachineLearning_Ng_Python 里面可以下载进行代码实现的数据集 题目介绍: In t ...

  2. 逻辑回归梯度下降法详解

    引言 逻辑回归常用于预测疾病发生的概率,例如因变量是是否恶性肿瘤,自变量是肿瘤的大小.位置.硬度.患者性别.年龄.职业等等(很多文章里举了这个例子,但现代医学发达,可以通过病理检查,即获取标本放到显微 ...

  3. 台湾大学林轩田机器学习技法课程学习笔记5 -- Kernel Logistic Regression

    红色石头的个人网站:redstonewill.com 上节课我们主要介绍了Soft-Margin SVM,即如果允许有分类错误的点存在,那么在原来的Hard-Margin SVM中添加新的惩罚因子C, ...

  4. 林轩田机器学习技法第五讲-Kernel Logistic Regression

    上一讲学习了Soft-Margin Support Vector Machine,至此基本的支持向量机就介绍完了.那么其中涉及的思想能否和其他的算法结合起来呢?这讲就看一下如何将核技巧和之前学习的Lo ...

  5. 【机器学习算法笔记系列】逻辑回归(LR)算法详解和实战

    逻辑回归(LR)算法概述 逻辑回归(Logistic Regression)是用于处理因变量为分类变量的回归问题,常见的是二分类或二项分布问题,也可以处理多分类问题,它实际上是属于一种分类方法. 逻辑 ...

  6. Spark Graphx Pregel(pregel参数详解,pregel调用实现过程的详细解释)

    Spark Graphx Pregel 一.Pregel概述 1.什么是pregel? 2.pregel应用场景 二.Pregel源码及参数解释 1.源码 2.参数详细解释 (1)initialMsg ...

  7. mllib逻辑回归 spark_Spark架构详解——分布式流计算内存批处理迭代运算框架

    #Spark# #大数据# #Hadoop# #streaming# #分布式计算# Spark:基于内存的高速集群计算框架.对mapreduce进行优化,在内存中进行迭代运算.可以使用Java,Py ...

  8. Lesson 4.1-4.2 逻辑回归模型构建与多分类学习方法逻辑回归参数估计

    Lesson 4.1 逻辑回归模型构建与多分类学习方法 首先我们来讨论关于逻辑回归的基本原理,当然,在此过程中,我们也将进一步补充机器学习数学理论基础. 逻辑回归的基本原理,从整体上来划分可以分为两个 ...

  9. 收藏!!如何 Get 机器学习必备的算法技能? | 逻辑回归

    本文是吴恩达老师的机器学习课程[1]的笔记和代码复现部分(逻辑回归). 作者:黄海广[2] 备注:笔记和作业(含数据.原始作业文件).视频都在github[3]中下载. 我将陆续将课程笔记和课程代码发 ...

最新文章

  1. CQRS学习——最小单元的Cqrs(CommandEvent)[其一]
  2. apache laravel主页500_PS强大笔刷,插画师完美Hold住各种效果!(附500个笔刷)
  3. 惊天大谎:让穷人都能上网是Facebook的殖民阴谋?
  4. SpringBoot下的工作流Activiti开发
  5. 关于 ORA-01033: ORACLE initialization or shutdown in progress
  6. Docker最全教程——Redis容器化以及排行榜实战(十三)
  7. tokumx经营报表
  8. 操作系统上机题目(多进程2)
  9. 两种方法解决tomcat的 Failed to initialize end point associated with ProtocolHandler [http-apr-8080]...
  10. OpenCV--fstream格式化读取坐标数据存为vector
  11. 经典算法——斐波那契数列
  12. nodejs使用supervisor插件调试效率
  13. Python3安装tkinter
  14. 考查频率最高的吉林八景
  15. Android仿网易头条评论,仿网易/今日头条滑动视图
  16. java中负数_Java中负数以及类型转换问题
  17. BlueCoat SG CPU高问题
  18. c语言案例六 速算24,参阅:C语言速算24数据结构课程设计最终版
  19. 考题篇(5.2) 19. 数据防泄漏 ❀ FortiGate ❀ Fortinet 网络安全专家 NSE 4
  20. 华为交换机 STP MSTP BPDU保护 边缘端口 BPDU过滤 根保护 环路保护 TC保护

热门文章

  1. OneProxy实现MySQL读写分离与负载均衡
  2. 实验十——一维数组的定义及引用
  3. HP LoadRunner 12.02 Tutorial T7177-88037教程独家中文版
  4. Windows Mobile (EVC)开发手记1
  5. 【蓝桥杯-第五届】 啤酒和饮料
  6. poj 1006(中国剩余定理)
  7. leetcode之Tow Sum两数之和的三种思路
  8. OpenSTF 平台搭建
  9. hibernate主配置文件的配置
  10. URI Scheme注册伪协议实现远程命令执行