LR:1两个假设2极大似然函数3梯度下降4分类5优缺点
推导、why极大似然函数作为loss function
LR假设数据服从伯努利分布(0-1分布),通过极大似然函数的方法,利用GD求解参数,达到分类目的(分类:阈值的确定)
两个假设:1数据服从伯努利分布2样本为证的概率为P=sigoid(WTX)
0-1分布:
x | 0 | 1 |
Px | 1-P | P |
Sigmoid函数图像
过程:概率质量函数:P(y)=Py * (1-P)1-y-->极大似然函数-->对数似然-->偏导-->梯度下降参数更新
优缺点:
优点:形式简单、解释性好、训练速度快、资源占用少、方便输出结果调整
缺点:准确率不高、难处理数据不平衡问题、难处理非线性数据、LR本身无法筛选特征
推导过程:
概率质量函数:P(y|x)=Py * (1-P)1-y 其中,P =
极大似然函数:
对数似然:
偏导:
梯度下降参数更新:
LR损失函数是一个连续的凸函数。只有一个全局最优的点,不存在局部最优。
why极大似然函数作为loss function?
- 对数损失函数的求解速度相对较快。梯度下降参数更新的式子只与x,y有关,与sigmoid本身的梯度无关,这样更新速度可以自始至终都比较稳定。
- 极大似然函数是凸函数,GD可以得到全局最优解。若用平方损失函数(非凸函数),GD容易得到局部最优解,而不是全局最优解。
LR解决非线性分类问题:引入SVM中的核函数,低维线性不可分-->高维线性可分
工业界,LR连续特征离散化的好处:
0. 离散特征的增加和减少都很容易,易于模型的快速迭代;
1. 稀疏向量内积乘法运算速度快,计算结果方便存储,容易扩展;
2. 离散化后的特征对异常数据有很强的鲁棒性:比如一个特征是年龄>30是1,否则0。如果特征没有离散化,一个异常数据“年龄300岁”会给模型造成很大的干扰;
3. 逻辑回归属于广义线性模型,表达能力受限;单变量离散化为N个后,每个变量有单独的权重,相当于为模型引入了非线性,能够提升模型表达能力,加大拟合;
4. 离散化后可进行特征交叉,变量由M+N个—>M*N个,进一步引入非线性,提升表达能力;
5. 特征离散化后,模型会更稳定,比如如果对用户年龄离散化,20-30作为一个区间,不会因为一个用户年龄长了一岁就变成一个完全不同的人。当然处于区间相邻处的样本会刚好相反,所以怎么划分区间是门学问;
6. 特征离散化以后,起到了简化了逻辑回归模型的作用,降低了模型过拟合的风险。
LR和SVM区别与联系?
联系:1、LR和SVM都可以处理分类问题,线性二分类问题(改进情况下可处理多分类)
2、两个方法都可以增加不同的正则化项,如l1、l2等等。
3、LR和SVM都可以用来做非线性分类,只要加核函数就好。
4、LR和SVM都是线性模型,当然这里我们不要考虑核函数
5、都属于判别模型
区别:1、LR是参数模型,SVM是非参数模型。
2、目标函数,逻辑回归是logistical loss,SVM是hinge loss,这两个损失函数的目的都是增加对分类影响较大的数据点的权重,减少与分类关系较小的数据点的权重。
3、逻辑回归相对来说模型更简单,好理解,特别是大规模线性分类时比较方便。SVM的理解和优化相对来说复杂一些,SVM转化为对偶问题后,分类只需要计算与少数几个支持向量的距离,这个在进行复杂核函数计算时优势很明显,能够大大简化模型和计算。
4、SVM不直接依赖数据分布,只与支持向量上的点有关,LR依赖,和所有点都有关。
5、SVM依赖penalty系数,实验中需要做CV
6、SVM本身是结构风险最小化模型,而LR是经验风险最小化模型
什么情景下GBDT不如LR?带正则化的线性模型比较不容易对稀疏特征过拟合。
LR是线性模型,可解释性强,很容易并行化,但学习能力有限,需要大量的人工特征工程
GBDT是非线性模型,具有天然的特征组合优势,特征表达能力强,但是树与树之间无法并行训练,而且树模型很容易过拟合;
当在高维稀疏特征的场景下,LR的效果一般会比GBDT好。
Eg:二分类问题,特征100维,如果有1w个样本,但其中只要10个正样本,正样本的特征 f1的值为全为1,9990条负样本的f1特征都为0。
这种情况下,树模型很容易优化出一个使用f1特征作为重要分裂节点的树,因为这个结点直接能够将训练数据划分的很好,但是当测试的时候,却会发现效果很差,因为这个特征f1只是刚好偶然间跟y拟合到了这个规律,这也是我们常说的过拟合。