机器学习5 正则化逻辑回归 和高偏差 高方差

该博客介绍了正则化逻辑回归的损失函数和梯度,展示了如何训练线性回归方程并分析高偏差问题。通过特征映射和多项式回归,探讨了过拟合现象,并通过学习曲线选择合适的λ值以平衡高偏差和高方差。
摘要由CSDN通过智能技术生成

part 1 数据导入以及可视化

fprintf("Loading and Visualizing Data....\n");
load('ex5data1.mat');
m=size(X,1);
plot(X,y,'rx','Markersize',10,'LineWidth',1.5);
xlabel("Change in Water level(x)");
ylabel("Water flowing out of the dam (y)");

part2 正则化逻辑回归损失函数

#对于2维向量,初始化的theta是和特征维数一样的
theta=[1;1];
J=linearRegCostFunction([one(m,1) X],y, theta,1);

定义函数linearRegCostFunction

逻辑回归函数正则化的函数公式定义如下:

J(\Theta )=\frac{1}{2}(\sum_{i=1}^{m} (h_{\theta }x^{(i)}-y^{^{(i)}})^{2})+\frac{\lambda }{2m}(\sum_{j=1}^{n}\theta _{j}^{2})

grad=\frac{1}{m}\sum_{i=1}^{m}(h_{\theta }(x^{(i)}-y^{(i)})*x_{j}^{(i)})+\frac{\lambda }{m}\theta _{j}

其中\lambda是正则化参数,帮助防止过拟合,正则化就是给损失函数一个惩罚;

function [J,grad]=linearRegCostFunction(X,Y,theta,lambda)
m=length(y);   #number of training examples
J=0;
grad=zeros[size(theta)]

theta_1=[0;theta(2:end)];
J=sum((X*theta-y).^2)/2*m+lambda/(2*m)*theta_1'*theta_1;
grad=(X'*(X*theta-y))/m+lamda/m*theta_1; 
end

part3 线性回归正则化梯度

求出当前梯度的值大小

theata=[1;1]

[J,gra

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值