SVM — 机器学习面试
LR和SVM有什么区别,libsvm和liblinear有什么区别。
LR与SVM的区别:
相同点:
- LR和SVM都是分类算法
- 如果不考虑核函数,LR和SVM都是线性分类算法,也就是说他们的分类决策面都是线性的。
- LR和SVM都是监督学习算法。
- LR和SVM都是判别模型。
不同点:
- 本质上是其loss function不同。
- 支持向量机只考虑局部的边界线附近的点,而逻辑回归考虑全局(远离的点对边界线的确定也起作用)。
- LR可以给出每个点属于每一类的概率,而SVM是非概率的,然后一个是基于统计的方法,一个是完全基于几何的方法,模型的建立上有本质的差异;
- 在解决非线性问题时,支持向量机采用核函数的机制,而LR通常不采用核函数的方法。
- 如果一个问题的异常点较多无法剔除,首先LR中因为每个样本都对最终Loss有贡献,最大似然后会自动压制异常的贡献;回想SVM + 软间隔却对异常比较敏感,因为其训练只需要支持向量,有效样本本来就不高,一旦被干扰,预测结果难以预料
KKT条件用哪些,完整描述
对KKT很好的解释https://www.cnblogs.com/xinchen1111/p/8804858.html
题目描述 :
拉格朗日函数
KKT条件:
LR和SVM有什么区别
相同点:
- LR和SVM都是分类算法
- 如果不考虑核函数,LR和SVM都是线性分类算法,也就是说他们的分类决策面都是线性的。
- LR和SVM都是监督学习算法。
- LR和SVM都是判别模型。
不同点:
- 本质上是其loss function不同。
- 支持向量机只考虑局部的边界线附近的点,而逻辑回归考虑全局(远离的点对边界线的确定也起作用)。
- LR可以给出每个点属于每一类的概率,而SVM是非概率的,然后一个是基于统计的方法,一个是完全基于几何的方法,模型的建立上有本质的差异;
- 在解决非线性问题时,支持向量机采用核函数的机制,而LR通常不采用核函数的方法。
- 如果一个问题的异常点较多无法剔除,首先LR中因为每个样本都对最终Loss有贡献,最大似然后会自动压制异常的贡献;回想SVM + 软间隔却对异常比较敏感,因为其训练只需要支持向量,有效样本本来就不高,一旦被干扰,预测结果难以预料
SVM为什么要引入拉格朗日的优化方法
方便化为对偶问题,对于SVM而言,原问题不易求解,但由于原问题为二次规划问题,满足“strong duality”关系,故可解其对偶问题
SVM原问题和对偶问题关系?
- 目标函数对原始问题是极大化,对对偶问题则是极小化
- 原始问题目标函数中的收益系数(优化函数中变量前面的系数)是对偶问题约束不等式中的右端常数,而原始问题约束不等式中的右端常数则是对偶问题中目标函数的收益系数
- 原始问题和对偶问题的约束不等式的符号方向相反
- 原始问题约束不等式系数矩阵转置后即为对偶问题的约束不等式的系数矩阵
- 原始问题的约束方程数对应于对偶问题的变量数,而原始问题的变量数对应于对偶问题的约束方程数
- 对偶问题的对偶问题是原始问题
SVM从原始问题变为对偶问题来求解的原因
1. 对偶问题将原始问题中的约束转为了对偶问题中的等式约束
2. 方便核函数的引入
3. 改变了问题的复杂度。由求特征向量w转化为求比例系数a,在原始问题下,求解的复杂度与样本的维度有关,即w的维度。在对偶问题下,只与样本数量有关。
SVM在哪个地方引入的核函数, 如果用高斯核可以升到多少维
线性不可分时可以引入核函数。“如果映射后空间是k维的话,那内积矩阵的秩最大是k。而任给n个互不重合的样本,
Gaussian kernel的内积矩阵都是满秩的。所以你无论假设k是多少,都能找到n>k,矛
盾,所以必须是无限维的。
SVM怎么防止过拟合
解决过拟合的办法是为SVM引入了松弛变量ξ(slack variable)。
即:
SVM常用的核函数
(1) 线性核函数
(2) 多项式核
(3) 径向基核(RBF)Gauss径向基函数则是局部性强的核函数,其外推能力随着参数的增大而减弱。多项式形式的核函数具有良好的全局性质。局部性较差。
(4) 傅里叶核
(5) 样条核
(6) Sigmoid核函数
核函数的选取标准:
• 如果如果特征数远远大于样本数的情况下,使用线性核就可以了.
• 如果特征数和样本数都很大,例如文档分类,一般使用线性核, LIBLINEAR比LIBSVM速度要快很多.
• 如果特征数远小于样本数,这种情况一般使用RBF.但是如果一定要用线性核,则选择LIBLINEAR较好,而且使用-s 2选项。
SVM推导过程
SVM — 机器学习面试相关推荐
- 业界丨涨薪20%!听听这位资深机器学习面试官的内心独白
在营长的众多死党微信群,营长发现,大家很爱谈论机器学习面试,也是,毕竟面试表现越好,银子也能谈得越高,能把自己卖个好价钱,当然关心了. 对于这个话题最为关注的,莫过于研究生毕业的孩纸,和有两.三年工作 ...
- [机器学习] 面试常见问题+解析汇总
机器学习面试题的分类 The first really has to do with the algorithms and theory behind machine learning. You'll ...
- 深度学习机器学习面试问题准备(必会)
深度学习机器学习面试问题准备(必会) 第一部分:深度学习 1.神经网络基础问题 (1)Backpropagation(要能推倒) 后向传播是在求解损失函数L对参数w求导时候用到的方法,目的是通过链式 ...
- [面试笔试整理1]:深度学习机器学习面试问题准备(必会)
此系列三篇文章的原文链接 面试笔试整理1:深度学习机器学习面试问题准备(必会) 1.神经网络基础问题 (1)Backpropagation(要能推倒) 后向传播是在求解损失函数L对参数w求导时候用到的 ...
- BAT机器学习面试1000题系列(第1~305题
1 请简要介绍下SVM,机器学习 ML模型 易SVM,全称是support vector machine,中文名叫支持向量机.SVM是一个面向数据的分类算法,它的目标是为确定一个分类超平面,从而将不同 ...
- BAT机器学习面试1000道
本文转载自: https://blog.csdn.net/sinat_35512245/article/details/78796328 1.请简要介绍下SVM. SVM,全称是support vec ...
- BAT机器学习面试1000题系列(第150~279题)
首页 博客 学院 下载 GitChat TinyMind 论坛 问答 商城 VIP 活动 招聘 ITeye CSTO 写博客 发Chat leadai的博客 RSS订阅 转 BAT机器学习面试1000 ...
- 【转】BAT机器学习面试1000题系列(1~50)
BAT机器学习面试1000题系列 整理:July.元超.立娜.德伟.贾茹.王剑.AntZ.孟莹等众人.本系列大部分题目来源于公开网络,取之分享,用之分享,且在撰写答案过程中若引用他人解析则必注明原作者 ...
- BAT机器学习面试1000题系列(详细版)
BAT机器学习面试1000题系列 置顶 2017年12月14日 15:19:15 阅读数:20913 几点声明: 1.本文的内容全部来源于七月在线发布的BAT机器学习面试1000题系列: 2.文章中带 ...
最新文章
- unity检测范围内敌人_Unity实现视野范围外死亡敌人的分数显示在屏幕内
- 单片机Proteus7.8仿真和Proteus8.6仿真 LED点阵 温度采集 电子琴 温度报警 电子秤 音乐播放器 PWM 电压表 温度计 交通灯
- user_tab_columns是什么
- 1290. 二进制链表转整数
- Riverbed“不再只是一家广域网优化公司”
- jzoj立体井字棋【数学】
- 三星samsung 3G手机s7220 小技巧
- RapidMiner Studio for Mac(可视化综合数据平台)
- android 动态截图软件,点点GIF(动态图片制作工具)
- 如何删除(插入)word表格下一页的空白页
- 浅谈能源管理系统在钢铁企业上的应用
- 养猪订阅号文章添加一键拨号
- 隐藏式超远无线充电,可隔空5~10公分正常充电。
- AAAI17最佳论文:Label-Free Supervision of Neural Networks with Physics and Domain Knowledge
- MFC 16 进制HEX显示控件
- 洛谷 P3456 [POI2007]GRZ-Ridges and Valleys
- JackHttp -- 浅谈编码、加密(对称加密,非对称加密,Hash算法)
- js 自动播放音频文件,报警提示音等
- 5611AH 数码管 引脚图
- CCF期刊阅读18.1--城市计算和智能
热门文章
- c语言单链表中头结点的创立,一个关于C语言链表头结点的问题
- python绘制三维图散点图_python matplotlib模块——绘制三维图形、三维数据散点图...
- error pulling image configuration: Get https://production.cloudflare.docker.com/registry-v2/docker/r
- Self-Supervised Learning 入门介绍
- 实现一个简易版的微博,包含 client 和 server 两部分,并实现四个基础功能:关注、取关、发微博、获取用户微博列表
- 经典网络分析 - Very Deep Convolutional Networks for Large-Scale Image Recognition(VGG)
- A Free CDN For Open Source
- Split Byte(文件分割助手) v2.4
- android网络动态获取权限,基于JetPack实现的权限动态获取
- videojs插件使用