逻辑回归
先说一下,logistic是对数几率,不是逻辑,逻辑回归是个误读
1. 模型介绍
逻辑回归是一个非常经典的算法,其中也包含了非常多的细节,曾看到一句话:如果面试官问你熟悉哪个机器学习模型,可以说 SVM,但千万别说 LR,因为细节真的太多了。
Logistic Regression 实际上是分类模型,并常用于二分类。
Logistic Regression 因其简单、可并行化、可解释强深受工业界喜爱。//这些特点为什么
Logistic 回归的本质是:假设数据服从这个分布(哪个?),然后使用极大似然估计做参数的估计。
1.1 Logistic 分布
Logistic分布是一种连续型的概率分布,其分布函数和密度函数分别为:
其中, μ \mu μ表示位置参数, λ \lambda λ为形状参数。我们可以看下其图像特征:
Logistic 分布的形状与正态分布的形状相似,但是 Logistic 分布的尾部更长 (长是什么意思?),所以我们可以使用 Logistic 分布来建模比正态分布具有更长尾部和更高波峰的数据分布。(正态调整参数不也可以达到吗)
在深度学习中常用到的 Sigmoid 函数就是 Logistic 的分布函数在 μ = 0 , λ = 1 \mu=0,\lambda=1 μ=0,λ=1的特殊形式。
1.2 Logistic 回归
之前说到 Logistic 回归主要用于分类问题,我们以二分类为例,对于所给数据集假设存在这样的一条直线可以将数据完成线性可分。(为什么要有这种假设,最后的回归难道就是在样本中画一条直线吗?那错误率岂不是很高)(是的,就是一条线,不高,如果是那种混杂的数据,分个屁类啊,就是能分类才去做算法处理的啊)
决策边界可以表示为 ω 1 x 1 + ω 2 x 2 + b = 0 \omega_1x_1+\omega_2x_2+b=0 ω1x1+ω2x2+b=0,假设某个样本点 h ω ( x ) = ω 1 x 1 + ω 2 x 2 + b > 0 h_\omega(x)=\omega_1x_1+\omega_2x_2+b>0 hω(x)=ω1x1+ω2x2+b>0 那么可以判断它的类别为 1,这个过程其实是感知机。(什么是感知机)
(没有套sigmod函数皮的逻辑回归,无法计算概率,用实行函数粗暴二分,相对应的计算量小很多,也许因此很适合神经网络)
Logistic 回归还需要加一层,它要找到分类概率 P(Y=1) 与输入向量 x 的直接关系,然后通过比较概率值来判断类别。
考虑二分类问题,给定数据集
考虑到 ω T x + b \omega^Tx+b ωTx+b 取值是连续的,因此它不能拟合离散变量 (什么意思)。可以考虑用它来拟合条件概率 p ( Y = 1 ∣ x ) p(Y=1|x) p(Y=1∣x) ,因为概率的取值也是连续的 (啥)。
但是对于 ω ≠ 0 \omega \neq 0 ω=0 (若等于零向量则没有什么求解的价值), ω T x + b \omega^Tx+b ωTx+b 取值范围为 R ,不符合概率取值为 0 到 1,因此考虑采用广义线性模型。(略,slides都略了)
最理想的是单位阶跃函数:
但是这个阶跃函数不可微,对数几率函数是一个常用的替代函数:
于是有:
我们将 y 视为 x 为正例的概率,则 1-y 为 x 为其反例的概率。两者的比值称为几率(odds),指该事件发生与不发生的概率比值,若事件发生的概率为 p。则对数几率:
将 y 视为类后验概率估计 (这什么东西),重写公式有:
(slides里这个概率变了一下型)
也就是说,输出 Y=1 的对数几率是由输入 x 的线性函数表示的模型,这就是逻辑回归模型。当 ω T x + b \omega^Tx+b ωTx+b 的值越接近正无穷, P ( Y = 1 ∣ x ) P(Y=1|x) P(Y=1∣x) 概率值也就越接近 1。因此逻辑回归的思路是,先拟合决策边界(我们知道回归拟合的是残差最小的线,那么类比这条决策边界也就是误差最低的分界线),再建立这个边界与分类的概率联系,从而得到了二分类情况下的概率。
在这我们思考个问题,我们使用对数几率的意义在哪?通过上述推导我们可以看到 Logistic 回归实际上是使用线性回归模型的预测值逼近分类任务真实标记的对数几率
其优点有:
直接对分类的概率建模,无需实现假设数据分布,从而避免了假设分布不准确带来的问题(区别于生成式模型);
不仅可预测出类别,还能得到该预测的概率,这对一些利用概率辅助决策的任务很有用;
对数几率函数是任意阶可导的凸函数,有许多数值优化算法都可以求出最优解。
1.3 代价函数
逻辑回归模型的数学形式确定后,剩下就是如何去求解模型中的参数。在统计学中,常常使用极大似然估计法来求解,即找到一组参数,使得在这组参数下,我们的数据的似然度(概率)最大。
(很容易理解,既然回归的结果是类别,那么残差就没有意义了,极大似然很符合要求)
设:
似然函数:
为了更方便求解,我们对等式两边同取对数,写成对数似然函数:
损失函数:
(对数似然函数求导和损失函数一致,差个系数)
在机器学习中我们有损失函数的概念,其衡量的是模型预测错误的程度。如果取整个数据集上的平均对数似然损失,我们可以得到:
因此在逻辑回归模型中,我们最大化似然函数和最小化损失函数实际上是等价的。
以上这些,就是伟大母校禁止外传的slides里不知所以然的什么jb二项分布
(。。。)
下面介绍回归分析slides中的例子
首先数据结构不一样,其将相同的数据归类,因此一种数据,可以视为一组二项分布:
其数据结构为:
{ y i , m i ; x i 1 , x i 2 . . . . x i p } \{y_i,m_i;x_{i1},x_{i2}....x_{ip}\} {
yi,mi;xi1,xi2....xip}
其中 m i m_i mi为所有x取值为后面条件中的数据数量, y i y_i yi为其中取值为1的数量
显然对于其中的每一条数据,都符合二项分布
logit link 得,其中的二项分布参数用如下表示
π i = e x p ( x i T β ) 1 + e x p ( x i T β ) π_i = \frac{exp(x^T_iβ)}{1 + exp(x^T_iβ)} πi=1+exp(xiTβ)exp(xiTβ)
因此,这种数据结构的极大似然估计为:
L ( β ) = Π ( y i m i ) π i y i ( 1 − π i ) ( m i − y i ) L(\beta)=\Pi(^{m_i}_{y_i})\pi_i^{y_i}(1-\pi_i)^{(m_i-y_i)} L(β)=Π(y