资源简介
适合在校大学生初步实验使用,将此程序直接粘贴到Matlab的m文件中,便可直接运行,得到结果,本人已在博客中发表“与”运算实验,神经网络网址如下https://blog.csdn.net/weixin_41529093/article/details/86713335建议学有余力的同学不要下载,通过看我的博文,自己编出“或”运算代码,
代码片段和文件信息
function Perception1_3_HuoYunSuan()
close all %关闭所有figure
rand(‘state‘sum(100*clock)) %随机数种子用时钟进行初始化
P=4;%训练样本数
%输入训练样本:
X(:1)=[0;0];
X(:2)=[0;1];
X(:3)=[1;0];
X(:4)=[1;1];
X=[-1*ones(14); X];%考虑阈值,设x0=-1
%输入对应期望输出:
d=[0 1 1 1];
%设置感知器参数
InDim=2; %输入样本维数
OutDim=1; %输出维数
MaxTrainNumber=10;%最大训练次数
Eta=10;%学习率
%感知器训练
%权值初始化
W=rand(InDimOutDim);
%设置阈值
T=0.1;
WExpand=[T; W];%合并阈值到权值
w1=[]; %创建w1矩阵
w2=[]; %创建w2矩阵
ErrHistory=[];
for i=1:MaxTrainNumber %循环MaxTrainNumber次
for p=1:P
net(p)=WExpand‘*X(:p);%计算样本p的net值
o(p)=SinPoleTwoValue_f(net(p));%调用编辑好的变换函数,得到输出值
Err(p)=o(p)-d(p);%计算误差
WExpand=WExpand+Eta*(d(p)-o(p))*X(:p);%根据误差更新权值
end
%计算总误差
Err_sum=sum(abs(Err));
%写出权值w1w2的一维矩阵复合
w1=[w1 WExpand(2)];
w2=[w2 WExpand(3)];
%记录每次权值调整后的训练误差
ErrHistory=[ErrHistory Err_sum];
if Err_sum==0 break end %判断训练是否停止
end
W=WExpand(2:3);
T=WExpand(1);
disp([‘The final Error is: ‘num2str(Err_sum) ‘.‘]);
disp([‘The curren Epoch is: ‘num2str(i) ‘.‘]);
- 上一篇:Multisim课设 电子密码锁
- 下一篇:matlab求解遗传算法的源代码
相关资源
- matlab开发-Edmondsalgorithm
- 人工神经网络的matlab实现
- Matlab人工鱼群原创程序
- 机器学习-线性回归matlab代码已检验正
- matlab 人工鱼群求解TSP
- 梯度下降算法matlab的实现
- 人工蜂群算法 matlab代码
- 机器学习——逻辑回归logistic实现二分
- 用MATLAB编写的贝叶斯算法程序.m
- matlab_人眼疲劳监测.rar
- SVM_RFE循环递归筛选特征
- 缩减视野和步长的人工鱼群算法
- ID3决策树-MATLAB程序
- 人工神经网络Hopfield算法解决TSP最佳路
- 基于人工神经网络BP算法的倒立摆控制
- 贝叶斯方法matlab画图GUI界面
- k近邻-机器学习算法
- 基于Gabor小波变换和人工神经网络的人
- 人工免疫算法程序-故障检测matlab
- 人工免疫matlab工具箱
- 串联机器人工作空间
- 人工鱼群算法matlab代码203035
- 人工势场法避障三维
- 基于人工神经网络的信号预测在Matl
- [MATLAB+R2017a人工智能算法][张德丰][程
- 基于matlab的人工蜂群算法
- 人工势场法路径规划192071
- 最终改进版的matlab程序,改正角度和
- 神金网络,对于temprtrom算法
- matlab实现人工鱼群算法测试函数
评论
共有 条评论