1. 前言

在机器学习的分类问题领域中,有两个平分秋色的算法,就是逻辑回归支持向量机,这两个算法个有千秋,在不同的问题中有不同的表现效果,下面我们就对它们的区别和联系做一个简单的总结。

2. LR和SVM的联系

  1. 都是监督的分类算法。
  2. 都是线性分类方法 (不考虑核函数时)。
  3. 都是判别模型

3. LR和SVM的不同

  1. 损失函数的不同,LR是对数损失函数,SVM是hinge损失函数
  2. SVM不能产生概率,LR可以产生概率。
  3. SVM自带结构风险最小化,LR则是经验风险最小化
  4. SVM会用核函数而LR一般不用核函数
  5. LR和SVM在实际应用的区别:根据经验来看,对于小规模数据集,SVM的效果要好于LR,但是大数据中,SVM的计算复杂度受到限制,而LR因为训练简单,可以在线训练,所以经常会被大量采用。

4. 概念解释

  • 判别模型:是直接生成一个表示或者的判别函数(或预测模型),SVM和LR,KNN,决策树都是判别模型。
  • 生成模型:是先计算联合概率分布然后通过贝叶斯公式转化为条件概率,朴素贝叶斯,隐马尔可夫模型是生成模型。
  • 经验风险:对所有训练样本都求一次损失函数,再累加求平均。即,模型\(f(x)\)对训练样本中所有样本的预测能力。
  • 期望风险:对所有样本(包含未知样本和已知的训练样本)的预测能力,是全局概念。(经验风险则是局部概念,仅仅表示决策函数对训练数据集里的样本的预测能力。)
  • 结构风险:对经验风险和期望风险的折中,在经验风险函数后面加一个正则化项(惩罚项),是一个大于0的系数\(\lambda\)。\(J(f)\)表示的是模型的复杂度。

最新文章

  1. 3.Windows Server 2012 R2数据库部署
  2. 虚拟机配置光盘为yum源
  3. Node.js与Sails~方法拦截器policies
  4. SQL Server 2016的数据库范围内的配置
  5. jquery条件选择多个元素(与、或者)
  6. 如何重新安装DEDECMS织梦系统
  7. Git 怎样保证fork出来的project和原project(上游项目)同步更新
  8. Javascript Math ceil()、floor()、round()三个函数的区别
  9. C/C++程序员必须熟练应用的开源项目(转-清风小阁)
  10. Java 操作MySql数据库
  11. [改善Java代码]线程优先级只使用三个等级
  12. mac OS X下PhpStorm+MAMP PRO+Xdebug+FireFox集成开发和断点调试环境配置
  13. HighCharts 根据spline-plot-bands图,定制自己的图(区间里显示多个数据)
  14. quartz spring
  15. Swift调用Objective C的FrameWork
  16. [20190417]隐含参数_SPIN_COUNT.txt
  17. 设计模式のFacadePattern(外观模式)----结构模式
  18. dll静态调用和动态调用
  19. Web Scraper爬取就是这么简单
  20. LVN与其在Linux上的实现

热门文章

  1. 【Algorithm】希尔排序
  2. SQL临时表
  3. mysql 查询 根据时分秒取数据 比如 取 时间为 8点半的 dateformat 时间函数转换
  4. 安卓Textview的getLineCount返回0
  5. Python 文件 writelines() 方法
  6. 转:ECharts图表组件之简单关系图:如何轻松实现另类站点地图且扩展节点属性实现点击节点页面跳转
  7. 基于Docker搭建LNMP环境(转)
  8. 引文分析工具HistCite使用简介
  9. RAID简介[zz]
  10. 使用 Swagger 文档化和定义 RESTful API