在机器学习课程中,我无法看到下面的输入。
我们在Logistic回归中具有以下等式:
我们可以在sigmoid.m
中以八度形式编写它:
g = (1 ./ ( 1 + e.^(-z)));
现在,要计算costFUnction.m
,我们得到的概率为:
h = sigmoid(X*theta);
从上面的图片来看,应该不是:
h = sigmoid(theta'*X);
我在这里想念什么。我是ML的新手,如果我在这里缺少任何东西,请原谅我。
答案 0 :(得分:2)
最重要的是了解每个向量的含义。他们在大多数课程中都在谈论
h = theta'* x
但是这里他们使用列向量,因此h是一个训练示例的标量。 向量化符号会告诉您
h = X * theta
其中X是所有训练示例的矩阵,其中每个示例都是一行,要素是列。因此,m x n具有m个训练示例和n个特征。您希望h给出每个训练示例的输出,因此您需要m x 1矩阵。您知道theta将是n x 1矩阵,因为它是每个要素的theta,并且您有1个模型。如果您执行我在顶部写下的第二个公式,则将得到m x 1的矩阵,这是首选。
答案 1 :(得分:1)
如果您引用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) ; ]
其中上述矩阵的每一行代表独立的假设。