创建于:2020.03.18
修改于:2020.03.19
文章目录
1. 背景
自己在学习机器学习知识,在学习的时候,感觉懂了,当被别人问到时候,发现回答不上来。网上资源挺多的,自己写写更有印象。
2. 逻辑回归(LR)
2.1 基本概念
逻辑回归(Logistic Regression)用于分类,而不是回归。对于逻辑回归,输入可以是连续的(-∞, +∞),输出一般是离散的,通常只有两个值{0, 1}。
-
逻辑回归中选择对数几率函数(logistic function)作为激活函数,对数几率函数是Sigmoid函数(形状为S的函数)的重要代表。
-
损失函数为似然函数。
-
LR是一个传统的二分类模型,它也可以用于多分类任务,其基本思想是:将多分类任务拆分成若干个二分类任务,然后对每个二分类任务训练一个模型,最后将多个模型的结果进行集成以获得最终的分类结果。
- one vs one策略
- one vs all策略
-
g ( z ) = 1 1 + e − z g(z)=\frac{1}{1+e^{-z}} g(z)=1+e−z1函数图像如下
2.2 与线性回归的区别
方法 | 自变量(特征) | 因变量(结果) | 关系 | 损失函数 |
---|---|---|---|---|
线性回归 | 连续、离散 | 连续实数 | 线性 | 平方损失函数 |
逻辑回归 | 连续、离散 | (0,1)值 | 非线性 | 似然函数 |
参考: 线性回归和逻辑回归的比较
3. 支持向量机(SVM)
3.1 基本概念
再看原理之前,建议研究拉格朗日乘子法 和 KKT条件,这样有助于理解SVM的理论知识。特别推荐两篇博客:学习SVM,这篇文章就够了!(附详细代码) 和 支持向量机(SVM)——原理篇。
支持向量机(support vector machines, SVM)是一种二分类模型。基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;SVM还包括核技巧,这使它成为实质上的非线性分类器。
重点:二分类模型、线性分类器、基于核函数的非线性分类器
3.2 策略
SVM的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数(我不懂这个名词的内涵)的最小化问题。SVM的的学习算法就是求解凸二次规划的最优化算法。
(1)如下图线性分类器:SVM找最优权值的策略就是,先找到最边上的点(虚线),再找到这两个距离之和D,然后求解D的最大值(实线)。
(2)非线性分类器:目标函数和分类决策函数都只涉及实例和实例之间的内积,所以不需要显式地指定非线性变换,而是用核函数替换当中的内积。
-
σ是用户自定义的用于确定到达率(reach)或者说函数值跌落到0的速度参数。上述高斯核函数将数据从原始空间映射到无穷维空间。
-
σ选取的越小,数据映射的维度越大,小到一定程度,维度空间大到无穷维。反之σ越大,映射的维度空间就越小,但是会不会小到低于原始空间维度呢?σ正好在一定范围的时候效果非常好。
4. 异同点
4.1 相同点(SVM、LR)
序号 | 相同点 | 解释 |
---|---|---|
(1) | 有监督 | 都需要有标签的数据 |
(2) | 线性分类算法 | 1)判断一个算法是分类还是回归算法的唯一标准就是样本label的类型。如果label是离散的,就是分类算法,如果label是连续的,就是回归算法。2)分类决策面都是线性的(不考虑核函数)。 |
(3) | 都是判别模型 | 判别模型会生成一个表示P(Y|X)的判别函数(或预测模型)。常见的判别模型有:KNN、SVM、LR,常见的生成模型有:朴素贝叶斯,隐马尔可夫模型。 |
4.2 不同点
序号 | 不同点 | LR | SVM |
---|---|---|---|
(1) | loss函数不同 | LR基于概率理论中的极大似然估计 | SVM基于几何间隔最大化原理,目标是最大化分类间隔 |
(2) | 风险性 | LR则是经验风险最小化 | SVM是结构风险最小化。1)结构风险最小化就是在训练误差和模型复杂度之间寻求平衡,防止过拟合,减小泛化误差。为了达到结构风险最小化的目的,最常用的方法就是添加正则项。2)SVM的loss函数的第一项可看作L2正则项;LR需要加入正则化项。 |
(3) | 点数 | LR则考虑所有点 | SVM只考虑分界面附近的少数点 |
(4) | 结果 | LR可以产生概率 | SVM不能产生概率 |
(5) | 非线性问题 | – | SVM可采用核函数的机制 |
(6) | 计算复杂度 | LR计算简单,适合大数据集,可以在线训练 | SVM计算复杂,但效果比LR好,适合小数据集。 |
(7) | 多分类 | 通过one vs rest进行多分类 | 一般不用于多分类 |
5. 参考连接
(1)LR(逻辑回归)
(2)线性回归和逻辑回归的比较
(3)逻辑回归(Logistic Regression, LR)简介
(4)支持向量机(SVM)——原理篇
(5)学习SVM,这篇文章就够了!(附详细代码)
(6)Python3《机器学习实战》学习笔记(八):支持向量机原理篇之手撕线性SVM
(7)Python3《机器学习实战》学习笔记(九):支持向量机实战篇之再撕非线性SVM
(8)LR与SVM的异同
(9)[机器学习]LR与SVM的联系和区别