欠拟合与过拟合、局部加权回归、logistic回归
1.欠拟合与过拟合
当假设空间含有不同复杂度(例如,不同的参数个数)的模型时,就要面临模型选择的问题,我们希望选择或学习一个合适的模型。如果在假设空间中存在“真模型”,那么选择的模型应该逼近真模型。具体的,所选择的模型要与真模型的参数个数相同,所选择的模型的参数向量与真模型的参数向量相近。
如果一味的追求提高对训练数据的预测能力,所选模型的复杂度则往往会比真模型更高。这种现象称为过拟合。过拟合是指学习时选择的模型所包含的参数过多,以至于这一模型对已知数据预测的很好,但对未知数据预测很差的现象,可以说模型选择旨在避免过拟合并提高模型的预测能力。
下图给出了M=0,M=1,M=3,M=9时的拟合情况,M=0和1时模型过于简单,训练误差太大,明显的欠拟合,M=9时过于复杂,明显在训练数据中误差非常小,过拟合了
M=3模型复杂度适中,泛化能力强,效果最好
2.局部加权回归(不适合于大样本,计算量太大)
上面叙述的线性回归的算法说名特征的选择对学习算法的性能至关重要,那有没有自动选择特征集的算法,或者是让特征的选择对结果影响不那么大?这就是接下来介绍的LWR算法,局部加权线性回归。
在最初的线性回归算法中,对于输入变量X,我们要预测与之对应的Y,步骤如下:
相比而言,对于局部加权线性回归,步骤为:
这里多了一个权值项Wi,直观上来看,Wi的值越大,它所对应的残差对结果的影响越大,反之越小。Wi的计算表达式为:
其中xi是输入X附近的一个点。我们可以看到这个表达式类似于高斯分布,tao越大就代表了这个钟形曲线下降的越缓,tao越小,钟形曲线的下降速度就会越快。
从上图可以看到,离输入X越近的点,权值越接近于1;离X非常远的点,权值越接近于0。所以我们可以这样理解:在输入X附近构成了线性回归算法,对于Y的学习,主要依赖于X附近的点,如下图:
图中红色直线使用线性回归做的结果,黑色直线使用局部加权线性回归做的结果,可以看到局部加权效果较好。
LWR是NG的课程里面遇到的第一个非参数学习算法。所谓的参数学习算法就是它有固定的明确的参数,参数一旦确定,就不会改变了,我们不需要再保留训练集中的样本。而非参数学习算法,每进行一次预测,就要重新学习一组样本,参数是变化的。当样本比较大时,非参数的方法明显计算量就会很大,并且要花费很多空间去存储中间样本。
3.选用误差函数为平方和的概率解释:
假设根据特征的预测结果与实际结果有误差,那么预测结果和真实结果满足下式:
一般来讲,误差满足平均值为0的高斯分布,也就是正态分布。那么X和Y的条件概率也就是
这样就估计了一条样本的结果概率,然而我们期待的是模型能够在全部样本上预测最准,也就是概率最大。这个概率称为最大似然估计。
我们希望在最大似然估计得到最大值时确定theta,那么多对最大似然估计公式求导,求导结果既是
4.logistic回归
一般来说,回归不用在分类问题上,因为回归是连续模型,而且受噪声影响比较大,如果非要应用进入,可以使用logistic回归。
logistic回归本质上是线性回归,只是在特征到结果的映射中加入了一层函数映射,即先把特征线性求和,然后使用函数g(Z)作为假设函数。g(Z)可以将连续值映射到0和1上。
logistic回归的假设函数如下,线性回归假设函数只是thetaX
对数回归用来分类,也就是预测结果属于0或者1的二值分类问题,这里假设了二值满足伯努利分布,也就是
等价于
然后做最大似然估计
最大化上述函数可以用梯度上升法,参照于之前的提梯度下降法
所以: