【机器学习】Andrew Ng梯度下降法实战
问题建模
在房价预测问题当中,设特征向量x1=size,x2=房间数
假设房价y可由函数以下函数估测,并另x0=1:
那么对于m个样本,我们需要求取一组theta使得该式子最小:
搜索算法实现
简化公式推导
那么反映到MATLAB上就一行的implementation:
theta=(featsx'*featsx)\featsx'*y;
关于过拟合:
当用线性函数拟合时,输出的准确率(或其它指标):
训练集 测试集1 测试集2 测试集3
0.9599 0.9080 0.9246 0.9476
可以发现测试集效果还是比较OK的,但是当使用较高次的非线性函数拟合时,输出的准确率就差很多了。
训练集 测试集1 测试集2 测试集3
0.9929 0.1475 0.1060 0.0179
可见,虽然训练集准确率非常高,但是观察测试集测试结果发现其泛化能力降低得很厉害。
转载于:https://my.oschina.net/Parser/blog/645534