1、原理
假设数据是服从这个分布,然后使用极大似然估计做参数的估计。主要应用于二分类问题。
sigmoid函数
构造预测函数
表示结果取1的概率。
合并变为 (a)
构造损失函数
J()推导方式1:
由a取似然函数
求:
使用梯度下降法求最小值
所以带回原式
若将上述公式向量化
补充J()推导方式2:
假设原分布是p(x)是需要拟合的,设有参数,输出q(x|)去拟合p(x),使得两分布趋于一致,衡量两个分布使用KL散度(相对熵)
则有观测点xi,目标是最小化
对求偏导求极小值
2、LR的特征是否需要归一化
前向看,输出是经过softmax的概率值,概率值的排序不受归一化影响,反向看,参数优化使用的是梯度下降法,如果不对特征进行归一化,可能会使损失函数值的等高线呈椭球形,这样需要较多迭代步,因此归一化是有必要的。
注:什么样的模型需要归一化
需要进行梯度下降的模型、有用到样本间距离测度的模型
3、LR为什么要做特征离散化
LR属于广义线性模型,表达能力有限,单变量离散化为N个后,每个变量有单独的权重,相当于为模型引入了非线性,能够提高模型表达能力,加大拟合程度
离散特征的增加和减少都很容易, 加快收敛速度
离散化后的特征对异常数据有很强的鲁棒性
简化模型,降低了过拟合的风险
稀疏向量内积乘法运算速度快,计算结果方便存储,容易扩展
4、LR为什么不用平方损失
LR可以使用平方损失,但是sigmoid+交叉熵可以使损失函数是凸函数,平方损失就不满足,不能保证局部最优解是全局最优解。
5、LR里的最大似然
LR是对参数的估计,是概率模型,一个值对应一个概率,将其所有都乘起来,就是联合概率,最大时意味着此时的参数最好,这也是极大似然估计的公式
注:对数似然函数和交叉熵函数在二分类的情况下形式是一样的,可以说最小化交叉熵的本质就是对数似然函数的最大化。
6、线性回归与LR的区别以及联系
区别 | 线性回归假定服从正态分布,LR服从伯努利分布 |
线性回归优化目标是均方差函数,LR则是似然函数 | |
线性回归自变量与因变量呈线性关系,LR无要求 | |
线性回归解决回归问题,LR解决分类问题 | |
两者都使用极大似然估计,线性回归损失函数是均方差,LR是交叉熵 | |
联系 | 两者都是广义线性模型 |
LR是在线性回归套上了一个sigmoid函数 |
7、LR的优缺点
优点:
输出观测 or 测试样本的概率值 ,也就是说可以直接观察到观测样本的概率分数
实现简单高效 ,LR在计算上代价不高,易于理解和实现;分类时计算量非常小,速度很快,存储资源低;可在大数据下使用
多重共线性的问题可以通过L2正则化来应对
实现较为简单,存在大量的工业界解决方案
可以扩展,支持online learning,在线学习!
缺点:
当特征空间太大时,LR的性能不太好(LR的损失函数是最大似然函数的相反数,如果特征空间很大,也就是维度很大,那么W * x计算次数就会很多,同时还要对括号内得到的向量计算sigmoid,该函数也是比较难以计算的)
容易欠拟合,一般准确度不太高
决策平面的选择or计算依赖所有的样本数据
只能处理两分类问题(在此基础上衍生出来的softmax可以用于多分类),且必须线性可分;对于大量的分类变量无能为力。
对于非线性特征需要做特征变换,或者 引入核函数,但是在工业上一般来说LR是不用核函数的,因为代价太大了。
LR本质上是一个线性的分类器,所以处理不好特征之间相关的情况
很难处理数据不平衡的问题。举个例子:如果我们对于一个正负样本非常不平衡的问题比如正负样本比 10000:1.我们把所有样本都预测为正也能使损失函数的值比较小。但是作为一个分类器,它对正负样本的区分能力不会很好。
逻辑回归本身无法筛选特征。有时候,我们会用gbdt来筛选特征,然后再上逻辑回归。
8、适用环境
基本假设:输出类别服从伯努利二项分布。
样本线性可分。
特征空间不是很大
不必在意特征间相关性
后续会有大量新数据的情况。
9、为什么在训练的过程当中将高度相关的特征去掉
去掉高度相关的特征会让模型的可解释性更好可以大大提高训练的速度。
如果模型当中有很多特征高度相关的话,就算损失函数本身收敛了,但实际上参数是没有收敛的,这样会拉低训练的速度。
其次是特征多了,本身就会增大训练的时间。
以上内容均来源于各个版主、牛客网总结