是什么(Theta2(:, 2:end).^2, 2)
意思?
p = sum(sum(Theta1(:, 2:end).^2, 2))+sum(sum(Theta2(:, 2:end).^2, 2));
是什么(Theta2(:, 2:end).^2, 2)
意思?
p = sum(sum(Theta1(:, 2:end).^2, 2))+sum(sum(Theta2(:, 2:end).^2, 2));
假设我们有一个大小为 (3,3) 的矩阵 theta2,我们想要计算您给出的上述表达式,即 sum(sum(Theta2(:, 2:end).^2, 2))。首先让我们打破表达式:
2.sum(theta2(:,2:end).^2,2) --> 将平方列相加。
3.sum(sum(theta2(:,2:end).^2,2)) --> 现在,将第二步获得的总和得出的总和相加。
让我们从最里面的括号开始。首先,Theta1(:, 2:end).^2
维护Theta1
除第一个之外的所有列,然后将其平方。用 表示结果mem1
。然后,sum(mem1,2)
计算列总和,其输出是所有列的总和,mem1
因此是列本身。(sum(mem1,1)
或sum(mem1)
计算行总和)。然后sum(sum(mem1,2))
计算元素的总和sum(mem1,2)
,最终得出Theta1
平方的所有元素的总和。对于Theta2
.
PS你可以简单地使用p = sum(sum(Theta1(:, 2:end).^2+Theta2(:, 2:end).^2));
,因为结果是一样的