我们可以使用线性模型进行回归,但是如果我们想要做分类任务,此时,我们该如何做呢?这个时候我们先考虑一下之前使用的线性模型是不是可以解决这个问题。首先,做分类任务的话,我们想要得到的预测值必定是离散的。但是在线性回归模型中我们用的是直线来进行拟合。这样,我们的拟合函数的值必然是连续的。那么我们第一个需要思考的问题就是如何把这些连续的值映射成为离散的值。
对于二分类的问题,我们想要做的是将预测的结果映射到0或者1,因此,我们需要引入一个函数,可以将我们预测结果映射到0或者1,我们可以使用如下的函数(这个函数不唯一,可以根据具体情况进行改变):
当,预测y=1
当,预测y=0
但是这种方法存在一个问题,就是这不是一个连续的函数,我们希望找到的是一个可微的函数,这样,我们找到另一个被称为sigmoid的函数,其表达是如下:
其函数图象如下:
这样我们就可以得到一个新的模型,即逻辑回归模型:,其中为向量。我们现在思考一下的意义是什么?
它的作用就是对于给定的变量,根据选择的参数计算得到等于1的可能性,即,例如,则表示70%的几率预测值为正向类。此时,一定要理解和的意义,这将在后面的推到过程中至关重要。
在得到模型后,下一步我们要做的事情是什么呢?对于的函数图像大致如下:
这是一个非凸函数,若是用线性回归构建代价函数的方法对,然后对这个函数用梯度下降的话,可能会陷入局部最小值而找不到全局最小值。那么,此时的问题,就是我们该如何构建代价函数呢, 此时我们需要使用最大似然函数。最大似然函数的作用就是在给定分布的情况下会找出关于最可能的值(即在所有可能的中,寻找一个值,使这个采样的可能性最大)。
下面给出逻辑回归代价函数的推导过程:
将和写在一起,得到如下公式
取似然函数为:
取对数似然函数为:
此时我们求到的是取最大值时,当然我们希望能取到最小值,所以我们需要加一个负的系数,得到了J,其表示形式如下:
这样我们就通过极大似然法得到了代价函数,下一步我们要做的当然还是求一组最小的使得代价函数最小,方法依旧是梯度下降。主要的过程就是:
化解后可以得到(建议读者自己化解一遍,可以加深理解):