1. lr里面公式为什么用e?
在线性回归中,我们用模型的预测值逼近样本的真实值y,相当于让逼近y。
但是在实际应用中,我们不总是用模型的预测值逼近样本的真实值y。
对数线性回归就是其中一个例子。对数线性回归是让模型的预测值逼近而不是y,相当于让逼近y。
广义线性模型就是一个概括性的表示,它引入一个单调可微函数g(.),也称为联系函数,
对于逻辑回归模型,联系函数选对数几率函数:
进一步了解
什么是几率?在周志华的机器学习里定义为事件发生与不发生的概率比值:
逻辑回归是一种二分类模型,由条件概率分布P(Y|X) 表示,二项LR的条件概率如下:
从概率的角度看,Y=1 的对数几率就
2. lr loss funtion 推导
使用极大似然估计去估算模型的参数。
根据上面1中的知识,我们知道Y=1发生的概率,设为p,则P(Y=1|x)=p(xi),P(Y=0|x)=1−p(xi)写出似然函数:L(w)=n∏i=1[p(xi)]yi[1−p(xi)]1−yin为样本个数。
因为我们这里只考虑了二分类的情况,即yi只能取0和1两种情况。上面的似然函数就是依据这个条件写出来的。
求对数似然函数:lnL(w)=n∑i=1[yilnp(xi)+(1−yi)ln(1−p(xi))]
最后取平均,就得到了1nlnL(w)=1nn∑i=1[yilnp(xi)+(1−yi)ln(1−p(xi))]最大似然估计就是要求参数w,b使得这个lnL(w)最大,也就是1nlnL(w)最大。
上面得到的平均对数似然函数跟我们常常接触的损失函数是不是有点像,但是在损失函数我们中希望所求的参数让损失最小。那么我们将平均损失函数乘以-1,此时希望所求的参数使似然函数的概率最大与让损失最小等价。J(w)=−1nlnL(w)=−1nn∑i=1[yilnp(xi)+(1−yi)ln(1−p(xi))]
所以在逻辑回归模型中,最大化似然函数等价于最小化对数似然损失函数
3.L1-norm和L2-norm
其实稀疏的根本还是在于L0-norm也就是直接统计参数不为0的个数作为规则项,但实际上却不好执行于是引入了L1-norm;而L1norm本质上是假设参数先验是服从Laplace分布的,而L2-norm是假设参数先验为Gaussian分布,我们在网上看到的通常用图像来解答这个问题的原理就在这。 但是L1-norm的求解比较困难,可以用坐标轴下降法或是最小角回归法求解。
4.为什么逻辑回归比线性回归要好?
逻辑回归能够用于分类,不过其本质还是线性回归。它仅在线性回归的基础上,在特征到结果的映射中加入了一层sigmoid函数(非线性)映射,即先把特征线性求和,然后使用sigmoid函数来预测。然而,正是这个简单的逻辑函数,使得逻辑回归模型成为了机器学习领域一颗耀眼的明星。
逻辑回归与线性回归的异同点:
假设随Tumor Size变化,预测病人的肿瘤是恶性(malignant)还是良性(benign)的情况。给出8个数据如下(阈值为0.5)
图1.a中,粉色线是预测模型,可以看出,模型能够完全把结果预测对了,但是图1.b中蓝色线却预测的很差。
这主要是由于线性回归在整个实数域内敏感度一致,而分类范围,需要在[0,1]之内。而逻辑回归就是一种减小预测范围,将预测值限定为[0,1]间的一种回归模型,其回归方程与回归曲线如下图所示。逻辑曲线在z=0时,十分敏感,在z>>0或z<<0处,都不敏感,将预测值限定为(0,1)。
5. 使用梯度下降法求解最优参数
在线性回归中,我们使用平方误差来判断模型的好坏,优化损失函数也就是找到使平方误差最小的参数。但是在逻辑回归中,损失函数不再使用平方误差。
对于二分类问题,把两种情况写到一起,损失函数为Cost(hθ(x),y)=−ylog(hθ(x))−(1−y)log(1−hθ(x))
不考虑正则项,完整的损失函数为:J(θ)=−1mm∑i=1[yilog(hθ(xi))+(1−yi)log(1−hθ(xi))]
求J(θ)的梯度
∂J(θ)∂θ=1mm∑i=1(hθ(xi)−yi)xij
更新公式:
θ=θ−αmm∑i=1(hθ(xi)−yi)xij
考虑正则项的损失函数:J(θ)=−1mm∑i=1[yilog(hθ(xi))+(1−yi)log(1−hθ(xi))]+λ2mn∑j=1θ2j
对带正则项的损失求梯度:
上面损失函数的正则项使用θ1开始的,因为θ0表示的偏置项。偏置项不需要惩罚。
对于θ0,没有正则项,∂J(θ)∂θ=1mm∑i=1(hθ(xi)−yi)xi0
∂J(θ)∂θ=1mm∑i=1(hθ(xi)−yi)xij+λmθj
参数更新的表达式:
对于θ0,θ0=θ0−αmm∑i=1(hθ(xi)−yi)xi0
θj=θj−αmm∑i=1[(hθ(xi)−yi)xij]+λmθj
6. LR 如何解决多分类问题
不管类别的多少,我么你只要通过模型得到每个类别的概率然后选取其中最大作为最肯能的类别。如下: 但是实际在处理的时候是使用一对多的策略。比如有3个类别,我们需要训练3个不同逻辑回归模型,每个模型只分出其中一类,另外两类被看做其他类,这也可以理解为2分类问题。
7.LR和SVM的区别
LR和SVM最大的区别在于损失函数的选择,LR的损失函数为Log损失(或者说是逻辑损失都可以)、而SVM的损失函数为hinge loss;
两者都是线性模型;
SVM只考虑支持向量(也就是和分类相关的少数)。
8.LR和随机森林区别
随机森林等树算法都是非线性的,而LR是线性的。LR更侧重全局优化,而树模型主要是局部的优化。
9.LR的优化方法
逻辑回归本身是可以用公式求解的,但是因为需要求逆的复杂度太高,所以才引入了梯度下降算法。
一阶方法:梯度下降、随机梯度下降、mini 随机梯度下降降法。随机梯度下降不但速度上比原始梯度下降要快,局部最优化问题时可以一定程度上抑制局部最优解的发生。
二阶方法:牛顿法、拟牛顿法:
牛顿法其实就是通过切线与x轴的交点不断更新切线的位置,直到达到曲线与x轴的交点得到方程解。在实际应用中我们因为常常要求解凸优化问题,也就是要求解函数一阶导数为0的位置,而牛顿法恰好可以给这种问题提供解决方法。实际应用中牛顿法首先选择一个点作为起始点,并进行一次二阶泰勒展开得到导数为0的点进行一个更新,直到达到要求,这时牛顿法也就成了二阶求解问题,比一阶方法更快。我们常常看到的x通常为一个多维向量,这也就引出了Hessian矩阵的概念(就是x的二阶导数矩阵)。缺点:牛顿法是定长迭代,没有步长因子,所以不能保证函数值稳定的下降,严重时甚至会失败。还有就是牛顿法要求函数一定是二阶可导的。而且计算Hessian矩阵的逆复杂度很大。
拟牛顿法: 不用二阶偏导而是构造出Hessian矩阵的近似正定对称矩阵的方法称为拟牛顿法。拟牛顿法的思路就是用一个特别的表达形式来模拟Hessian矩阵或者是他的逆使得表达式满足拟牛顿条件。主要有DFP法(逼近Hession的逆)、BFGS(直接逼近Hession矩阵)、 L-BFGS(可以减少BFGS所需的存储空间)
10.一元线性回归的基本假设有?
1、随机误差项是一个期望值或平均值为0的随机变量;
2、对于解释变量的所有观测值,随机误差项有相同的方差;
3、随机误差项彼此不相关;
4、解释变量是确定性变量,不是随机变量,与随机误差项彼此之间相互独立;
5、解释变量之间不存在精确的(完全的)线性关系,即解释变量的样本观测值矩阵是满秩矩阵;
6、随机误差项服从正态分布
违背基本假设的计量经济学模型还是可以估计的,只是不能使用普通最小二乘法进行估计。
当存在异方差时,普通最小二乘法估计存在以下问题: 参数估计值虽然是无偏的,但不是最小方差线性无偏估计。
杜宾-瓦特森(DW)检验,计量经济,统计分析中常用的一种检验序列一阶 自相关 最常用的方法。
11. 线性回归中的多重共线性问题
所谓多重共线性(Multicollinearity)是指线性回归模型中的解释变量之间由于存在精确相关关系或高度相关关系而使模型估计失真或难以估计准确。影响
(1)完全共线性下参数估计量不存在
(2)近似共线性下OLS估计量非有效
多重共线性使参数估计值的方差增大,1/(1-r2)为方差膨胀因子(Variance Inflation Factor, VIF)
(3)参数估计量经济含义不合理
(4)变量的显著性检验失去意义,可能将重要的解释变量排除在模型之外
(5)模型的预测功能失效。变大的方差容易使区间预测的“区间”变大,使预测失去意义。