李宏毅机器学习第三周_逻辑回归

目录

摘要

一、什么是逻辑回归

一、逻辑回归的概念

二、逻辑回归的基本原理

三、逻辑回归与线性回归的对比

一、函数集定义不同

二、定义未知参数好坏的方式不同

三、优化参数

 四、逻辑回归计算损失时用平方差

五、Discriminative和Generative的比较

三、Multi-class Classification

 什么是softmax函数?

总结


摘要

在本周主要对逻辑回归进行了学习,从中了解了交叉熵(cross entropy)的表达式以及它的优势,还对softmax函数与sigmoid函数进行了比较,懂得了在多分类问题中,多用softmax函数,而不是sigmoid函数。

一、什么是逻辑回归

一、逻辑回归的概念

逻辑回归(Logistic Regression)是一种统计学学习方法,用于分类问题的预测。它利用线性回归方程,通过一个sigmoid函数将其值转换到0到1之间,可以输出分类的概率。

二、逻辑回归的基本原理

1.假设两个分类,定义为C_{1}C_{2}
2. 计算样本的线性回归值,公式为z=:\sum_{i=1}^{n}w_{i}x_{i}+b。其中x1,x2,...,xn为特征,w1,w2,...,wn为权重,b为偏置。
3. 将线性回归值传入sigmoid函数中,公式为:Sigmoid(z) =\frac{1}{1+e^{-z}}。sigmoid函数的范围在0到1之间,可以解释为分类C_{1}C_{2}的概率。
4. 根据sigmoid函数的值来判断分类。通常0.5作为分类阈值,大于0.5预测为C_{1},小于0.5预测为C_{2}
5. 利用最大似然估计法求解w和b,最大化所有的训练数据的sigmoid函数值与真实标签的似然度。

注:最大似然法就是找到可以最大化训练集上数据出现概率的参数值,这组参数可能最适合模型,并可以用于预测。

三、逻辑回归与线性回归的对比

一、函数集定义不同

逻辑回归是把每一组权重与特征值相乘后求和,然后加上偏值,再交由sigmoid函数处理,它得到的值一定是介于0到1之间的一个值,而线性回归只是把每一组权重与特征值相乘后求和,然后加上偏值,它得到的值是任意的。

二、定义未知参数好坏的方式不同

假设训练数据都是根据f(x)产生的,那么给定一组未知参数w和b,能够产生这笔data的可能性有多大,可能性越大,那么证明这组未知参数越好。

 计算未知参数w和b在L上的最大值,就相当于计算在-lnL(w,b)的最小值,这样计算会使运算变得相对简单一些。如果x属于Class1,我们就定义ŷ就为1,如果x属于Class2,ŷ就为0。这样就可以得到−lnL(w,b)的展开式。

因此,将L的表达式可以转换为以下这种形式,而这种形式又正好与cross entropy相对应。

注:什么是cross entropy?

交叉熵(cross entropy),用于衡量两个概率分布间的差异程度。它常用于神经网络的损失函数,用来评估模型的预测性能。给定两个概率分布P和Q,P代表真实分布,Q代表模型预测分布,目标是最小化交叉熵,使模型预测分布Q尽可能地接近真实分布P。使用交叉熵的原因是:计算简单,梯度好求。

三、优化参数

在这里优化参数的方式还是利用梯度下降的方法:

Logistic Regression和Linear Regression一模一样,唯一不一样的是 Logistic Regression的targe只能是0或1,f一定是介于0到1之间,而Linear Regression的target可以是任何数,f可以是任何数。

 四、逻辑回归计算损失时用平方差

从图中可以看出,若采用Class 1的例子,得到它对应的两种函数的计算偏导的结果都是0,这显然是合理的。若采用Class 2的例子,得到它对应的两种函数的计算偏导的结果都是0,这显然是不合理的。

 交叉熵和平方差比较

在距离中心点(最低点)很远的位置,微分值很大,这意味着参数的更新很快。Square Error在距离中心点(最低点)很近的位置,微分值很小,在距离中心点(最低点)很远的位置,微分值也很小,这意味着参数的更新很慢。而参数更新慢,就不知道当前参数的值是否接近最优的参数。

五、Discriminative和Generative的比较

1.Discriminative和Generative的表达式相同,由于假设的不同,所以求出来的w和b并不相同。

Discriminative 任务通常是分类或回归问题,其目标是识别数据点所属的类别或预测一个未知数据点的标签。换句话说,Discriminative 任务的目标是识别数据点之间的差异,而不考虑这些差异的来源 (即不考虑数据点是如何生成的)。

Generative 任务的目标是生成新的数据点,这些数据点与已有的数据点之间存在差异。换句话说,Generative 任务的目标是模拟数据点的生成过程,而不考虑这些数据点之间的差异。

2.若只考虑2种因素,看不出区别,但考虑7种因素后,Discriminative比Generative的结果更好一些。

 3.下图中的训练数据中,有1个数据属于Class1,有12个数据属于Class2,那么我们人为地能够看出测试数据是属于Class1,但是在Naïve Bayes上计算的结果如何呢?

 利用Naïve Bayes计算得到的数值,它会认为测试数据是属于Class2而不是Class1,因为Naïve Bayes不考虑不同的dimension之间的correlation,而且样本数据也不够多,所以在Class2中并未看到有测试集的数据。

 Generative的优势:Generative会遵循自己的假设,因此在data量很小的时候很有优势,而Discriminative依靠data,随着data量增大,Discriminative Model的error会越来越小。且如果data所含的noise比较多时,Generative会比Discriminative更好。

三、Multi-class Classification

多分类(Multi-class Classification)指需要区分三个或三个以上类别的分类问题。相比二分类问题,多分类问题的难度更大,需要解决的问题也更加复杂。

假设有三个类Class1,Class2,Class3,参数如下所示,softmax函数的操作如图。

 什么是softmax函数?

 softmax函数将逻辑回归的线性预测值转换为各个类别的概率,从而实现多分类预测。

它的特点有:

1.采用softmax函数将线性预测值转换为概率,以实现多分类。

2. loss函数选用cross entropy,直接优化多分类的损失函数。

3. 预测阶段选取概率最大的类别作为结果,简单有效。

4. 可以看作逻辑回归的推广到多分类场景。原理简单,易于理解和实现。

多分类问题用softmax函数而不用sigmoid函数的原因:

1.softmax函数输出的是多个类别的概率,且这些概率之和为1。这满足多分类问题的输出要求。sigmoid函数只输出一个0-1之间的概率,无法直接扩展到多分类场景。

2.softmax函数的目标函数可以直接选用cross entropy损失,这是一个专门为多分类问题设计的损失函数。使用sigmoid函数只能将多分类问题分解为多个二分类问题,无法整体优化。

经过上述操作后可以得到:

总结

这周的学习内容不是很多,主要学习了逻辑回归的一些知识,以及与线性回归进行了对比,下周将继续进行对机器学习的学习。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值