参数自适应的单层 bp 神经网络
2015-04-06 20:14
423 查看
% R^m->R^1
%
sigmoid=@(x,a,b)b./(1+exp(-a*x)); % activation function
% input : X,T
x1=linspace(-1,1,5);x2=x1;
[x2,x1]=meshgrid(x2,x1);
X=[x1(:).';x2(:).'];
T=sigmoid(3*X(1,:)+2*X(2,:)-1,3,1);
% or X=[[1;1],[1;0],[0;1],[0;0]];T=[1,0,0,0];
% set the options
tol=0.001;
lr=0.1; % learning rate
% alpha=0.2;
[m,N]=size(X);
W=rand(1,m);theta=rand(1);
b=1;a=1;
Y=sigmoid(W*X-repmat(theta,1,N),a,b);
E=T-Y;
k=0;
%DW0=zeros(1,m);DT0=0;
%Da0=0;Db0=0;
while(norm(E)>tol&&k<10000)
% lr=0.01/(1+k/500);
DW=lr*a/b*((T-Y).*Y.*(b-Y))*X.'; DT=lr*a/b*sum((T-Y).*Y.*(b-Y),2);
Db=lr*sum((T-Y).*Y,2)/b;
Da=lr*sum((T-Y).*Y.*(b-Y).*(W*X),2)/b;
W=W+DW;
theta=theta-DT;
a=a+Da; b=b+Db;
Y=sigmoid(W*X-repmat(theta,1,N),a,b);
E=T-Y;
k=k+1;
end
x1=linspace(-1,1,20);x2=x1;
[x2,x1]=meshgrid(x2,x1);
y=sigmoid(W(1)*x1+W(2)*x2-theta,a,b);
mesh(x1,x2,y);hold on;
plot3(X(1,:),X(2,:),T,'ro');
xlabel('x_1');ylabel('x_2');title('Y/T');
%
sigmoid=@(x,a,b)b./(1+exp(-a*x)); % activation function
% input : X,T
x1=linspace(-1,1,5);x2=x1;
[x2,x1]=meshgrid(x2,x1);
X=[x1(:).';x2(:).'];
T=sigmoid(3*X(1,:)+2*X(2,:)-1,3,1);
% or X=[[1;1],[1;0],[0;1],[0;0]];T=[1,0,0,0];
% set the options
tol=0.001;
lr=0.1; % learning rate
% alpha=0.2;
[m,N]=size(X);
W=rand(1,m);theta=rand(1);
b=1;a=1;
Y=sigmoid(W*X-repmat(theta,1,N),a,b);
E=T-Y;
k=0;
%DW0=zeros(1,m);DT0=0;
%Da0=0;Db0=0;
while(norm(E)>tol&&k<10000)
% lr=0.01/(1+k/500);
DW=lr*a/b*((T-Y).*Y.*(b-Y))*X.'; DT=lr*a/b*sum((T-Y).*Y.*(b-Y),2);
Db=lr*sum((T-Y).*Y,2)/b;
Da=lr*sum((T-Y).*Y.*(b-Y).*(W*X),2)/b;
W=W+DW;
theta=theta-DT;
a=a+Da; b=b+Db;
Y=sigmoid(W*X-repmat(theta,1,N),a,b);
E=T-Y;
k=k+1;
end
x1=linspace(-1,1,20);x2=x1;
[x2,x1]=meshgrid(x2,x1);
y=sigmoid(W(1)*x1+W(2)*x2-theta,a,b);
mesh(x1,x2,y);hold on;
plot3(X(1,:),X(2,:),T,'ro');
xlabel('x_1');ylabel('x_2');title('Y/T');
相关文章推荐
- 调整参数对bp网络的影响
- 神经网络基本介绍(三):前馈网络(上)M-P model 和单层感知机
- BP~前馈行神经网络
- 神经网络结构参数
- 【神经网络学习笔记】LIBSVM参数讲解
- 人工神经网络入门(1) —— 单层人工神经网络应用示例
- 神经网络BP的简单实现
- ANN 人工神经前馈网络BP实现
- 人工神经网络学习笔记_各个参数的确定
- BP 神经网络的 MATLAB 实现步骤
- 神经网络的基本知识(五):前向网络:BP网络
- 神经网络学习笔记_1(BP网络分类双螺旋线)
- 神经网络各个网络参数设定原则
- 反向传播BP模型(属于神经网络)
- 机器学习_算法_神经网络_BP
- bp网络参数说明
- 初探神经网络:QT下建立BP网络模型
- [转]神经网络BP
- 简洁的BP及RBF神经网络代码
- BP 神经网络 定位算法实现过程总结