Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 带向量化的正则logistic回归_Matlab_Vectorization_Logistic Regression - Fatal编程技术网

Matlab 带向量化的正则logistic回归

Matlab 带向量化的正则logistic回归,matlab,vectorization,logistic-regression,Matlab,Vectorization,Logistic Regression,我正在尝试实现正则逻辑回归的向量化版本。我发现这解释了正规化的版本,但我不明白 为方便起见,我将复制以下代码: hx=sigmoid(X*theta); m=长度(X); J=(和(-y'*log(hx)-(1-y'*log(1-hx))/m)+λ*sum(θ(2:end)。^2)/(2*m); 梯度=((hx-y)'*X/m')+lambda.*theta.[0;个数(长度(theta)-1,1)]/m; 我理解成本等式的第一部分,如果我是正确的,可以表示为: J=(-y'*log(hx))

我正在尝试实现正则逻辑回归的向量化版本。我发现这解释了正规化的版本,但我不明白

为方便起见,我将复制以下代码:

hx=sigmoid(X*theta);
m=长度(X);
J=(和(-y'*log(hx)-(1-y'*log(1-hx))/m)+λ*sum(θ(2:end)。^2)/(2*m);
梯度=((hx-y)'*X/m')+lambda.*theta.[0;个数(长度(theta)-1,1)]/m;
我理解成本等式的第一部分,如果我是正确的,可以表示为:

J=(-y'*log(hx))-((1-y)*log(1-hx))/m;
问题是正则化项。让我们来了解更多细节:

尺寸:

X=(mx(n+1))
θ=((n+1)x1)
我不明白为什么他让第一项θ(
theta_0
)在方程之外,而理论上正则化项是:

它必须考虑所有的θ

对于梯度下降,我认为这个方程是等价的:

L=眼睛(长度(θ));
L(1,1)=0;
梯度=(1/m*X'*(hx-y)+(λ*(L*θ)/m)。
我也是新来的

Matlab
中,索引从1开始,在数学中,索引从0开始(您提到的公式上的索引也从0开始)

所以,理论上,θ的第一项也需要在方程之外


至于你的第二个问题,你说得对!这是一个相当干净的等式!

嗨,欢迎来到Stack Overflow!如果我正确理解了你的问题,你会想要一个关于答案的解释,对吗?如果你达到50个声望点,你可以在作者的帖子上加上。你很难理解为什么
theta\u 0
术语是分开处理的,不是吗?嗨,谢谢!是的,你是对的,我不知道为什么它会让它在外面…但我也探索了在matlab中实现代码(我提出的代码不起作用…@Adriaan不管它值多少钱,我在原始帖子下留下了一条评论,让回答者知道这个问题。希望他们能看到它并做出回应。