资源简介
适合在校大学生初步实验使用,将此程序直接粘贴到Matlab的m文件中,便可直接运行,得到结果,本人已在博客中发表“与”运算实验,神经网络网址如https://blog.csdn.net/weixin_41529093/article/details/86713335,建议学有余力的同学不要下载,通过看我的博文,自己编出“异或”运算代码
代码片段和文件信息
function Perception1_4_YiHuoYunSuan()
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 0];
%设置感知器参数
InDim=2; %输入样本维数
OutDim=1; %输出维数
MaxTrainNumber=10;%最大训练次数
Eta=1;%学习率
w1=[]; %创建w1矩阵
w2=[]; %创建w2矩阵
%感知器训练
%权值初始化
W=rand(InDimOutDim);
%设置阈值
T=0.1;
WExpand=[T; W];%合并阈值到权值
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) ‘.‘]);
相关资源
- 3-PRS并联机器人工作空间分析
- 基于Matlab行人检测系统
- AI Superpowers 英文版 mobi
- 斯坦福机器学习编程作业machine-learn
- MATLAB与机器学习
- matlab机器人工具箱使用手册.pdf
- MACHINE_LEARNING_with_NEURAL_NETWORKS_using_MA
- 交替方向乘子法ADMM算法的matlab代码
- 机器学习 : 实用案例解析 mobi格式
- 人工势场法原理及matlab代码.rar
- 带操作界面GUI的字母识别-MATLAB程序
- matlab流形学习算法工具包&matlab机器学
- 机器学习工具包spider工具包
- 基于人工神经网络的汽车牌照识别M
- 人工神经网络原理及仿真书及 matlab源
- MATLAB与机器学习 李三平 陈建平译 译
- matlab版图像矫正源码
- 基于BP神经网络的人脸识别系统_安大
- 机器学习Lasso回归重要论文和Matlab代码
- 基于蒙特卡洛法的模块化机器人工作
- matlab中文手册
- 人工神经网络MATLAB程序代码
- 路径规划MATLAB版代码
- 基于神经网络的人脸识别代码
- RVM-MATLAB-V1.3.zip
- 机器学习高斯混合模型资料总结含m
- 张雪英版数字语音处理及MATLAB仿真课
- 机器人工具箱10.1
- Coursera吴恩达机器学习课程作业资料
- KNN算法训练MNIST和CIFAR数据集
评论
共有 条评论