w6_2Regularized Linear Regression and BiasVariance编程解析

本文详细介绍了正则化线性回归的概念及其在机器学习中的应用,包括代价函数的计算、梯度下降的更新规则、学习曲线绘制、多项式特征映射以及交叉验证曲线的生成等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

w6_2Regularized Linear Regression and BiasVariance编程解析

1. ex5 流程分析

1.1 plotData

按照ex5.m中的流程走一遍


2. 编程分析

2.0 计算公式

代价函数:
hθ(x)=12mi=1m(hθ(x(i)y(i))2+λ2m(j=1nθ2j)hθ(x)=12m∑i=1m(hθ(x(i)−y(i))2+λ2m(∑j=1nθj2)
θθ的更新(分j=0的情况与j1j≥1两种情况):
J(θ)θj=1mi=1m(hθ(x(i))y(i))x(i)j(j=0)(j=0)∂J(θ)∂θj=1m∑i=1m(hθ(x(i))−y(i))xj(i)
J(θ)θj=1mi=1m(hθ(x(i))y(i))x(i)j+λmθj(j>=1)(j>=1)∂J(θ)∂θj=1m∑i=1m(hθ(x(i))−y(i))xj(i)+λmθj

2.1 Regularized linear regression cost function 0 / 25

X=12x2 theta=2x1 y=12x1
根据上面2.0的计算公式,在linearRegCostFunction.m中添加:

# 第1步计算cost
h_theta = X * theta ;
epsilon = h_theta - y;
left = (1/(2*m))*sum(epsilon .^ 2);
right = (lambda/(2*m))*sum(theta(2:end) .^ 2);
J = left + right;
2.2 Regularized linear regression gradient 0 / 25

根据上面2.0的计算公式,在linearRegCostFunction.m中添加:

# 第2步计算grad
grad = (1/m)*X'*epsilon;
grad(2:end) += (lambda/m)*theta(2:end);
2.3 Learning curve 0 / 20

在learningCurve.m中添加:

for i = 1:m
  x_train = X(1:i,:);
  y_train = y(1:i);
  theta = trainLinearReg(x_train, y_train, lambda); 
  [J_train, grad_train]=linearRegCostFunction(x_train,y_train,theta, 0); 
  [J_cross, grad_cross]=linearRegCostFunction(Xval,yval,theta, 0);
  error_train(i) = J_train;
  error_val(i) = J_cross;
end

* 交叉验证部分的数据己经读到Xval与yval中 *

2.4 Polynomial feature mapping 0 / 10

X_poly(i, :) = [X(i) X(i).^2 X(i).^3 … X(i).^p];
xp的第1列 = X的第1列的1次方
xp的第2列 = X的第2列的2次方
xp的第3列 = X的第3列的3次方
xp的第4列 = X的第3列的4次方
要实现如上的效果

for i=1:p
  X_poly(:, i) = X(:,1).^i;
end
2.5 Cross validation curve 0 / 20

在validationCurve.m 中

for i = 1:length(lambda_vec)
    lambda = lambda_vec(i);
    theta = trainLinearReg(X, y, lambda);
    [J_train, grad_train]=linearRegCostFunction(X, y, theta, 0); 
    [J_cross, grad_cross]=linearRegCostFunction(Xval, yval, theta, 0);
    error_train(i) = J_train;
    error_val(i) = J_cross;
end

3. 总结

1 Regularized linear regression cost function 0 / 25
2 Regularized linear regression gradient 0 / 25
3 Learning curve 0 / 20
4 Polynomial feature mapping 0 / 10
5 Cross validation curve 0 / 20

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值