《神经网络与深度学习》~人工神经网络+单层(Perceptron)感知器原理及matlab实现

版权声明:本文为博主原创文章,未经允许,不得转载!欢迎留言附带链接转载! https://blog.csdn.net/qq_15698613/article/details/86567281

目录

 

人工神经网络-->>神经元

人工神经网络(ANN)

神经元仿生:单层感知器

 性能评估函数:

 MATLAB实际操作实例


人工神经网络-->>神经元

人工神经网络(ANN)

  • 是迄今为止几乎最为成功的仿生学数学模型,是机器学习领域的热点,符合智能化机器的时代潮流
  • 有统一的模型框架,很多算法问题可以归为神经网络系统学习问题加以解决(SVM支持向量机)
  • 容易硬件化、元器件化、高集成化、并行化,性能优异
  • 神经网络设计具有较高技巧,同事是一个灰箱系统,容易掩盖某些背景细节
  • 但是容易产生过度拟合

神经元仿生:单层感知器

单层感知器局限:

  • 无泛化能力
  • 结构简单,激活函数只能是符号函数
  • 只能对线性可分问题收敛,非线性不能处理
  • 如果存在离群点,则需要花费较多的时间 

 单层感知器不需要有样本概率分布的前提假设

单层感知器不用换很复杂的激活函数,因为单层感知器是用来线性分类问题,对非线性问题较难解决。

 性能评估函数:

  • MAE,平均绝对误差(误差的绝对值的平均值)
  • MSE,均方误差(误差平方的平均值)
  • SSE,误差平方和

 MATLAB实际操作实例

%% 单程感知器
%一共8组数据,每组数据是3个输入(x1,x2,x3),形成8行3列
P=[1,1,1,1,0,0,0,0;0,0,1,1,0,1,1,0;0,1,0,1,1,0,1,0];
%目标结果,也就是Y的值,8个值
T=[-1,1,1,1,-1,-1,1,-1];
%代表x1,x2,x3都在0~1之间
p=[0,1;0,1;0,1];
%输出只有一个
t=1;
%形成神经网络
net=newp(p,t,'hardlims')
%训练这个单层感知机模型(网络,输入,输出)
net=train(net,P,T)

%% 这个是模拟数据,预期结果是1
newP=[0,1,1];
newI=sim(net,newP)

 运行结果:

当然也可以直接使用工具箱nntool

猜你喜欢

转载自blog.csdn.net/qq_15698613/article/details/86567281