gpt4 book ai didi

matlab - 在 Matlab 中使用 L2 正则化实现逻辑回归

转载 作者:太空宇宙 更新时间:2023-11-03 20:05:19 25 4
gpt4 key购买 nike

Matlab 已使用 mnrfit 内置逻辑回归,但我需要使用 L2 正则化实现逻辑回归。我完全不知道如何进行。我找到了一些很好的论文和网站引用资料,其中包含一堆方程式,但不确定如何实现优化所需的梯度下降算法。

在 Matlab 中是否有一个容易获得的示例代码。我找到了一些库和包,但它们都是较大包的一部分,并且调用了很多复杂的函数,只要通过跟踪就可能会迷路。

最佳答案

这是用于逻辑回归的普通梯度下降的一段带注释的代码。要引入正则化,您需要更新成本和梯度方程。在这段代码中,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

关于matlab - 在 Matlab 中使用 L2 正则化实现逻辑回归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9369379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com