这些技术的背后都是基于神经网络,暗示着神经网络的复兴。
1.生物学上发现人脑是由大量神经元构成的。
2.每个神经元都是和其他神经元连接,神经元与神经元之间有信号传输
3.生物学上的神经元认识
1943年,心理学家McCulloch和逻辑学家Pitts参考了生物神经元的结构,发表了抽象的神经元模型.MP
神经元模型是一个包含输入、输出与计算功能的模型。
输入可以类比为神经元的树突,而输出可以类比为神经的轴突。计算则可以类比为细胞核。f称为**激活函数**(activationfunction)
sigmoid函数是一个连续的,而且s型的函数,α值称为斜度参数,α值越大,曲线越陡峭,α越小越平
sigmoid函数作为激活函数的优点:
sigmoid函数的缺点:
其以0为中心的函数
双曲正切与sigmoid函数的关系:
其一部分梯度为0,的问题依旧存在
简单的神经元就包括输入层和输出层两层
假设我们要用单个神经元,学习到与运算,这里给出权值(实际要学习):
在给定权值的情况下,观察是否符合或运算:
之前看到用单个神经元可以组成一个相对复杂的神经网络,来解决复杂的问题,比如异或或者异或非问题。可以学到非线性的决策边界,这样的网络叫做多层感知积。
同理可以计算其他的激励值;
如果将参数放到矩阵θ中去,如果j层有Sj个神经元(不包含偏差项),j+1层有Sj+1个神经元。权值矩阵维度为
为了简洁可以用矩阵或者向量的形式来表示以上的公式
4.再次对输出值做变换
如果将输入层去掉仅仅保留隐层部分,我们将之前网络算出来的输入传递给隐层,作为输入,来计算得到输出。网络整体得到的输出和之前是一样的,所以说隐层学到来原始信号的特征,隐层取到了特征提取的的作用。对于多层感知机网络隐藏层最多一到两个隐层,多了会训练不出来。
1.训练多层神经网络就意味着学习层之间的连接权值2.理论上包含一个隐层的前馈神经网络,可以建模任意有界的连续函数
k个输出单元代表分成k类
同一般的机器学习算法:
一个神经元其实就是一个逻辑回归,那么我们对逻辑回归的损失函数与神经网络的损失函数进行对比:
如果我们对x增加一-个小的量,对完整表达式的影响效果是。
由偏导数定义,对于x增加了一个很小的量,由于得到是-3,所以对f影响是使其减少了,减少量是增加量的三倍。减少它,并且减少量是增加量的3倍。
基于每个变量的导数告诉你完整表达式在该值上的敏感度
例如:如果函数u=φ(t),v=ψ(t)在t可微,z=f(u,v)
用一个计算图来表示信息的传递和导数的计算给定输入信号,我们可以立即计算出:
(1)当前节点的输出值,比如直接计算当x=-2,y=5,z=-4时候f的输出值(2)局部梯度:当前节点的输出相对于当前节点输入的局部梯度值
复杂例子
BP算法又称误差反向传播算法主要思想:从后向前逐层传播输出层的误差,以间接算出隐层误差。.算法分两阶段:
通常采用梯度法修正权值,因此要求激励函数可微,一般采用logistic激励函数
逐层传播的过程:
如果神经网络在第j层有Sj个神经元,j+1层有Sj+1个神经元,那么权值矩阵维度维Sj+1*(Sj+1),加一是因为偏差项
用矩阵形式来表示该过程:
例子:包含四层神经元的神经网络:
前向传播过程:
第三层的误差是:
推导:
同理:
误差反向传播算法
前向传播
反向传播
径向基函数定义:沿径向对称的标量函数,通常定义为样本x到中心之间欧式距离的单调函数
常见径向基函数-高斯函数
1.确定中心---随机采用、聚类等2.确定σ,------经验公式、BP算法,最小二乘法等
用于函数逼近具有足够多的隐层神经元的RBF网络可以以任意精度逼近任意的连续函数、
类似人的大脑,将不同的信息,映射到不同的分区
竞争阶段:选取赢家神经元协作阶段:选择赢家神经元周围的邻域范围更新阶段:对于邻域范围内神经元权值进行更新
结构自适应网络:学习网络结构,网络的结构不是一开始设置好的,而是在学习的过程中确定的
特点:
基于能量的模型
能量的定义
其中:W是可见层和隐层之间的连接权值;c为可见层的偏置向量;b为隐层的偏置向量