【机器学习四】线性回归和逻辑回归(二)

上一节简单的介绍了一下线性回归,通过简单的线性模型进行预测结果,并不断逼近真实标记值,实现回归。

那如果我们想用线性模型去实现分类呢?

2.1逻辑回归

线性回归预测出的是一个连续型的值,要想根据预测出的值进行分类,从最简单的,一个二分类任务来讨论,我们要根据预测出的值判断这是正类还是负类,将(-∞,+∞)的预测值,转变为可以用来分类的值。

那我们设定一个阈值,对于回归的输出,如果输出大于这个阈值就为正类,反之为负类?

看上去是可行的,但回归出的数据往往差距是非常大的,会有非常大或非常小的值(离群值)影响阈值和分类结果,因此不太可行。

因此我们想有没有一种方法可以很好的解决离群值的问题呢?

因此就引入了sigmoid函数,将结果(-∞,+∞)映射到(0,1)的范围内。


sigmoid

这样一个模型的输出就可以整理为:

                                        

                其中     

这样的模型就称为逻辑回归模型,虽然写成回归,但是这是一种分类算法!!!

当线性回归的输出,经过sigmoid函数,得到一个0到1之间的值时,这个值的意义就是这个样本被分为正类的概率值。

其中计算出的g(z)表示该样本为正例的概率,而1-g(z)就是样本为负例的概率。

2.2 阈值选择

对于逻辑回归的输出是一个0-1之间的小数,我们通常是将阈值定为0.5,看着比较舒服,满足大于0.5为正例,小于0.5为反例。但这并不强求,在实际应用中,阈值是可以自由调节的。

2.3 使用极大似然估计 计算和b

极大似然估计 就是利用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值。

而在2.1中,我们知道,一个样本输入为x,通过计算得到最后的输出g(z),其中,可以用 =  g(z) 来表示这个样本被分为正例的概率,用表示分为负类的概率,可写做(这个二分类中正类=1,负类=0):


在已知这个样本的真实标签y的情况下,这个样本正确分类的概率可以写成如下:


数据集中的每一个样本正确分类的概率都可以写成这样,我们训练的目的,就是得到使得数据集所有样本正确分类的概率最大、、这里就用到了极大似然估计,就是每一个样本正确分类的概率乘积是最大的,记为,我们就是要求max ,对于一个连乘的式子,我们用取log的方式,变成连加的形式:

求让最大的,这里采用梯度上升的办法(梯度上升和梯度下降没啥区别,就是一个用求来最大化问题,另一个求最小化问题)过程如下:

上图中,是学习率,通过最后的更新公式,可以看出每次更新都用上了所有的样本,这是批量梯度上升方法,其他还有随机梯度上升、批量梯度上升方法(这些等以后专门整理一个梯度下降的内容吧。。)。

总结一下,在训练逻辑回归模型时,我们初始化一组,计算并使用梯度上升的方法更新它,迭代更新这一步,直到达到一定的迭代次数后者得到一个比较小的损失函数停止。(逻辑回归中的损失函数可以理解为交叉熵损失函数,就是,我们求解max,就是求min )

交叉熵损失函数的公式如下:

3.线性回归和逻辑回归

两种方法的基本概念都介绍完了,总结一下它俩的关系

线性回归输出+sigmoid=逻辑回归的输出

线性回归用于回归、逻辑回归用于分类;线性回归计算参数主要使用最小二乘法、逻辑回归用梯度上升

你可能感兴趣的:(【机器学习四】线性回归和逻辑回归(二))