SVM和logistic regression的一些对比

SVM和logistic regression的一些对比

一、SVM的常用目标函数形式

SVM和logistic regression的一些对比

soft margin svm可表示为:

SVM和logistic regression的一些对比

其中,C表示惩罚系数;C越大,表示对margin越严格,即对不满足约束的样本数要更少;

反之,C越小,表示对margin越宽松,即可接受不满足约束的样本数越多。

例如下图所示:

SVM和logistic regression的一些对比

 

二、SVM和logistic regression的对比

1、对于SVM目标函数的解读

SVM的目标函数与带了L2正则的Model的目标函数很相似,并且具有相同的一些性质。

SVM和logistic regression的一些对比

  SVM和logistic regression的一些对比

 

2、三种常用替代损失函数对比

SVM和logistic regression的一些对比

因此,SVM目标函数中的max(1-ys,0)函数与Logistic regression的目标函数很像;如果给LR加入L2正则化,那么有:

SVM和logistic regression的一些对比

 

三、Probabilistic SVM的实现思路

1、鉴于SVM和加L2正则的LR model很相似出发:

(1)idea1

将soft margin的SVM进行求解,将得到的w,b参数当作LR model的w’,b’的近似解,然后使用sigmoid函数进行概率求解。

优点:直接使用了svm和LR的相似性,实际使用上,较为简单,通常表现还不错。

缺点:实际上几乎丧失了LR model推导中的maximum likelyhood等性质。

SVM和logistic regression的一些对比

 

 

 

 

 

 

 

 

 

 

(2)idea2

 将soft margin的SVM进行求解,将得到的w,b参数当作LR model解的起始点,再进行LR模型的求解。

缺点:效果和单独使用LR model求解差不多,并且对于kernel svm,则无法使用LR model进行近似。

 SVM和logistic regression的一些对比

 

2、采用融合SVM和LR各自优势的思路

(1) 做法

      将SVM求解出来的结果(即求解出w和b)后计算(wx+b)的值value,然后在value上加上两个自由度的操作,即放缩操作A,平移操作B;在A和B两个参数上使用logistic regression进行训练(实际上是把A和B分别当作LR model里的w和b参数来求解),这样可以比较吻合在logistic regression中的maximum likelyhood的需求。

优点:保留了svm原有的性质,包括kernel svm的性质;可以使用LR model获得概率值表示。

几何解释:用SVM 找出分类超平面的法向量,然后不改变法向量,但是在法向量之上再加上一些放缩和平移操作,使其更吻合在logistic regression中的maximum likelyhood的需求。

SVM和logistic regression的一些对比

 

(2) Probabilistic SVM的目标函数:

 SVM和logistic regression的一些对比

 

(3)Probabilistic SVM一般化的求解步骤

SVM和logistic regression的一些对比

 

转载于:https://www.cnblogs.com/xieb1994/p/9886139.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101339.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JS基础——cssText的用法[通俗易懂]

    JS基础——cssText的用法[通俗易懂]JS基础——cssText的用法#div1{width:100px;height:100px;background:#f3f3f3;border:1pxsolid#ccc;color:red;}window.onload=function(){ var oDiv=document.getElementById(‘div1’); varoBtn=docume

    2022年7月26日
    22
  • 怎么检查iis是否安装成功_注册表信息

    怎么检查iis是否安装成功_注册表信息利用注册表检测IIS是否安装

    2022年4月21日
    104
  • Windows10下安装Git

    Windows10下安装GitGit是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。具体安装步骤如下:第一步:先从官网下载最新版本的Git官网地址:https://git-scm.com/downloads点击上图中表示的地方进行下载,得到Git-2.17.1.2-64-bit.exe文件。如果你的系统是32位的,可以通过如下方式下载:第二步:双击下载好的git安装包,弹出提示框,如下图:第三…

    2022年6月11日
    38
  • 黑群晖docker清理缓存_群晖Docker半洗白 不关机快速修改sn/mac方法

    黑群晖docker清理缓存_群晖Docker半洗白 不关机快速修改sn/mac方法老版本Docker下载地址:https://archive.synology.com/download/Package/spk/Docker/17.05.0-0401/Docker-x64-17.05.0-0401.spkDSM_DDSM_25426.pat下载地址:https://cndl.synology.cn/download/DSM/release/6.2.3/25426/DSM_DDS…

    2022年6月11日
    105
  • BM3D的学习与Matlab实现「建议收藏」

    BM3D的学习与Matlab实现「建议收藏」                    BM3D的学习与Matlab的实现      BM3D是2007年TIP的文章,题目是《ImageDenoisingbySparse3-DTransform-DomainCollaborativeFiltering》。最近想尝试一下图像去噪,看看能否应用到项目中,顺便测试了一下效果,结果不…

    2022年5月2日
    34
  • 装饰器 (Decorator)

    装饰器 (Decorator)装饰器 Decorator 是 个函数 用来修改类的行为 装饰器对类的行为的改变 是编译时发生的 而不是在运行时 作用 是 种动态地往 个类中添加新的行为的设计模式 它可以在类运行时 扩展 个类的功能 并且去修改类本身的属性和方法 使其可以在不同类之间更灵活的共用 些属性和方法 装饰器本庚就是编译时执行的函数 decoratorcla 等同于 classA A decorator A A 装饰类 testable 就是 个

    2025年7月9日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号