**
MATLAB神经网络43个案例分析
**
第一章:BP神经网络的数据分类
相关资料详情可看
代码以及数据
合理的分节
%%+空格+注释:可以将代码进行分节处理,增强代码的可读性
赋值语句带分号与不带分号的区别:
不带分号会默认输出,带分号则不会直接输出
load的用法:
load data1 c1 %加载data1中的变量c1;
详细情况见load的用法
sort的用法
详见sort用法
[B,ind] = sort(A)
对A进行排序,B为排序后的向量,ind是每一项对应于A中项的索引,索引默认按升序排列。
rand的用法
rand(m,n)生成m行n列均匀分布在0-1之间的伪随机数
randn(m,n)生成m行n列均匀分布在标准正态分布之间的伪随机数
rands(m,n)生成m行n列均匀分布在-1-1之间的伪随机数
randi(m,n)生成m行n列均匀分布的伪随机数
find的用法
find(A=B)
返回判断成立的位置
详见
变变化率学习算法:
随着学习过程的进行,学习率不断减小
xite(t) = xitemax - t*(xitemax - xitemin) / tmax
xite 是学习率,xitemax是最大学习率,xitemin是最小的学习率,t是当前的训练数据所在的循环值,tmax 是最大的循环值。
实现方法:
xite_list = rand(1,1500);
xitemax = max(xite_list);xitemin = min(xite_list);
xite_value = zeros(1,1500);%一定要在循环之外进行初始化
、、省略
for i = 1:1:1500
%学习率变化
xite = xitemax - i*(xitemax - xitemin) / 1500;
xite_value(i) = xite;%将xite的值进行记录,便于查看
%画出xite的降低图像
figure(3)
plot(xite_value)
其他边学习率的方法