一.特征函数
对应分类问题,我们先针对二分类问题进行讨论,对应计算机而言,分类即将数据按其特征值不同分为不同的集合,仅对应二分类问题,我们只需考虑分为:正类和负类,为此我们引入特征函数。
-
y=1 — 代表二分类中的正类
-
y=0 — 代表二分类中的反类
这是特殊函数在集合意义上的理解,如果换成概率角度上的理解呢?
对应二分类问题(监督学习),我们如果设置一个标准值,按照NG的说法设置为1(正类),那么特征函数可以这样理解: -
y=1 — 代表二分类中的正类出现的概率为100%(必然事件)
-
y=0 — 代表二分类中的正类出现的概率为0(不可能事件)
注意:这里的y是指训练集中的数据,是给定值并非模型预测值
二.逻辑回归函数(sigmoid函数)
特征函数的引入是对于训练集内数据分类的描述标准,那么,对于模型预测值我们又应该以什么样的标准来衡量呢?
为此,我们引入sigmoid函数:
接下来我们来分析这个函数的作用:
这个函数是将g(z)的范围压缩至【0,1】区间内,我们知道,在线性回归算法中,假设函数被定义为 此时假设函数的取值范围可以为在二分类中,输出 y 的取值只能为 0 或者 1,
在之外包裹一层 Sigmoid 函数,使之取值范围属于 (0,1)
这样我们就能从概率的角度来衡量得出的模型预测值h(x)了,其意义便是通过以训练好的模型预测出此组数据为正类的概率:
对应得到此组数据为负类的概率P(y=0|x;θ) = 1-h(x)
三. 决策边界(Decision Boundary)
根据以上假设函数表示概率,我们可以推得:
θ’x>=0
θ’x<0
由此可得出决策边界
注意:决策边界不是训练集的属性,而是假设本身及其参数的属性,训练集的作用是用来拟合参数
四.代价函数工作原理及其形式简化
以上是决策边界引入上的理论基础。既然决策边界已经选好,那么,如何通过训练集来拟合出决策边界(拟合参数θ)呢?
这里我们引入代价函数作为参数拟合好坏的衡量依据。
如果按照之前线性回归的思路,代价函数应该写成这样:
但是要注意这里的h(x)与线性回归不同,逻辑回归的h(x)是在线性回归的θ’X的基础上包裹了一层sigmoid函数,这导致上式的代价函数是一个非凸函数。要知道对于非凸函数,如果对其使用梯度下降只能得到局部最小,不能得到全局收敛,因此,需要对此函数进行凸优化。
以下是优化后得出的代价函数:
我们分析其工作原理:
- 当y=1时:
- 当y=0时:
函数意义:
以上是对代价函数工作原理的分析,下面是其简化形式:
其向量化形式如下:
五.梯度下降实现:
以下是其推导过程:
到此为止,我们介绍完了二分类的理论部分,接下来我们进行多分类部分的讲解。
多分类(一对多——一对余)
对于多分类问题,我们有多个特征函数值,一组数据我们也会得出多个预测值(对于每一类的概率预测)
既然我们会得到对于每一类的概率预测,那么,每一个预测值的背后不就是一个一对余的二分类问题。
以三分类为例:
由此,我们得出了多组预测值,现在我们的问题是应该选取哪一个预测值作为最终预测结果呢?
应该选择所有二分类器得出的预测值中的最大值:
为何如此呢?
因为上面的例子中,二分类器是一个线性分类器,那么我们便以此为例,来分析这样一个问题:
以上便是逻辑回归的主体理论部分,关于正则化优化的部分,我会在下一篇文章进行详细介绍。