机器学习基础知识点①:LR、SVM、朴素贝叶斯
1、样本不平衡的解决方法?
1)上采样和子采样;2)修改权重(修改损失函数);3)集成方法:bagging,类似随机森林、自助采样;4)多任务联合学习;
2、交叉熵函数系列问题?与最大似然函数的关系和区别?
1)交叉熵损失函数的物理意义:用于描述模型预测值与真实值的差距大小;
2)最小化交叉熵的本质就是对数似然函数的最大化;
3)对数似然函数的本质就是衡量在某个参数下,整体的估计和真实情况一样的概率,越大代表越相近;而损失函数的本质就是衡量预测值和真实值之间的差距,越大代表越不相近。
3、逻辑回归与线性回归是什么关系?
逻辑回归(Logistic Regression)与线性回归(Linear Regression)都是一种广义线性模型(generalized linear model)。逻辑回归假设因变量 y 服从伯努利分布,而线性回归假设因变量 y 服从高斯分布。 因此与线性回归有很多相同之处,去除Sigmoid映射函数的话,逻辑回归算法就是一个线性回归。可以说,逻辑回归是以线性回归为理论支持的,但是逻辑回归通过Sigmoid函数引入了非线性因素,因此可以轻松处理0/1分类问题。
4、SVM和LR的区别与联系?
- 对非线性表达上,逻辑回归只能通过人工的特征组合来实现,而SVM可以很容易引入非线性核函数来实现非线性表达,淡然也可以通过特征组合。
- 逻辑回归产出的是概率值,而SVM只能产出是正类还是负类,不能产出概率。
- 逻辑回归的损失函数是log loss,而SVM使用的是hinge loss。
- SVM主要关注的是“支持向量”,也就是和分类最相关的少数点,即关注局部关键信息;而逻辑回归是在全局进行优化的。这导致SVM天然比逻辑回归有更好的泛化能力,防止过拟合。
损失函数的优化方法不同,逻辑回归是使用梯度下降来求解对数似然函数的最优解;SVM使用SMO方法,来求解条件约束损失函数的对偶形式。 - 处理的数据规模不同。LR一般用来处理大规模的学习问题。如十亿级别的样本,亿级别的特征。(SVM是二次规划问题,需要计算m阶矩阵)
- svm 更多的属于非参数模型,而logistic regression 是参数模型,本质不同。其区别就可以参考参数模型和非参模型的区别。
我们先来看一下SVM 和正则化的逻辑回归它们的损失函数:
其中, .
可以将两者统一起来,
也就是说,它们的区别就在于逻辑回归采用的是 log loss(对数损失函数),svm采用的是hinge loss。
- SVM 损失函数 :
- LR 损失函数:
它们的目标都是减少“错误率”。SVM通过寻找最佳划分超平面来减少错误率,相应的损失函数是hinge函数;对数几率回归通过最大化样本输出到正确分类的概率来减少错误率,相应的损失函数是负对数似然。它们的正则化项都是L2正则。其他的区别都是损失函数不同的副产品。