matlab mnrfit,在Matlab中实现L2正则化的逻辑回归

这是用于逻辑回归的简单梯度下降的带注释的代码片段.要引入正则化,您需要更新成本和梯度方程.在此代码中,theta是参数,X是类预测变量,y是类标签,alpha是学习率

我希望这有帮助 :)

function [theta,J_store] = logistic_gradientDescent(theta, X, y,alpha,numIterations)

% Initialize some useful values

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

n = size(X,2); %number of features

J_store = 0;

%J_store = zeros(numIterations,1);

for iter=1:numIterations

%predicts the class labels using the current weights (theta)

Z = X*theta;

h = sigmoid(Z);

%This is the normal cost function equation

J = (1/m).*sum(-y.*log(h) - (1-y).*log(1-h));

%J_store(iter) = J;

%This is the equation to obtain the given the current weights, without regularisation

grad = [(1/m) .* sum(repmat((h - y),1,n).*X)]';

theta = theta - alpha.*grad;

end

end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值