李宏毅 机器学习(2017)学习笔记——5-逻辑回归

本文详细介绍了逻辑回归的步骤,包括定义函数集合、确定函数好坏(使用交叉熵而非MSE的原因)、参数优化及与线性回归的对比。此外,还探讨了生成式模型与判别式模型的差异,以及逻辑回归在多分类问题中的应用和局限性。重点强调了在数据量有限或存在噪声时,生成式模型的优势。最后,讨论了如何通过特征变换解决逻辑回归的局限性,引出神经网络的概念。
摘要由CSDN通过智能技术生成

目录

1. 逻辑回归的步骤

1.1 步骤一:定义函数集合

1.2 步骤二:函数的好坏

1.2.1 交叉熵

1.2.2 为什么不使用MSE

1.3 找一个最好的函数

1.4 逻辑回归和线性回归的比较

2. 生成式与判别式

3. 多分类

4. 逻辑回归的局限性

补充:生成式模型和判别式模型


1. 逻辑回归的步骤

1.1 步骤一:定义函数集合

    由第四节概率生成模型可知,我们的函数集合为,下标w、b是指这个函数集合是受w和b所控制的。所有w和b可以产生的函数集合起来就是一个函数集合。

    用图像方式来表示如下图。函数中有两组参数,一组是w我们称为权重,常量b我们称为偏置,还有一个sigmoid函数。输入为x,我们把x与w相乘,再加上b得到z。σ(z)求出后验概率。

    

1.2 步骤二:函数的好坏

    共有N条训练数据,每条训练数据标注属于哪个类别。

    

    假设这些训练数据是从中产生的,给出w和b,我们就可以计算这一组w和b产生N组训练数据的几率

    最好的参数w和b是有着产生训练数据最大可能性的一组w和b,我们称为

    我们需要找一组w和b最大化L(w,b),这也就等同于

    用1表示x属于类别1,0表示x属于类别2。

    

    所以,

    我们用1表示类别1,0表示类别2,式子可以写成

    求和符号后面的一整项,可以看做两个伯努利事件的交叉熵

1.2.1 交叉熵

    交叉熵的公式如下,代表这两个分布有多接近。

    

1.2.2 为什么不使用MSE

    如果逻辑回归使用均方误差,如下图所示:

    

    我们观察到,无论是结果离目标很远或者很近,偏微分都可能取到0。

    参数的变化和损失值的变化如下:

    

   可见均方误差在离目标很近的地方数值很小,离目标很远的地方数值也很小,更新速度很慢。

    所以使用交叉熵,距离目标越远,微分值越大,更新的速度也越快。

1.3 找一个最好的函数

    使用梯度下降法,求偏微分。

    sigmoid函数的微分可以直接记为σ(z)(1-σ(z))。对z做偏微分见下图。

    

    

    

    整理得到:

    

    如果使用梯度下降法进行更新,式子如下:

    

    w的取值取决于三个因素:①学习率(自己调整)  ②(来源于数据)  ③(代表现在的函数值和目标的差距)

1.4 逻辑回归和线性回归的比较

    第一步:逻辑回归的输出是0-1之间的。

    第二步:逻辑回归中,用1代表类别1,用0代表类别2。所有样本的交叉熵总和作为损失函数。而线性回归中,是一个真实的数。

    第三步:参数更新方式相同

        

    

