逻辑回归

一、概述

逻辑回归(Logistic Regression) 是一种简单的分类算法,主要思想:根据现有数据对分类边界线建立回归公式,以此进行分类。而"回归"也就意味着最佳拟合。要进行最佳拟合,需要找到最佳拟合参数,一些最优方法就是用于最佳回归参数的确定。LR也是一种参数学习方法。此外,LR属于判别模型, 有很多正则化模型方法(L0, L1, L2),与决策树和SVM 相比,它能得到一个不错的概率解释。

在LR中,将线性回归的结果通过sigmod函数映射到0到1之间,映射的结果刚好可以看做是数据样本点属于某一类的概率,如果结果越接近0或者1,说明分类结果的可信度越高。这样做不仅应用了线性回归的优势来完成分类任务,而且分类的结果是0~1之间的概率,可以据此对数据分类的结果进行打分。对于线性不可分的数据,可以对非线性函数进行线性加权,得到一个不是超平面的分割面。

二、 LR由来

要说逻辑回归,我们得追溯到线性回归,即对于多维空间中存在的样本点,我们用特征的线性组合去拟合空间中点的分布和轨迹。如下图所示:




上式是拟合完之后得到的线性回归模型,对于上式来说,s的范围[-∞, +∞ ], 难以对结果s进行分类。我们想要一个得到是输出结果是[0, 1]之间的值, 这样需要把函数进行转化为sigmoid的函数(也叫对数几率函数logistic function),这样逻辑回归就产生了。

sigmoid函数


从函数图上可以看出,函数y=g(z)在z=0的时候取值为1/2,而随着z逐渐变小,函数值趋于0,z逐渐变大的同时函数值逐渐趋于1,而这正是一个概率的范围。
所以我们定义线性回归的预测函数为Y=WTX,那么逻辑回归的输出Y= g(WTX),其中y=g(z)函数正是上述sigmoid函数(或者简单叫做S形函数)。
则逻辑回归输出的预测函数数学表达式(即回归模型):


对于二分类问题,y∈{0,1},1表示正例,0表示负例。逻辑回归是在线性函数WTX输出预测实际值的基础上,寻找一个假设函数函数,将实际值映射到到0,1之间,如果>=0.5,则预测y=1,y属于正例;如果<0.5,则预测y=0,y属于负例。(其中w也可用 表示,即参数向量)

三、决策面

对于sigmoid函数
>= 0.5 时,即 >= 0,y = 1
< 0.5 时,即 < 0, y = 0
所以 = 0 是决策面边界, 当它大于0或者小于0时, LR分布预测不同的分类结果。
决策边界决定这模型的复杂程度,w个数越多,模型越复杂。

四、损失函数

对于LR函数,如果利用线性回归中的平方误差方法定义损失函数,这个损失函数不是凸函数,难以优化。
我们使用交叉熵损失Cost函数定义数据集损失函数,如下:

实际上,损失函数是根据极大似然估计得到的,是经验风险损失函数(即模型在训练集上的平均损失), 经验风险等于极大似然估计(AI算法工程师手册)。
推导如下:


接下来我们以为目标函数,求当最小值时,取得最佳参数。
除了梯度下降法,还有其他的一些用来求代价函数最小时参数θ的方法,如牛顿法、共轭梯度法(Conjugate Gradietn)、局部优化法(BFGS)和有限内存局部优化法(LBFGS)等。
这里我们使用梯度下降法,推导如下:

五、LR 正则化

假如我们有非常多的特征,我们并不知道其中哪些特征我们要惩罚,我们将对所有的特征进行惩罚,并且让代价函数最优化算法来选择这些惩罚的程度。我们需要修改代价函数,在后面添加一个正则项,收缩每个参数。
逻辑回归损失函数引入正则项:
通过求导用梯度下降法更新 \begin{split} \theta_0&:=\theta_0-\alpha\frac{1}{m}\sum^m_{i=1}(h_\theta(x^{(i)})-y^{(i)})x^{(i)}_0 \\ \theta_j&:=\theta_j-\alpha\frac{1}{m}\sum^m_{i=1}((h_\theta(x^{(i)})-y^{(i)})x^{(i)}_j+{\lambda}\theta_j) & & j=1,2,\ldots,n \end{split}

六、多分类

LR是一个传统的二分类模型,它也可以用于多分类任务,其基本思想是:将多分类任务拆分成若干个二分类任务,然后对每个二分类任务训练一个模型,最后将多个模型的结果进行集成以获得最终的分类结果。

6.1 one vs one 策略

对于测试样本,有N(N-1)/2种结果

6.2 one vs all 策略

对于测试样本, 有N个结果

最终结果经过投票产生

七、总结

LR实现简单高效易解释,计算速度快,易并行,在大规模数据情况下非常适用,更适合于应对数值型和标称型数据,主要适合解决线性可分的问题,但容易欠拟合,大多数情况下需要手动进行特征工程,构建组合特征,分类精度不高。

1.1 优点

  1. 实现简单,广泛应用于工业问题
  2. 分类时的计算量非常小,速度快,易并行,储存资源低
  3. 能够观测样本概率分数, 有很好的可解释性
  4. 对于LR而言,多重共线并不是问题,它可以结合 L2正则化解决问题
  5. LR直接对分类可能性进行建模,无需事先假设数据分布,这样就避免了假设分布不准确所带来的问题
  6. LR能以概率的形式输出,而非知识0,1判定,对许多利用概率辅助决策的任务很有用
    7 .对率函数任意阶可导,具有很好的数学性质,许多现有的数值优化算法都可以用来求最优解,训练速度快

1.2 缺点

  1. 当特征空间很大时, LR的观测性能并不是很好
  2. 容易欠拟合(因为是参数学习,假设不正确会造成比较大的偏差)

1.3 应用场景

  1. 寻找危险因素: 寻找某一种疾病的危险因素
  2. 预测:根据模型预测在不同自变量下,发生疾病概率有多大
  3. 判别:判断某人属于某种病或某种情况的概率有多大
  4. 点击率预估(CTR)、计算广告(CA)以及推荐系统(RS)等

参考

逻辑回归(Logistic Regression, LR)简介:https://blog.csdn.net/jk123vip/article/details/80591619

你可能感兴趣的:(逻辑回归)