这两个成本函数是否等效于八度音程?

问题描述 投票:1回答:1
one = sum((X*theta) - y) .^2)/(2*m);
two = ((X'*theta - y)*(X*theta - y) ) / 2*m;

% where X' == X transpose, so I can do matrix multiplication.

“一”用于(成功)用于线性回归的单变量成本函数。 “一个”似乎也可用于计算多元线性回归问题的成本。

“两个”是在非常流行的机器学习课程中建议用于多变量方法的公式:)

它们是相同的方法,或者“一个”只是在多变量转换集上的每次机会工作。

machine-learning octave gradient-descent non-linear-regression
1个回答
3
投票

第二个公式对我来说不正确。

演示:

>> theta = [2;3];
>> X = [1 2; 3 4; 5 6; 7 8];
>> y = [7;8;9;10];
>> m = length(y);
>> ((X'*theta - y)*(X*theta - y) ) / 2*m
error: operator *: nonconformant arguments (op1 is 2x4, op2 is 2x1)

如果我们修复缺少括号的问题,第一个公式似乎是正确的:

>> sum(((X*theta) - y) .^2)/(2*m)
ans =  155.75

替代矢量化公式:

>> (X * theta - y)' * (X * theta - y) / (2*m)
ans =  155.75
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.