关于逻辑回归(logistic regression LR)模型的学习思考
2018-03-06 23:20
344 查看
一、基本概念
1.1 什么是逻辑回归
逻辑回归(LR)名义上带有“回归”字样,第一眼看去有可能会被以为是预测方法,其实质却是一种常用的分类模型,主要被用于二分类问题,它将特征空间映射成一种可能性,在LR中,y是一个定性变量{0,1},LR方法主要用于研究某些事发生的概率。假定有一个二分类问题,输出y∈{0,1}y∈{0,1},线性回归模型(公式1.1.1)
z=wTx+bz=wTx+b
的输出是实数值,无法完成二分类动作,因此我们需要有一个较为理想的阶跃函数来实现zz值从连续实数值到{0,1}{0,1}的转化,假定存在以下函数:
ϕ(z)=⎧⎩⎨0,0.5,1,if z< 0if z= 0if z> 0ϕ(z)={0,if z< 00.5,if z= 01,if z> 0
但从函数的连续性来讲,上述函数不连续,数学属性不是特别优秀,因此我们希望有一个单调可微的函数供我们使用(在求函数最优值时会用到微分或者偏微分),于是SigmoidFunctionSigmoidFunction出现在我们眼前(公式1.1.2):
ϕ(z)=11+e−zϕ(z)=11+e−z
两个函数的图像对比如下:
由于SigmoidFunctionSigmoidFunction的取值在[0,1][0,1],而且具备良好的数学特性,因为,如果有一个测试点x∈(−∞,∞)x∈(−∞,∞),经过SigmoidFunctionSigmoidFunction计算出来的结果都在0到1之间。在LR模型中,我们做出如下假设(公式1.1.3):
y={1,0,if ϕ(z)≥ 0.5if ϕ(z)< 0.5 y={1,if ϕ(z)≥ 0.50,if ϕ(z)< 0.5
将1.1.1代入1.1.2,我们可以推导出,如果要计算一个样本的分类属性,到底属于1或者0,我们只需要求解参数组ww。
1.2 LR的代价函数(cost function)
根据线性回归模型的经验,我们会选择模型输出与实际输出的误差平方和作为代价函数,如下(公式1.2.1):J(w)=∑i=0n12(ϕ(zi)−yi)2J(w)=∑i=0n12(ϕ(zi)−yi)2
通过最小化代价函数,对参数组ww进行求解。但是由于1.1.2属于非凸函数,存在很多的局部最小值,不利于整体求解,于是LR中做如下变通。根据概率的后验估计:
p(y=1|x;w)=ϕ(wx+b)=ϕ(z)p(y=1|x;w)=ϕ(wx+b)=ϕ(z)
p(y=0|x;w)=1−ϕ(z)p(y=0|x;w)=1−ϕ(z)
将上面两个公式可以合并为一个:
p(y|x;w)=ϕ(z)y(1−ϕ(z))(1−y)p(y|x;w)=ϕ(z)y(1−ϕ(z))(1−y)
1.3 LR的梯度下降法求解
二、对比分析
2.1逻辑回归的优缺点
优点:实现简单,广泛的应用于工业问题上;
速度快,适合二分类问题
简单易于理解,直接看到各个特征的权重
能容易地更新模型吸收新的数据
对逻辑回归而言,多重共线性并不是问题,它可以结合L2正则化来解决该问题;
缺点:
- 对数据和场景的适应能力有局限性,不如决策树算法适应性那么强。
- 当特征空间很大时,逻辑回归的性能不是很好;
- 容易欠拟合,一般准确度不太高
- 不能很好地处理大量多类特征或变量;
- 只能处理两分类问题(在此基础上衍生出来的softmax可以用于多分类),且必须线性可分,对于非线性特征,需要进行转换;
- 使用前提: 自变量与因变量是线性关系。
- 只是广义线性模型,不是真正的非线性方法。
-
2.2与线性回归的区别
Logistic回归与多重线性回归实际上有很多相同之处,最大的区别就在于它们的因变量不同,其他的基本都差不多。正是因为如此,这两种回归可以归于同一个家族,即广义线性模型(generalizedlinear model)。这一家族中的模型形式基本上都差不多,不同的就是因变量不同。这一家族中的模型形式基本上都差不多,不同的就是因变量不同。
如果是连续的,就是多重线性回归
如果是二项分布,就是Logistic回归
如果是Poisson分布,就是Poisson回归
如果是负二项分布,就是负二项回归
未完待续!
版本号 | 时间 | 作者 | 变更内容 |
---|---|---|---|
V0.1 | 2018年3月6日 | 雷小蛮 | 第一次创建 |
相关文章推荐
- 【deep learning学习笔记】注释yusugomori的LR代码 --- LogisticRegression.cpp
- 【deep learning学习笔记】注释yusugomori的LR代码 --- LogisticRegression.h
- LR(Logistic Regression) 逻辑回归模型 进行二分类或多分类 及梯度下降学习参数
- 关于BP神经网络模型的学习思考
- 关于逻辑回归(Logistic regression)模型的简单思考
- 【LR学习笔记】Parallel Large Scale Feature Selection for Logistic Regression_2009
- 【deep learning学习笔记】注释yusugomori的LR代码 --- LogisticRegression.h
- 【deep learning学习笔记】注释yusugomori的LR代码 --- LogisticRegression.cpp
- 关于英语学习的一点思考
- 关于领域模型的几点思考和总结
- 关于学习或职业方向的一些思考
- 机器学习之——判定边界和逻辑回归模型的代价函数
- 思考,关于 学习 和 任务
- 关于科研学习的思考摸索
- 一些关于学习和思维的思考
- 一骑绝尘引发的思考–关于hive程序员是否需要学习mapreduce
- 关于学习的一些思考
- 关于学习的一些思考
- 【Scikit-Learn 中文文档】模型选择:选择估计量及其参数 - 关于科学数据处理的统计学习教程 - scikit-learn 教程 | ApacheCN
- Jquery中淡入淡出效果fadeIn()、fadeOut()、fadeToggle()、fadeTo()学习引发的思考----关于Jquery函数传参数