2021李宏毅学习笔记——5. logistic Regression(逻辑回归)

摘要

本章首先通过生成概率模型引入了logistic Regression(逻辑回归),并介绍了什么是logistic Regression以及logistic Regression的三个step,并说明对比了逻辑回归与线性回归的区别;一是输出值的范围不一样,二是logistic Regression 采用交叉熵做损失函数,而线性回归 用方差处理,并解释了如果用逻辑回归+方差的方式会有怎样的不好结果;三都是利用梯度下降,不断迭代参数,找到符合要求的解,却迭代公式是相同的。其次讲述了,判别式模型discriminative与生成模型generative,两种求解模型各有优劣,一般说来,判别式模型(discriminative)比生成模型(generative)的表现要好一些。 之后又说明了多分类问题需要注意的地方,与softmax函数处理;最后讲到了logistic Regression的限制,以及如何去用特征变换解决,但实际上是要机器自己找到 transformation:把多个Logistic Regression组合起来,再加一个逻辑回归当分类器。

一、logistic regression

1.由上节中的生成概率模型引入逻辑回归的sigmoid函数
在这里插入图片描述
在这里插入图片描述
上节课学的P(C1|x)=σ(z)=σ(w⋅x+b),w,b取任意值就得到不同的function set;这里便是在介绍logistic Regression。逻辑回归属于判别式模型,做为神经网络的基本单元,尤为重要。

二、logistic regression 与linear Regression的区别

logistic Regression需要3个步骤:
step 1: function set
在这里插入图片描述
在此问题中选择sigmoid函数;logistic Regression 和Linear Regression在step 1(选择model)的区别是,输出值不同,逻辑回归输出限制在0-1之间,而线性回归是输出任意值。
在这里插入图片描述
step 2: Goodness of a function
如果训练集的格式如下,假设训练集的数据是由 f w , b ( x ) = P w , b ( C 1 ∣ x ) fw,b(x)=Pw,b(C1|x) fw,b(x)=Pw,b(C1x)函数产生的,给定 w,b,则由该函数产生这组数据的概率是在这里插入图片描述
而现在的目标是求使L(w,b)最大的 w ∗ w^* w b ∗ b^* b,也就是最大似然函数。
在这里插入图片描述
为了方便,将上式等价处理如下:
在这里插入图片描述
y^=1 表示C1,用y^=0 表示C2。
最大化似然函数即是最小化交叉熵。(交叉熵代表两个分布有多接近,若两个分布完全一样则交叉熵等于0。)
在这里插入图片描述
注意:上图中采用的式交叉熵函数作为损失函数的;关于前两步logistic Regression与 linear Regression的对比:
在这里插入图片描述
思考:为什么不用square error做线性回归?

那是因为linear regression在建模后其输出值是任意值(可能大于1),所以在方差处理后也可能是任意值。而logistic regression在建模时用的是σ函数,所以其输出值在0-1之间,如果此时继续用方差处理,会让结果很小,从而不易判别模型优劣,所以采用交叉熵处理来描述预测模型和真实模型之间的接近程度。

step 3: Find the best function
这一步就是利用梯度下降法,不断迭代参数,找到符合要求的解。

参数更新公式:
在这里插入图片描述
在这里插入图片描述
可以发现参数更新迭代公式,对逻辑回归与线性回归来说式一样的:
在这里插入图片描述
再说一下为何不用square error ?
因为如果用了逻辑回归+方差的方式,会在第3步中出现微分值为0的情况,导致参数无法迭代更新。看下面的例子:
在这里插入图片描述
在这里插入图片描述
Cross entropy :距离目标点越远时,目标值越大,参数更新的越快;
Square Error :距离目标远,目标函数对参数的微分值很小,参数更新速度很慢,不容易得到结果。
下图直观可见:在这里插入图片描述

三、discriminative (判别式模型)与generative(生成式模型)

这一节的logistic regression 是属于discriminative (判别式模型),而上一节中用高斯分布描述数据的联合概率的方法求model属于generative(生成式模型)。
在这里插入图片描述

  • 对于本章来说,左边是直接去寻找W和b,而右边是先假设是高斯分布,再去找的W和b。所以可能是左右两边是不同的W和b。
  • 模型相同,方法不同
    判别方法:通过梯度下降,直接找到w,b。
    生成方法:通过假设估计N1,N2,μ1,μ2,∑ 来得到w,b 。
  • 同样的模型,同样的训练数据,采用两种方法所得结果(w,b)不同。因为生成模型对概率分布事先做了假设。所以一般来说,Discriminative model会比Generative model表现更好。

生成模型在一些情况下相对判别模型是有优势的:
1、训练数据较少时。判别模型的表现受数据量影响较大,而生成模型受数据量影响较小。
2、label有噪声时。生成模型的假设(“脑补”)反而可以把数据中的问题忽视掉。
3、判别模型直接求后验概率,而生成模型将后验概率拆成先验和似然,而先验和似然可能来自不同来源。

四、Multi-class Classification(多分类)

如果遇到多分类问题,以三分类为例子,则需要把sigmoid函数换成softmax函数;
在这里插入图片描述
最小化交叉熵,等价于最大化似然函数,。
在这里插入图片描述

五、Logistic Regression的限制与解决方法

对于Logistic Regression的限制,可能会出现无法分类的情况,如下图:
在这里插入图片描述
在这里插入图片描述

  • 对于线性不可分的数据没有办法分类,此时考虑在Logistic回归建模之前,对特征进行转化,线性不可分的数据在特征转化后可以很好地被红色直线区分开。
  • feature transformation(特征变换),但要找到一个合适的变换并不容易;
  • 所以我们把几个逻辑回归组合起来,其效果相当于特征变换,再加一个逻辑回归当一个分类器。在这里插入图片描述
    首先进行特征变换,如下图:
    在这里插入图片描述
    基于特征变换的结果进行分类处理:
    在这里插入图片描述
    注意:一个逻辑回归的输入可以来源于其他逻辑回归的输出,这个逻辑回归的输出也可以是其他逻辑回归的输入。把每个逻辑回归称为一个 Neuron(神经元),把这些神经元连接起来的网络,就叫做 Neural Network(神经网络)。

展望

本章节介绍了Logistic Regression(逻辑回归),其做为神经网络的基本单元,是尤为重要的。将多个Logistic Regression串联在一起,就可以换个名字——Deep Learning,即本章详细学习了逻辑回归的步骤,限制,解决方法,以及引出了我们下一步学习内容——深度学习!

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值