regularized 线性回归练习
2013-04-15 21:26
211 查看
在机器学习中,如果参数很多,而样本数量比较少,很容易产生过拟合问题。因此在函数的损失模型中加入惩罚系数,这些参数一般都会很小,而越小的参数,模型越简单,越不会产生过拟合问题。参考的网页资源为:http://openclassroom.stanford.edu/MainFolder/DocumentPage.php?course=DeepLearning&doc=exercises/ex5/ex5.html
[b]实验原理:[/b]
假设对于一个由10个点组成的样本,要拟合一条曲线来表示。如果想采取高次多项式预测表示,如下:
那么现在我们有了模型的六个特征,分别对应的六个预测参数。如果用这个五次多项式去拟合一个只有十个点的样本集,很容易产生过拟合。所以我们引入惩罚参数:
是怎么控制过拟合的呢?它独立于预测参数的平方和,当预测参数很大时,损失函数必然会很大。所以往往预测参数就会很小,在极端情况下,假设第五个参数小到零,则变成四次多项式了,再小呢,最后就有可能接近于二次曲线、乃至直线。这样的话,模型就趋于简单化。有效的控制了过拟合的产生。
[b]Normal equations方法:[/b]
[b]
[/b]
和普通的正则方程法相比,公式左边括号中增加了一个
乘以一个(n+1)*(n+1)的矩阵。最左上角是零,剩下的是一个单位对角矩阵。The vector
and the matrix
和unregularized regression的定义是一样的:
使用这个等式,寻求对于以下三个不同的
的预测参数:
a.
(等同于non-regularized linear regression)
b.
c.
实验结果如下:
等于10的时候的过拟合的可能性最小。
源代码如下:
[b]实验原理:[/b]
假设对于一个由10个点组成的样本,要拟合一条曲线来表示。如果想采取高次多项式预测表示,如下:
那么现在我们有了模型的六个特征,分别对应的六个预测参数。如果用这个五次多项式去拟合一个只有十个点的样本集,很容易产生过拟合。所以我们引入惩罚参数:
是怎么控制过拟合的呢?它独立于预测参数的平方和,当预测参数很大时,损失函数必然会很大。所以往往预测参数就会很小,在极端情况下,假设第五个参数小到零,则变成四次多项式了,再小呢,最后就有可能接近于二次曲线、乃至直线。这样的话,模型就趋于简单化。有效的控制了过拟合的产生。
[b]Normal equations方法:[/b]
[b]
[/b]
和普通的正则方程法相比,公式左边括号中增加了一个
乘以一个(n+1)*(n+1)的矩阵。最左上角是零,剩下的是一个单位对角矩阵。The vector
and the matrix
和unregularized regression的定义是一样的:
使用这个等式,寻求对于以下三个不同的
的预测参数:
a.
(等同于non-regularized linear regression)
b.
c.
实验结果如下:
等于10的时候的过拟合的可能性最小。
源代码如下:
clc,clear %加载数据 x = load('ex5Linx.dat'); y = load('ex5Liny.dat'); %显示原始数据 plot(x,y,'o','MarkerEdgeColor','b','MarkerFaceColor','r') %将特征值变成训练样本矩阵 x = [ones(length(x),1) x x.^2 x.^3 x.^4 x.^5]; [m n] = size(x); n = n -1; %计算参数sidta,并且绘制出拟合曲线 rm = diag([0;ones(n,1)]);%lamda后面的矩阵 lamda = [0 1 10]'; colortype = {'g','b','r'}; sida = zeros(n+1,3); xrange = linspace(min(x(:,2)),max(x(:,2)))'; hold on; for i = 1:3 sida(:,i) = inv(x'*x+lamda(i).*rm)*x'*y;%计算参数sida norm_sida = norm(sida) yrange = [ones(size(xrange)) xrange xrange.^2 xrange.^3,... xrange.^4 xrange.^5]*sida(:,i); plot(xrange',yrange,char(colortype(i))) hold on end legend('traning data', '\lambda=0', '\lambda=1','\lambda=10')%注意转义字符的使用方法 hold off
相关文章推荐
- 机器学习练习一:简单线性回归
- 贝叶斯线性回归小练习
- 线性回归正则化 regularized linear regression
- 机器学习练习(一)——简单线性回归
- deep learning 练习1 线性回归练习
- (斯坦福机器学习笔记)线性回归练习
- (斯坦福机器学习课程笔记)局部加权线性回归练习
- 机器学习基础(三十) —— 线性回归、正则化(regularized)线性回归、局部加权线性回归(LWLR)
- [Exercise 2] 多元线性回归
- 加权最小二乘法与局部加权线性回归
- [机器学习][3]--口袋算法与线性回归
- 分别用普通线性回归、岭回归、Lasso回归对boston房价进行预测,比较效果
- 线性回归基础知识
- 多元线性回归之Spss实现
- android 实战练习 回归手机卫士 一 主界面布局
- 机器学习之线性回归笔记
- 对线性回归,logistic回归和一般回归的认识(总结的不错)
- 对线性回归、逻辑回归、各种回归的概念学习
- 线性回归
- 【编程练习】空间复杂度为O(1)的线性排序原理及编程(GNU C实现)