目录
一、线性回归
1. 原理推导
1.1 算法概述
1.2 误差项分析
1.3 似然函数
1.4 目标函数推导
1.5 线性回归求解
2. 特点
3. 广义线性回归
二、逻辑回归
1. 原理推导
1.1 Logistic 分布
1.2 逻辑回归分类任务
1.3 似然函数
1.4 应用梯度下降求参数
1.5 参数更新
2. 特点
3. 多分类逻辑回归
4. 极大似然函数作为损失函数原因
5. 特征高度相关或者特征重复,会造成怎样的影响?
6. 逻辑回归为什么要对特征进行离散化
7. 逻辑回归是线性模型吗?
8. 逻辑回归最优化过程中如何避免局部最小值
三、逻辑回归相比于线性回归, 有何异同?
给定数据集,,(线性回归的输出空间是整个实数空间),其中是属性维度,是样本数,
线性回归拟合平面
(1)
预测值和真实值之间存在差异,对于每个样本:
(2)
误差是独立,同分布的,并且服从高斯分布,即:
(3)
将(2)代入(3)中,得到在已知参数和数据的情况下,预测值为的条件概率:
(4)
引入似然函数的目的:根据样本估计参数值,求解什么样的参数根数据组合后恰好是真实值
将(4)连乘得到在已知参数和数据的情况下,预测值为的条件概率,这个条件概率在数值上等于,likelihood(w|x,y),也就是在已知现有数据的条件下,w是真正参数的概率,
似然函数:
(5)
似然函数进行log变换目的:由于乘法难解,通过对数可以将乘法转换为加法,简化计算。
对数似然函数:
对似然函数进行求解,得到目标函数:···
(6)
省去常数部分,得到目标函数:
目标函数越小越好目的:似然函数表示样本成为真实的概率,似然函数越大越好,也就是目标函数越小越好。
最小二乘法求解公式
(8)
目标函数是凸函数,只要找到一阶导数为0的位置,就找到了最优解。求偏导:
(9)
令偏导等于0:
(10)
得到:
(10)
情况一:可逆,唯一解。令公式(10)为零可得最优解为:
(11)
学得的线性回归模型为:
(12)
情况二:不可逆,可能有多个解。选择哪一个解作为输出,将有学习算法的偏好决定,常见的做法是增加扰动。
(13)
当y不再只是线性回归中用到的正态分布,而是扩大为指数族中的任一分布。这样得到的模型称为“广义线性模型”:
其中函数称为“联系函数”(link function)。
逻辑回归的样本应该满足伯努利分布,分类标签是基于yangb通过伯努利分布产生的,分类器要做的实际上是估计这个分布
逻辑斯蒂分布的分布函数和密度函数如下:
其中,是位置参数,为形状参数。
逻辑斯蒂分布概率密度函数的图形如作图所示:概率密度函数的图形如右图所示:
当,时,逻辑斯蒂概率分布函数就是我们逻辑斯蒂回归函数。
。
预测函数:
分类任务:
========》
似然函数:
对数似然函数:
其中 j表示第j个特征,i表示第i个样本,用第j列更新
其中 alpha为学习率, 综合考虑m个样本
优点:
缺点:
当使用逻辑回归处理多分类问题时, 有哪些常见做法, 分别应用于哪些场景, 它们之间又有怎样的关系
(1)修改逻辑回归的损失函数,使用SOFTMAX函数构造模型解决多酚类问题,softmax分类模型会有相同于类别数的输出,输出值为对于样本属于各个类别的概率,最后对于样本进行预测的类型为概率值最高的一个
假设每个样本属于不同标签的概率服从于几何分布, 使用多项逻辑回归(Softmax Regression) 来进行分类
(2)根绝每个类别都建立一个二分类器,当存在样本可能属于多个标签的情况时, 我们可以训练k个二分类的逻辑回归分类器。 第i个分类器用以区分每个样本是否可以归为第i类, 训练该分类器时, 需要把标签重新整理为“第i类标签”与“非第i类标签”两类。 若所有类别之间有明显互斥则使用softmax分类器,若所有类别不互斥有交叉则构造相应类别个数的逻辑回归分类器
最大似然估计的核心是让产生所采样的样本出现的概率最大,及利用已知的样本结果信息,反推具有最大可能导致这些样本结果出现的模型的参数值。对于逻辑回归来说,样本已经采样了,使其发生概率最大才符合逻辑,这是通过最大似然函数所求出的参数值就是使采样发生概率最大的参数值,所以可以认为是模型此时的最优解。
(1)求解参数速度
(2)目标函数的凸性
如果在损失函数最终收敛的情况下,其实就算有很多特征高度相关也不会影响分类器的效果。
在工业界,很少直接将连续值做逻辑回归模型的特征输入,而是将连续特征离散化为一系列0、1特征交给逻辑回归模型,优势如下:
1、离散特征的增加和减少都很容易,易于模型的快速迭代;
2、稀疏向量内积乘法运算速度快,计算结果方便存储,容易扩展;
3、离散化后的特征对异常数据有很强的鲁棒性:比如一个特征是年龄>30是1,否则0。如果特征没有离散化,一个异常数据“年龄300岁”会给模型造成很大的干扰;
4、离散化后可以进行特征交叉,由M+N个变量变为M*N个变量,进一步引入非线性,提升表达能力;
5、特征离散化后,模型会更稳定,比如如果对用户年龄离散化,20-30作为一个区间,不会因为一个用户年龄长了一岁就变成一个完全不同的人。当然处于区间相邻处的样本会刚好相 反,所以怎么划分区间是门学问;
6、特征离散化以后,起到了简化了逻辑回归模型的作用,降低了模型过拟合的风险。
模型是使用离散特征还是连续特征,其实是一个“海量离散特征+简单模型” 同 “少量连续特征+复杂模型”的权衡。既可以离散化用线性模型,也可以用连续特征加深度学习。就看是喜欢折腾特征还是折腾模型了。通常来说,前者容易,而且可以n个人一起并行做,有成功经验;后者目前看很赞,能走多远还须拭目以待。
逻辑回归是一种广义线性模型,它引入了Sigmod函数,是非线性模型,但本质上还是一个线性回归模型,因为除去Sigmod函数映射关系,其他的算法原理,步骤都是线性回归的。
逻辑回归和线性回归首先都是广义的线性回归,在本质上没多大区别,区别在于逻辑回归多了个Sigmod函数,使样本映射到[0,1]之间的数值,从而来处理分类问题。另外逻辑回归是假设变量服从伯努利分布,线性回归假设变量服从高斯分布。逻辑回归输出的是离散型变量,用于分类,线性回归输出的是连续性的,用于预测。逻辑回归是用最大似然法去计算预测函数中的最优参数值,而线性回归是用最小二乘法去对自变量因变量关系进行拟合。
1. 以多组不同参数值进行初始化,按标准方法训练后,取其中误差最小的解作为最终参数,相当于从多个不同的初始化点开始搜索,从而可能寻找全局最优
2. 使用随机梯度下降,即便陷入局部最优,计算出的梯度可能不为0,这样就有机会跳出局部最优继续搜索
区别
1. 逻辑回归处理的是分类问题, 线性回归处理的是回归问题。
逻辑回归中, 因变量取值是一个二元分布, 模型学习得出的是, 即给定自变量和超参数后, 得到因变量的期望, 并基于此期望来处理预测分类问题。 而线性回归中实际上求解的是 , 是对我们假设的真实关系的一个近似, 我们使用这个近似项来处理回归问题。
2. 逻辑回归中的因变量为离散的, 而线性回归中的因变量是连续的。 并且在自变量x与超参数θ确定的情况下, 逻辑回归可以看作广义线性模型在因变量y服从二元分布时的一个特殊情况; 而使用最小二乘法求解线性回归时, 我们认为因变量y服从正态分布。
3. 逻辑回归假设变量服从伯努利分布,而线性回归假设变量服从高斯分布
联系
1. 二者都使用了极大似然估计来对训练样本进行建模。 线性回归使用最小二乘法, 实际上就是在自变量x与超参数θ确定, 因变量y服从正态分布的假设下, 使用极大似然估计的一个化简; 而逻辑回归中通过对似然函数 的学习, 得到最佳参数θ。线性回归优化目标函数是最小二乘,逻辑回归的优化目标函数是似然函数。
2. 在求解超参数的过程中, 都可以使用梯度下降的方法, 这也是监督学习中一个常见的相似之处。
参考文献:
1. 【机器学习】线性回归原理推导与算法描述
2. 【机器学习】逻辑斯蒂回归原理推导与求解
3. 逻辑回归(logistics regression)
4. 逻辑回归面试总结
5. 逻辑回归面试题汇总(整理)