This commit is contained in:
2017-05-28 06:51:50 +09:00
parent c3211f4b66
commit de9c69bae6
5 changed files with 32 additions and 15 deletions

View File

@@ -36,10 +36,11 @@ grad = zeros(size(theta));
% grad = grad + YOUR_CODE_HERE (using the temp variable)
%
hx = sigmoid(X*theta);
%J = sum(-y.*log(hx)-(1.-y).*log(1.-hx))/m + lambda*sum([0; theta(2:end)].^2)/(2*m);
J = (-y'*log(hx)-(1.-y)'*log(1.-hx))/m + lambda*sum([0; theta(2:end)].^2)/(2*m);
grad = X'*(hx-y)/m + lambda*[0; theta(2:end)]/m;

View File

@@ -49,13 +49,13 @@ X = [ones(m, 1) X];
% initial_theta, options);
%
for c=1:num_labels
initial_theta = zeros(n + 1, 1);
options = optimset('GradObj', 'on', 'MaxIter', 50);
[theta] = fmincg (@(t)(lrCostFunction(t, X, (y == c), lambda)), initial_theta, options);
all_theta(c,:) = theta';

View File

@@ -21,11 +21,13 @@ p = zeros(size(X, 1), 1);
% can use max(A, [], 2) to obtain the max for each row.
%
X = [ones(m, 1), X];
a2 = sigmoid(X*Theta1');
a2 = [ones(m, 1), a2];
a3 = sigmoid(a2*Theta2');
[val, idx] = max(a3, [], 2);
p = idx;

View File

@@ -30,9 +30,8 @@ X = [ones(m, 1) X];
% for each row.
%
[val, idx] = max(X*all_theta', [], 2);
p = idx;

15
ex3/token.mat Normal file
View File

@@ -0,0 +1,15 @@
# Created by Octave 4.2.1, Thu May 11 16:43:37 2017 GMT <unknown@unknown>
# name: email
# type: sq_string
# elements: 1
# length: 16
mjjo53@gmail.com
# name: token
# type: sq_string
# elements: 1
# length: 16
77Tay6oLh6AIePHt