编写输入为 (X * theta) 的 sigmoid 函数
Writing sigmoid function with input as (X * theta)
在机器学习课程中,我无法可视化下面的输入。
我们在逻辑回归中有以下等式:
我们可以在sigmoid.m
中用八度写如下:
g = (1 ./ ( 1 + e.^(-z)));
现在,要计算 costFUnction.m
,我们得到的概率为:
h = sigmoid(X*theta);
从上图看,应该不是:
h = sigmoid(theta'*X);
我在这里错过了什么。我是 ML 的新手,如果我在这里遗漏了什么,请原谅我。
如果你参考the material shared here,你会看到
而我们想要从 h(x)
得到的是:
形象化:
X = [ 1 x1 ; 1 x2 ; 1 x3;]
theta = [ t0 t1;]
X * theta
% will give [ t0+(x1*t1) ; t0+(x2*t1) ; t0+(x3*t1) ; ]
其中,上述矩阵的每一行代表不同的假设。
最重要的是理解每个向量的含义。他们在大多数课程中谈论
h = theta'* x
但这里他们使用列向量,因此 h 是一个训练示例的标量。
矢量化符号告诉你
h = X * theta
其中 X 是所有训练示例的矩阵,其中每个示例都是一行,特征是列。所以 m x n 有 m 个训练示例和 n 个特征。您希望 h 为每个训练示例提供一个输出,因此您需要一个 m x 1 矩阵。您知道 theta 将是一个 n x 1 矩阵,因为它是每个特征的 theta,并且您有 1 个模型。如果你执行我在顶部写下的第二个公式,你将得到一个首选的 h m x 1 矩阵。
在机器学习课程中,我无法可视化下面的输入。
我们在逻辑回归中有以下等式:
我们可以在sigmoid.m
中用八度写如下:
g = (1 ./ ( 1 + e.^(-z)));
现在,要计算 costFUnction.m
,我们得到的概率为:
h = sigmoid(X*theta);
从上图看,应该不是:
h = sigmoid(theta'*X);
我在这里错过了什么。我是 ML 的新手,如果我在这里遗漏了什么,请原谅我。
如果你参考the material shared here,你会看到
而我们想要从 h(x)
得到的是:
形象化:
X = [ 1 x1 ; 1 x2 ; 1 x3;]
theta = [ t0 t1;]
X * theta
% will give [ t0+(x1*t1) ; t0+(x2*t1) ; t0+(x3*t1) ; ]
其中,上述矩阵的每一行代表不同的假设。
最重要的是理解每个向量的含义。他们在大多数课程中谈论
h = theta'* x
但这里他们使用列向量,因此 h 是一个训练示例的标量。 矢量化符号告诉你
h = X * theta
其中 X 是所有训练示例的矩阵,其中每个示例都是一行,特征是列。所以 m x n 有 m 个训练示例和 n 个特征。您希望 h 为每个训练示例提供一个输出,因此您需要一个 m x 1 矩阵。您知道 theta 将是一个 n x 1 矩阵,因为它是每个特征的 theta,并且您有 1 个模型。如果你执行我在顶部写下的第二个公式,你将得到一个首选的 h m x 1 矩阵。