是什么(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));,因为结果是一样的