ML coursera提交(第2周)特征规范化

问题描述 投票:-2回答:3

我已经为特征规范化编写了以下代码:这里X是特征矩阵(m * n),其中m =例子数量n =特征数量

mu = mean(X);
sigma = std(X);

m = size(X,1);

% Subtracting the mean from each row 
for i = 1:m
    X_norm(i,:) = X(i,:)-mu;
end;

% Dividing the STD from each row 
for i = 1:m
    X_norm(i,:) = X(i,:)./sigma;
end;

但是在将它提交给为Andrew Ng的课程构建的服务器时,如果它是错误或正确的,它不会给我任何确认。

==
==                                   Part Name |     Score | Feedback
==                                   --------- |     ----- | --------
==                            Warm-up Exercise |  10 /  10 | Nice work!
==           Computing Cost (for One Variable) |  40 /  40 | Nice work!
==         Gradient Descent (for One Variable) |  50 /  50 | Nice work!
==                       Feature Normalization |   0 /   0 |
==     Computing Cost (for Multiple Variables) |   0 /   0 |
==   Gradient Descent (for Multiple Variables) |   0 /   0 |
==                            Normal Equations |   0 /   0 |
==                                   --------------------------------
==                                             | 100 / 100 |

注意:对不起如果我违反了课程代码,不知道怎么办。

machine-learning submit normalization
3个回答
0
投票

当submit()没有给你任何积分时,这意味着你的答案是不正确的。这通常意味着,您尚未实现它,或者您的实现中存在错误。

从我所看到的,你的指数是不正确的。但是,为了不违反本课程的行为准则,您应该在Coursera论坛中提出您的问题(不发布您的代码)。

每个编程练习都有教程。这些通常非常有用,并指导您完成整个练习。


0
投票

您需要迭代EACH功能

m = size(X,1);

你实际上用m获得的是ROWS(例子)的数量,但是你想得到COLUMNS的数量(特征)

解:

m = size(X,2);

0
投票

试试这个它起作用,并注意到你在划分每行X而不减去平均值时犯了错误。

将两者结合起来并使用更少的代码 -

% Subtracting the mean and Dividing the STD from each row. for i = 1:m X_norm(i,:) = (X(i,:) - mu) ./ sigma; end;

© www.soinside.com 2019 - 2024. All rights reserved.