注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

HT·生活

123

 
 
 

日志

 
 

Linear Regularization  

2015-06-02 17:19:40|  分类: Deep Learning |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

在机器学习中,我们常常会遇到如果模型的参数过多,有时候会导致过拟合的现象。例如在线性多项式回归中,如果多项式阶数足够高,可能最后得到的参数会经过所有的数据点,这种模型对我们来说是没有任何意义的。为了避免这种现象的出现,我们需要在cost函数中堆模型的参数加上一个"惩罚"项,避免参数出现过大的情况,防止过拟合。本文用7个数据来拟合一个5阶的多项式,其中可以看到"惩罚项"对最终结果的影响。

多项式拟合也是一种线性回归的变种,只是选取了高阶的"基"作为新的变量,模型的形式如下

在普通的cost函数后面加上惩罚项即可,

如果说用normal equation求参数值的话,就可能得到

在程序中需要测试不同lamda对拟合结果的一个影响,lamda选取结果为 0 1 10。代码如下(在官方给的基础上改的)

% Exercise 5 -- Linear Regression with regularization

clear all; close all; %clc
% Load data from a two-column ascii file

clear all; close all; clc
x = load('ex5Linx.dat'); y = load('ex5Liny.dat');

m = length(y); % number of training examples
% Plot the training data

figure;
plot(x, y, 'o', 'MarkerFacecolor', 'r', 'MarkerSize', 8);
% Our features are all powers of x from x^0 to x^5

x = [ones(m, 1), x, x.^2, x.^3, x.^4, x.^5];
theta = zeros(size(x(1,:)))'; % initialize fitting parameters

range = [0 1 10];
colortype = {'g','b','r'};
for i=1:length(range)
% The regularization parameter

lambda = range(i);
% Closed form solution from normal equations

L = lambda.*eye(6); % the extra regularization terms
L(1) = 0; %公式上的第一项是0
theta = (x' * x + L)\x' * y
norm_theta = norm(theta)

hold on;
% Our training data was only a few points, so we need
% to create a denser array of x-values for plotting

x_vals = (-1:0.05:1)';
features = [ones(size(x_vals)), x_vals, x_vals.^2, x_vals.^3,...
x_vals.^4, x_vals.^5];
plot(x_vals, features*theta, char(colortype(i)));
hold on;
end

legend('traning data', '\lambda=0', '\lambda=1','\lambda=10')
hold off


测试结果

可以看到lamda=1的时候效果是比较好的,而lamda =0的时候过拟合了,这种模型没有包含实质的信息,而lamda=10的时候,惩罚项加的太大了,没有反应出数据内部的性质。

参考

http://openclassroom.stanford.edu/MainFolder/DocumentPage.php?course=DeepLearning&doc=exercises/ex5/ex5.html

http://www.cnblogs.com/tornadomeet/archive/2013/03/17/2964515.html

  评论这张
 
阅读(33)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018