一、分类
如果某个问题的解可以分为几个离散的值,则称这种问题为分类问题。如果只有0或1两种解,则称为一个二元分类问题,其中0称为负类,1称为正类,由于二元分类问题比较简单,下面都以二元分类问题为例,最后会介绍多元分类问题。分类问题如果采取线性回归的方式去拟合,会得到很差的结果。如下图,假设我们按照
二、假设函数
在线性回归中,我们的假设函数为
现在来解释一下,Logistic回归中,假设函数的含义:
三、决策边界
已经有了假设函数了,现在考虑什么时候将某个样本预测为正类,什么时候预测为负类。由于
如下图所示的训练集,假设我们用
类似于线性回归中,可以在特征中添加额外的高次多项式项达到拟合非线性数据的目的,在Logistic回归中,也有这样的操作:
四、代价函数
如果使用线性回归中的代价函数,由于假设函数的改变,会使得代价函数变成一个非凸函数(如下图左,有很多局部最优解),这样就不能用梯度下降法了,所以我们需要设法将函数转变为一个凸函数。
定义:
通过图像我们可以发现一下两个性质:
- 如果预测值为1的概率为100%,且实际值为1时,代价为0
- 如果预测值为1的概率小于100%,且实际值为1时,预测的概率越小,代价越大,如果概率为0则代价变成无穷大。
y = 0的图像类似,镜像翻转就是,不做分析。
五、简化代价函数和梯度下降
对于上面的代价函数,我们可以将其合并成一个式子:
根据梯度下降法的思想,对于
六、高级优化
可以使用Matlab库中自带的优化版梯度下降进行计算,函数入下
七、多元分类问题
介绍完二元分类问题,现在来看多元分类问题。
假设我们的训练集中有三种物品,我们可以训练三个分类器如右图,分别将其中的一类当正类,其他都当负类,然后进行一次二元分类。计算完三个分类器后,在预测时,向三个分类器中输入一个数据,将会分别返回三个概率,选择概率最大的那个当做预测类别。
八、正则化
8.1 过拟合问题
还是以房价预测为例,如果用线性函数拟合,会出现如上图左的情况,发生欠拟合、高偏差;如果使用更高阶的函数,图像可以非常好的拟合数据(上图右),但是很明显这并不符合生活常识,称之为过拟合、高方差。即,当出现太多的属性时,训练出的假设可能非常好的训练集,但是不能很好的预测新样本数据,即不能很好的泛化新数据。
对于Logistic 回归 ,也会出现过拟合的现象:
解决方法:
-
减少属性的数量。
- 手动选择需要保留的属性
- 模型选择算法
-
正则化。
8.2 正则化的代价函数
如上图,如果采用高阶函数拟合数据会发生过拟合的问题,正则化的思路时将不重要的属性加入一定的惩罚,如下面的式子所示,如果属性3和属性4不重要,则在代价函数后面加上
如果不知道如何选取属性,可以将所有属性都加上惩罚,则代价函数入下:
8.3 线性回归的正则化
8.3.1 梯度下降法
就是将代价函数 :
8.3.2 正规方程法
同时,当
8.4 Logistic回归的正则化
8.4.1 梯度下降
对
66666