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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux修给主机名

    linux修给主机名linux修给主机名

    2022年4月24日
    33
  • 5种方式实现 Java 单例模式

    5种方式实现 Java 单例模式单例模式(SingletonPattern)是Java中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。是否多线程安全:是是否懒加载:否正如名字含义,饿汉需要直接创建实例。缺点:类加载就初始化,浪费内存优点:没有加锁,执行效率高。还是线程安全的实例。懒汉单例,在类初始化不会创建实例,只有被调用时

    2022年8月11日
    5
  • 【Java 代码实例 14】BeanUtils用法详解,附源码分析

    【Java 代码实例 14】BeanUtils用法详解,附源码分析目录一、org.apache.commons.beanutils.BeanUtils简介二、使用的前置条件三、添加pom四、代码实例1、为属性赋值2、拷贝对象,为对象赋值3、map转bean4、bean转map五、Apache的BeanUtils与Spring的BeanUtils一、org.apache.commons.beanutils.BeanUtils简介BeanUtils是ApacheCommons组件的成员之一,主要用于简化JavaBean封装数据的操作。​简化反射封装参数的步骤,给对象封

    2022年9月11日
    0
  • oracle12官方下载,Oracle 12c下载64位|Oracle Database 12c下载 官方版_最火软件站[通俗易懂]

    oracle12官方下载,Oracle 12c下载64位|Oracle Database 12c下载 官方版_最火软件站[通俗易懂]Oracle12C是由Oracle官方提供的最新版本数据库,Oracle12C引入了CDB与PDB的新特性,在ORACLE12C数据库引入的多租用户环境(MultitenantEnvironment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为ContainerDatabase,中文翻译为数据库容器,PDB全称为PluggableDatabase,即可…

    2022年10月28日
    0
  • The Class File Viewer cannot handle the given input

    The Class File Viewer cannot handle the given inputThe Class File Viewer cannot handle the given input

    2022年4月24日
    67
  • oracle r修改表名,oracle中修改表名「建议收藏」

    oracle r修改表名,oracle中修改表名「建议收藏」<<>>answer1:ALTERTABLEold_table_nameRENAMETOnew_table_name;(大写为系统命令)answer2:SQL>selecttnamefromtab;TNAME——————————TESTSQL>renametesttotemp;Tablere…

    2022年5月17日
    37

发表回复

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

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