机器学习之逻辑回归(logistics regression)

逻辑回归(Logistic Regression)与线性回归(Linear Regression)都是一种广义线性模型(generalized linear model)。逻辑回归假设因变量 y 服从伯努利分布,而线性回归假设因变量 y 服从高斯分布。 因此逻辑回归与线性回归有很多相同之处,去除Sigmoid映射函数的话,逻辑回归算法就是一个线性回归。

逻辑回归虽然带有“回归”二字,但其本质却是一个经典的二分类算法。对于线性回归,其输出值可以是任意值,比如我要预测2025年的房价,训练出模型并应用之后得到的是一个具体的数值;而分类的话得到的答案是1 or 0,1表示属于该类,0表示不属于该类。

目录

    • 1.Sigmoid
    • 2.Loss Function的推导
    • 3.Discriminative VS Generative
    • 4.Multi-class Classification
    • 5.逻辑回归的限制:

1.Sigmoid

逻辑回归中用到了一个非常重要的函数:Sigmoid函数,Sigmoid函数也叫Logistic函数,其取值范围是(0,1)。
Sigmoid函数由下列函数定义:
在这里插入图片描述
图像:
机器学习之逻辑回归(logistics regression)_第1张图片
求导:
在这里插入图片描述

2.Loss Function的推导

机器学习之逻辑回归(logistics regression)_第2张图片
逻辑回归的损失函数我们采用的是一种交叉熵,而不是线性回归里面的Square Error,解释如下:
机器学习之逻辑回归(logistics regression)_第3张图片
从推导可以看出,对逻辑回归假若使用Square Error,无论f(w,b,x)=1还是0,都是靠近最优解的,这显然是不合理的。借用李宏毅老师课件上的一张图可以更加具体地说明这个问题:
机器学习之逻辑回归(logistics regression)_第4张图片
距离target越远,我们应该更快地更新参数,即距离越远微分值应该越大,梯度下降时移动的距离就越远。but对于Square Error,即使距离很远,微分值也会非常小,移动到target的速度就非常慢了。

3.Discriminative VS Generative

逻辑回归的方法称为Discriminative(判别) 方法;上一篇中用高斯来描述后验概率,称为 Generative(生成) 方法。它们的函数集都是一样的:
在这里插入图片描述
区别是:判别方法中的w和b是用梯度下降的方法找到的,而生成方法中的w和b,从上一篇文章可以看出来,是使用极大似然估计,先估计出u1,u2以及共用的协方差矩阵∑,最后代入式子中算出来的。

4.Multi-class Classification

机器学习之逻辑回归(logistics regression)_第5张图片
机器学习之逻辑回归(logistics regression)_第6张图片
最后的输出y1y2,y3是每一项除以各项之和的形式,所以可以把它们看成概率,从图中我们可以看出当softmax用于二分类时,就自动变成了logistics regression。
前面逻辑回归二分类时,损失函数用的是交叉熵的形式,多分类问题同样如此。二分类时,定义的y head为:当xi属于C1时,y head=1否则为0。而在多分类问题中显然不能再如此,多分类问题中,y head定义为一个向量,具体定义形式见上图。

5.逻辑回归的限制:

机器学习之逻辑回归(logistics regression)_第7张图片
考虑一个简单的二分类问题,有x1,x2两个特征,两个特征值都为0 or 1为C2,否则为C1。在逻辑回归中,输入某一个样本的两个特征值x1,x2,与各自的权重w1,w2相乘,也就是求inner product,最后加上一个bias,得到z,再将z用Sigmoid函数处理,最后与0.5进行比较,就可以判断属于哪一个类别。但是我们将两个特征映射到到一个二维坐标系上,发现根本不可能找到一条直线将两类样本完全分开。这种限制与数据量无关,是逻辑回归自己本身的限制。
鉴于上面这种情况,就需要用到
Teature Transformation
,即特征转换。用特征转换处理后,使得我们能够用一条直线将C1和C2,也就是上面的红点和蓝点分开。图里面的处理方法是:定义新的x1,x2,x1为点到(0,0)的距离,x2为到点(1,1)的距离,处理后如下图所示:
机器学习之逻辑回归(logistics regression)_第8张图片
这时候我们发现,就能够找到一条直线将两类点分开,但在实际应用中,我们往往不能够找到比较好的特征变换的方法。
事实上,Feature Transformation也可以用一个逻辑回归模型来实现,如下所示:机器学习之逻辑回归(logistics regression)_第9张图片
第一个逻辑回归是实现了特征转换,第二个逻辑回归实现了分类。
在这里,就引入了Deep Learning的概念。一个逻辑回归的输入可以来源于其他逻辑回归的输出,这个逻辑回归的输出也可以是其他逻辑回归的输 入。把每个逻辑回归称为一个 Neuron(神经元),把这些神经元连接起来的网络,就叫做 Neural Network(神经网络)。

你可能感兴趣的:(Machine,Learning,笔记)