目录
五、Discriminative和Generative的比较
摘要
在本周主要对逻辑回归进行了学习,从中了解了交叉熵(cross entropy)的表达式以及它的优势,还对softmax函数与sigmoid函数进行了比较,懂得了在多分类问题中,多用softmax函数,而不是sigmoid函数。
一、什么是逻辑回归
一、逻辑回归的概念
逻辑回归(Logistic Regression)是一种统计学学习方法,用于分类问题的预测。它利用线性回归方程,通过一个sigmoid函数将其值转换到0到1之间,可以输出分类的概率。
二、逻辑回归的基本原理
1.假设两个分类,定义为和。
2. 计算样本的线性回归值,公式为z=:。其中x1,x2,...,xn为特征,w1,w2,...,wn为权重,b为偏置。
3. 将线性回归值传入sigmoid函数中,公式为:Sigmoid(z) =。sigmoid函数的范围在0到1之间,可以解释为分类或的概率。
4. 根据sigmoid函数的值来判断分类。通常0.5作为分类阈值,大于0.5预测为,小于0.5预测为。
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函数只能将多分类问题分解为多个二分类问题,无法整体优化。
经过上述操作后可以得到:
总结
这周的学习内容不是很多,主要学习了逻辑回归的一些知识,以及与线性回归进行了对比,下周将继续进行对机器学习的学习。