目录
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等。(学习一个模型)
计算思路:直接学习得到条件概率分布。
优点:①节省计算资源 ②需要的样本数量小 ③准确率较高
缺点:①得到的信息少