主要思考几个问题:
1、logistic回归的应用场景
Logistic回归是一种用于解决二分类问题的机器学习方法,是一种判别模型:表现为直接对条件概率P(y|x)建模,而不关心背后的数据分布P(x,y)
用于估计某种事物的可能性。比如某用户购买某商品的可能性、某病人患有某种疾病的可能性、以及某广告被用户点击的可能性等。
注意:这里用的是“可能性”,而非数学上的“概率”,logisitc回归的结果并非数学定义中的概率值,不可以直接当做概率值来用。
2、为什么损失函数不选MSE,而采用极大似然估计?
答:对于线性回归,我们会选择MSE, 因为其J(θ)是凸函数,但是对于logistic回归,由于进行了sigmoid非线性映射就是非凸函数,所以可能在寻优的时候容易陷入局部最优,所以考虑把sigmoid作log,得到的J(θ)为:
对其求二阶导,结果大于0,说明其是凸函数,在用梯度下降法寻优时,可以保证找到全局最小。
3、logistic回归和线性回归的关系是什么?
- (1) 逻辑回归的条件分布y|x是伯努利分布,而线性回归的是高斯分布,因为逻辑回归的因变量是二元变量(0或1)
- (2)逻辑回归是在线性回归的基础上,多一步sigmoid非线性映射。所以线性回归模型对异常值敏感,而逻辑回归通过非线性变换减弱分离平面较远的点的影响。
- (3)逻辑回归和线性回归问题中,梯度下降算法的形式看上去是一致的(更新参数的规则看起来基本相同),但实际上两者是完全不同的,因为假设函数是不同的,需要特别注意这一点。
4、logistic回归为什么是线性模型?
很容易可以从sigmoid函数看出,当θTx>0 时,y=1,否则 y=0。θTx=0 是模型隐含的分类平面(在高维空间中,我们说是超平面),所以说logistic回归本质上是一个线性模型。
注意:这里需要区分假设函数和决策边界:
在逻辑回归中,假设函数(h=g(z))用于计算样本属于某类别的可能性;决策函数(h=1(g(z)>0.5))用于计算(给出)样本的类别;决策边界(θ^Tx=0)是一个方程,用于标识出分类函数(模型)的分类边界。
5、logistic回归的优点和缺点?
优点:
(1)模型相对简单并且可解释性非常好。
(2)从特征的权重可以看到不同的特征对最后结果的影响,某个特征的权重值比较高,那么这个特征最后对结果的影响会比较大。
(3)模型效果不错,在工程上是可以接受的(作为baseline),如果特征工程做的好,效果不会太差。
(4)训练速度较快。分类的时候,计算量仅仅只和特征的数目相关。(5)逻辑回归可以很方便的得到最后的分类结果,因为输出的是每个样本的概率分数,我们可以很容易的对这些概率分数进行cutoff,也就是划分阈值。缺点:
(1) 对模型中自变量多重共线性较为敏感,例如两个高度相关自变量同时放入模型,可能导致较弱的一个自变量回归符号不符合预期,符号被扭转。需要利用因子分析或者变量聚类分析等手段来选择代表性的自变量,以减少候选变量之间的相关性;
(2) 预测结果呈“S”型,因此从log(odds)向概率转化的过程是非线性的,在两端随着log(odds)值的变化,概率变化很小,边际值太小,slope太小,而中间概率的变化很大,很敏感。 导致很多区间的变量变化对目标概率的影响没有区分度,无法确定阀值。
(3) 很难处理数据不平衡的问题。举个例子:如果我们对于一个正负样本非常不平衡的问题,把所有样本都预测为正也能使损失函数的值比较小。但是作为一个分类器,它对正负样本的区分能力不会很好。
(4) 逻辑回归本身无法筛选特征。有时候,我们会用gbdt来筛选特征,然后再上逻辑回归。
6、能不能推演到多分类?
- 可以,用softmax回归(后面单独分解)
7、附:logistic回归的推导过程
参考:
https://www.cnblogs.com/sparkwen/p/3441197.html
https://tech.meituan.com/intro_to_logistic_regression.html
Andrew Ng, CS 229 logistic regression
https://www.cnblogs.com/ModifyRong/p/7739955.html(需研究)
https://blog.csdn.net/Mr_HHH/article/details/79433094