吴恩达机器学习总结:第六课 神经网络-学习(大纲摘要及课后作业)

为了更好的学习,充分复习自己学习的知识,总结课内重要知识点,每次完成作业后

都会更博。

英文非官方笔记

总结

1.神经网络代价函数


2.后向算法(被用来最小化代价函数)

    (1)误差

        a. 第四层输出误差表示为δj= ajyj   δ= ay

       

        b.因为g'(z3) = a. * (1 - a3),所以δ= (Ɵ3)δ. *(a. * (1 - a3))

        c. ajδi(l+1) 

         d.



3.反向传播视觉化

    (1)前向传播




    (2)后向传播



作业

1.载入和可视化数据

clear ; close all; clc
input_layer_size  = 400;  % 20x20 输入像素点
hidden_layer_size = 25;   % 25 个隐藏单元
num_labels = 10;   
load('ex3data1.mat');
m = size(X, 1);
sel = randperm(size(X, 1));
sel = sel(1:100);
displayData(X(sel, :));

2.载入参数

load('ex3weights.mat');

3.实施预测

pred = predict(Theta1, Theta2, X);
rp = randperm(m);
for i = 1:m
    displayData(X(rp(i), :));% 可视化
    pred = predict(Theta1, Theta2, X(rp(i),:));
    s = input('Paused - press enter to continue, q to exit:','s');
    if s == 'q'
      break
    end
end

%预测函数
m = size(X, 1);
num_labels = size(Theta2, 1);
p = zeros(size(X, 1), 1);
X =[ones(m,1),X];
a2 = sigmoid(X* Theta1');
a2 = [ones(m,1),a2];
a3 = sigmoid(a2 *Theta2');
[aa,p] = max(a3,[],2);
end
展开阅读全文

没有更多推荐了,返回首页