关闭

week5 Neural Network Learning

标签: machine learningAndrew Ng2013年秋Programming Exercise
373人阅读 评论(0) 收藏 举报
分类:

以下代码运行通过,仅供参考学习,请勿直接复制使用,对自己负责。

如发现问题,欢迎指正。

nnCostFunction.m
%Part1:
a1 = [ones(m, 1) X];
z2 = a1*Theta1';
a2 = sigmoid(z2);

a2 = [ones(m, 1) a2];
z3 = a2*Theta2';
a3 = sigmoid(z3);

for c= 1:num_labels
J = J+lrCostFunction(Theta2(c,:)', a2 (y==c), lambda);
end

temp1 = Theta1;
temp(:, 1) = 0;
temp2 = Theta2;
temp2(:, 1) = 0;
J = J+lambda/(2*m)*(sum(sum(temp1.^2)) + sum(sum(temp2.^2)));

%Part2:
yk = zeros(m, num_labels);
for c = 1:num_labels
    yk(:, c)=(y==c);
end
delta_3 = a3-yk;
delta_2 = delta_3*Theta2.*a2.*(1-a2);
DELTA_2 = delta_3'*a2;
DELTA_1 = delta_2(:, 2:end)'*a1;

Theta1_grad = DELTA_1/m + lambda/m*temp1;
Theta2_grad = DELTA_2/m + lambda/m*temp2;


sigmoidGradient.m
g = sigmoid(z).*(1-sigmoid(z));


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:31244次
    • 积分:501
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:0篇
    • 译文:12篇
    • 评论:5条
    最新评论