2. 生成式与判别式

    我们成逻辑回归的方法为判别式,用高斯公式描述后验概率称为生成式。

    实际上二者的模型相同,均为

    利用判别式,我们可以直接找出w和b;利用生成式,首先算出然后再算出w和b。

    

    虽然是同一个函数,但是用两种方法得到的w和b结果是不同的。因为在生成式模型中,我们对概率分布是有假设的,假设是高斯分布或伯努利分布。

    事实上,判别式模型找出的参数更好。如图,蓝色区域代表水系宝可梦,红色区域代表一般系宝可梦。我们都使用7个特征进行判别,生成式模型的准确率不如判别式模型的准确率高。

    

    我们举例说明:

    假设有一组训练数据,有两个类别,每一条数据有两个特征,共1+4+4+4=13条训练数据。第一笔数据的两个特征值均为1;接下来的4笔数据第一个特征值为1,第二个特征值为0;接下来的4笔数据第一个特征值为0,第二个特征值为1;最后4笔数据的两个特征值均为0。我们给四种数据的标签分别为类别1,类别2,类别2,类别2。

    假设给出一条测试数据,两个特征值均为1,那么我们直观的预测这条数据属于类别1。   

    

    

    用朴素贝叶斯方法进行判别:

    首先,类别1 出现的概率为,类别2出现的概率为

    

    然后用朴素贝叶斯方法估测这条数据是来自类别1的概率,算出来小于0.5,所以对于朴素贝叶斯方法而言,这样的测试数据会被识别为是类别2。

    

    生成式模型和判别式模型的差别就在于生成式模型做出了一些假设

    在数据很少的情况下,做出一些假设也是有用的。

    有时,生成式模型也是有一定优势的:①训练数据很少(判别式模型的结果受到数据量的影响很大,生成式模型受到数据量影响小,因为它可以自行做出一些假设)    ②数据有噪声(数据有噪声意味着标签本身有可能就是有问题的,因为生成式模型可以做出一些假设,反而可以忽视掉数据中有问题的部分)    ③由于判别式模型是直接假设一个后验概率,然后再求解这个后验概率的参数,但是生成式模型是把整个公式拆解成先验概率和类的概率这两项,这样先验概率和类的概率这两项是可以来自不同的来源的

3. 多分类

    假设有三个类别,每个类都有自己的权重和偏置,w代表一个向量,b代表一个常数。输入要分类的对象x,用w*x+b得到z。

    我们把求出来的3个z输入到一个Softmax函数,最终结果如图所示。Softmax的作用是对大的值做强化,使得大的值和小的值差别更大

    

    多分类使用的损失函数依然是交叉熵,3个类别的目标分别用one-hot向量表示,防止用1,2,3表示相差太远。

      

4. 逻辑回归的局限性

    如左图所示,这样的分类问题并不可以用逻辑回归实现。因为逻辑回归的分界线始终是一条直线,如右图所示,一条直线始终无法把红色的点和蓝色的点分成两个类别。

    

  •     如果一定要用逻辑回归怎么办? 特征变换

    我们可以把特征做一些转化,找到一个较好的特征空间,使得逻辑回归可以处理。如图所示,我们把设为某点到(0,0)的距离,设为某点到(1,1)的距离,并画出图,这时就可以找到一个分界线把红色点和蓝色点分开。

    

    问题的难点在于,我们并不知道如何进行特征变换。我们希望这个特征变换是机器自行产生的。

    对此,我们考虑把很多个逻辑回归串联起来。如图所示,前两个逻辑回归进行特征转换的功能,最后一个逻辑回归进行分类功能。

      

    

    我们把一个逻辑回归叫做一个神经元,这些神经元形成的网络称为类神经网络

    

补充:生成式模型和判别式模型

    在学习的过程中对生成式模型和判别式模型的具体概念不是很清晰,所以学习了另外一个视频。

    【人工智能】史上最易懂的人工智能讲解 女算法工程师教你生成式模型与判别式模型_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

    生成式模型:学习得到联合概率分布P(X,Y),然后再求条件概率分布。能够学习数据的生成机制。例如隐马尔可夫模型,朴素贝叶斯,LDA等。(学习多个模型)

    计算思路:学习全部样本的先验和条件概率分布求出后验概率。

    优点:①可以通过联合概率分布获取其他信息    ②收敛速度快(适用数据多)    ③能应付存在隐变量的情况(高斯模型)    ④可以进行异常检测

    缺点:①联合概率计算量大     

    判别式模型:学习条件概率分布。例如SVM,感知机,决策树,KNN,CRF等。(学习一个模型)

    计算思路:直接学习得到条件概率分布。

    优点:①节省计算资源    ②需要的样本数量小    ③准确率较高

    缺点:①得到的信息少

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值