欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Neural Networks part 1

程序员文章站 2022-07-14 22:30:12
...

吴恩达老师的机器学习真的是非常好的入门课程,这次我想写写做神经网络feedforward propagation algorithm时遇到的小bug:

Neural Networks part 1
这是一个非常简单的神经网络,用来进行手写数字的识别,开始我的预测函数其中计算部分是这样的:

bias=1;     %偏置

%第1,2,3层
a{1}=[bias*ones(m,1),X];  
a{2}=a{1}*Theta1';
a{3}=[bias*ones(m,1),a{2}]*Theta2';

%输出
[~,p]=max(a{3}, [], 2);

然后发现错误率居然达到了40%,我真的摸不到头脑,然后看别人的代码才发现我没有加**函数,或者说我的sigmoid是y=x; 下面是我改正之后:

bias=1;     %偏置

%第1,2,3层
a{1}=[bias*ones(m,1),X];  
a{2}=sigmoid(a{1}*Theta1');
a{3}=sigmoid([bias*ones(m,1),a{2}]*Theta2');

%输出
[~,p]=max(a{3}, [], 2);

这次debug感觉还不错。