机器学习(八)----神经网络
这篇博客主要介绍以下几种类型的神经网络
- 单层感知器-----------最简单的人工神经网络
- 线性神经网络
- BP神经网络
- Hopfield神经网络
- RBF神经网络
性能评估函数
简单介绍
在机器学习和认知科学领域,人工神经网络(artificial neural network,缩写ANN),简称神经网络(neural network,缩写NN)或类神经网络,是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)的结构和功能的数学模型或计算模型,用于对函数进行估计或近似。神经网络由大量的人工神经元联结进行计算。大多数情况下人工神经网络能在外界信息的基础上改变内部结构,是一种自适应系统。现代神经网络是一种非线性统计性数据建模工具。典型的神经网络具有以下三个部分:
- 结构 (Architecture) :结构指定了网络中的变量和它们的拓扑关系。例如,神经网络中的变量可以是神经元连接的权重(weights)和神经元的激励值(activities of the neurons)。
- 激励函数(Activity Rule):大部分神经网络模型具有一个短时间尺度的动力学规则,来定义神经元如何根据其他神经元的活动来改变自己的激励值。一般激励函数依赖于网络中的权重(即该网络的参数)。例如:
我们举例看一下每一个神经元的工作方式
(1)输入x
(2)计算求和(如下图)0.3x1+0.3x2+0.3x3 +0.4(偏置因子)
(3)输出new_x = f(z),这里的f是一个函数,可以是sigmoid、tanh、relu等,f就是上文所说到的激励函数。
人工神经网络建模
下面我们就来学习几种神经网络吧
单层感知器-----------最简单的人工神经网络
单层感知的激活函数可以是这三个函数
神经网络的作用:调整权值使实际输出接近期望输出。
学习规则
如何求权向量和偏置值
求权向量也可以表达为以下的表述方法
偏置值计算方法
学习率是我们自己给出的,如何选择合适的学习率呢?
学习率介于0到1之间
收敛条件
单层感知器的局限
线性神经网络
激活函数
在学习线性神经网络之前我们先学习Delta学习规则,线性神经网络是基于最小均方规则LMS,而LMS是Delta学习规则的特殊情况,当函数取y=x的时候,那我们就先来学习Delta学习规则
Delta学习规则
LMS学习规则
学习率如何选取
学习规则(Learning Rule):学习规则指定了网络中的权重如何随着时间推进而调整。这一般被看做是一种长时间尺度的动力学规则。一般情况下,学习规则依赖于神经元的激励值。它也可能依赖于监督者提供的目标值和当前权重的值。例如:
BP神经网络(多层前馈型神经网络)
单个感应器无法解决的问题,一条直线分不了
学习规则:最速下降BP法
目标函数,公式中的1/2是为了计算导数方便
如何计算各个层的权向量,如下图的(3.26a)和(3.26b),详细数学知识如下
应用
- BP神经网络实现图像压缩
- 基于BP网络的个人信贷信用评估
Hopfield神经网络
其稳定性(能否收敛)
输出的稳态成为吸引子
想让输入的跑到特定的吸引子,如何求权向量
- 联立方程法
- 外积和法
应用:OCR识别
RBF神经网络
- 正则化RBF神经网络
- 广义RBF神经网络
BP神经网络和RBF神经网络区别
除了这些还有许多经典的神经网络模型,比如