学习内容:了解人工神经网络的定义、历史和分类,学习细胞神经网络的基本结构,翻译文章《Cellular Neural Networks: Theory》中的section1和section2并通过MATLAB绘制文章中的Fig5。
笔记:
- 什么是人工神经网络?
人工神经网络(Artificial Neural Networks,简写成ANNs),是对人脑或自然神经网络若干基本特性的抽象和模拟。人工神经网络基于一组称为人工神经元的连接单元或节点,它们对生物大脑中的神经元进行松散建模。每个连接,就像生物大脑中的突触一样,可以向其他神经元传输信号。人工神经元接收信号然后对其进行处理,并可以向与其相连的神经元发送信号。连接处的“信号”是一个实数,每个神经元的输出由其输入和的某个非线性函数计算。连接称为边。神经元和边缘通常具有权重随着学习的进行而调整。权重增加或减少连接处的信号强度。神经元可能有一个阈值,这样只有当聚合信号超过该阈值时才会发送信号。通常,神经元聚合成层。不同的层可以对其输入执行不同的转换。信号从xxx层(输入层)传输到最后一层(输出层),可能在多次遍历层之后。
- 人工神经网络的历史和分类
- 历史:
(1)1943年数理逻辑学家Pitts和McCulloch建立的MP模型。MP模型只是以单个神经元的形式化数学描述,具有执行逻辑运算的功能。开创了人工神经网络的时代。
(2)1949年Hebb提出了神经网络学习的思想。
(3)1958年Rosenblatt提出了感知器模型及其学习算法。
(4)20世纪70年代出现了衰退期,因为单层感知器不能解决异或问题。
(5)20世纪80年代迎来了复苏。1982年出现了hopfiled 1983年出现了退火算法。1986年出现了BP算法。
(6)20世纪90年代出现了SVM
(7)2006年深度学习的理念正式被提出。
(8)2016年AlphaGo的出现把深度学习推向了一个新的高度。
2.分类:
(1)BP(Back Propagation)神经网络
这是一种应用较广泛的前馈式网络,属于有监督分类算法,它将先验知识融于网络学习之中,加以最大限度地利用,适应性好,在类别数少的情况下能够得到相当高的精度,但是其网络的学习主要采用误差修正算法,识别对象种类多时,随着网络规模的扩大,需要的计算过程较长,收敛缓慢而不稳定,且识别精度难以达到要求。
- Hopfield神经网络
属于反馈式网络。主要采用Hebb规则进行学习,一般情况下计算的收敛速度较快。这种网络是美国物理学家J.J.Hopfield于1982年首先提出的,它主要用于模拟生物神经网络的记忆机理。Hopfield神经网络状态的演变过程是一个非线性动力学系统,可以用一组非线性差分方程来描述。系统的稳定性可用所谓的“能量函数”进行分析,在满足一定条件下,某种“能量函数”的能量在网络运行过程中不断地减少,最后趋于稳定的平衡状态。Hopfield网络的演变过程是一种计算联想记忆或求解优化问题的过程。
- Kohonen网络
也叫自组织竞争型神经网络。这是一种由芬兰赫尔辛基大学神经网络专家Kohonen(1981)提出的自组织神经网络,其采用了无导师信息的学习算法,这种学习算法仅根据输入数据的属性而调整权值,进而完成向环境学习、自动分类和聚类等任务。其最大的优点是最终的各个相邻聚类之间是有相似关系的,即使识别时把样本映射到了一个错误的节点,它也倾向于被识别成同一个因素或者一个相近的因素,这就十分接近人的识别特性。
- MATLAB图像绘制函数及相关语法(二维)
- plot()
功能:自动绘制出图形
基本调用格式: plot(x,y)
2.Title()
功能:为图像添加标题
基本调用格式:title(’’)
3.Xlabel()
功能:给x坐标轴添加说明
4.grid on
添加网格线
5.显示通过原点的轴线
默认情况下,x 轴和 y 轴沿坐标区的外边界显示。通过设置 Axes 对象的 XAxisLocation 和 YAxisLocation 属性来更改轴线位置,以使轴线在原点 (0,0) 处交叉。将 XAxisLocation 设置为 'top'、'bottom' 或 'origin'。将 YAxisLocation 设置为 'left'、'right' 或 'origin'。这些属性仅适用于二维视图中的坐标区。
代码:ax = gca;
ax.XAxisLocation = 'origin';
ax.YAxisLocation = 'origin';