gpt4 book ai didi

vectorization - 成本函数中的 X*theta 是如何产生的?

转载 作者:行者123 更新时间:2023-12-04 15:35:58 25 4
gpt4 key购买 nike

在线性回归中,有一个成本函数为:

/image/TPOVM.png

Octave中的代码是:

function J = computeCost(X, y, theta)
%COMPUTECOST Compute cost for linear regression
% J = COMPUTECOST(X, y, theta) computes the cost of using theta as the
% parameter for linear regression to fit the data points in X and y

% Initialize some useful values
m = length(y); % number of training examples

% You need to return the following variables correctly
J = 0;

% ====================== YOUR CODE HERE ======================
% Instructions: Compute the cost of a particular choice of theta
% You should set J to the cost.

H = X*theta;
S = (H - y).^2;
J = 1 / (2*m) * sum(S);

% =========================================================================

end

谁能告诉我为什么 sigma(h0(x(i))) 等于矢量化 X*theta?

谢谢

最佳答案

Could someone tell me why sigma(h0(x(i))) is equal to a vectorization X*theta?

事实并非如此。此代码中的任何一点都不会单独计算 sigma(h(x_i))。变量 H 不等于该值,但它是一个存储值的(列)向量

 `h(x_i)=dot_product(x_i,theta)` 

对于所有示例。

您在 Latex 中给出的公式只是说它希望我们对所有示例的 ((h(x_i)-y_i))^2 求和。您要避免的是以顺序方式为所有这些示例计算 h(x_i),因为这会很耗时。根据 h(x) 的定义,您知道

#I've written a more general case, and the case `n==1` will correspond to your Latex formula)
h(x_i)=[1 x_i1 ... x_in]*[theta_0 theta_1 ... theta_n]'

矩阵 X 的大小为 m*n,其中 m 是示例数。所以向量的每一行

H=X*theta #H is a vector of size m*1

将对应于单个h(x_i)

知道这个,就可以看到那个

S=(H-y).^2 #S is a vector of size m*1

是一个向量,每个元素都是 (h(x_i)-y_i)^2 之一。因此,您只需用 sum(S) 对所有这些求和,即可从您的 Latex 公式中获取 sigma 的值。

关于vectorization - 成本函数中的 X*theta 是如何产生的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59728936/

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