神经网络学习总结

神经网络的引入

1、神经元
初次接触神经网络,可能较难理解,先以神经元为例,近似为数学模型,方便神经网络的学习,
在这里插入图片描述
正如图上表示的,以及我们中学所学过的基本知识,神经元之间是有轴突和树突的,并且通过动作电位和静息电位形成电位差,从而实现电信号的传输,从而传递信息。
而在数学中,我们可以将其近似为数学模型,输入数据代表信号的传递,通过手动设置阈值,而通过判断输入数据与阈值的关系,来判断是否达到了激活下一个神经元的电位。而这种抽象的结构
2、感知机
感知机(perceptron)是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别。
感知机对应于输入空间中将实例划分为正负两类的分离超平面,属于判别模型。
通过感知机,我们可以完成大部分的逻辑操作,如逻辑与、或,非都能通过感知机来描述,那么,对于大部分线性可分的关系我们都能通过感知机来实现,感知机的数学定义为线性方程w*X+b=0,其中w、x、b均为行列向量的矩阵表示,对应于特征空间 ·R^n中的一个超平面S,其中w是从超平面的法向量,b是超平面的截距。
神经网络学习总结_第1张图片

这个超平面将特征空间划分为两个部分。位于两部分的点(特征向量)分别被分为正、负两类。
当我们假设训练数据集是线性可分的,那么感知机学习的目的即为求得一个能够将训练集整实例点和负实例点完全正确分开的分离超平面。

为了找出这样的超平面,即确定感知机模型参数w 和 b, 需要确定一个学习策略,即定义(经验)损失函数并将损失函数极小化。
而在面对较复杂的无法线性可分的问题时,我们发现单一的感知机模型已无法较好的解决分类问题,如一些非线性可分的问题,而神经网络则能较好的解决这些问题,甚至是更为复杂的问题。
3、神经网络
神经网络可以简单的视为多个感知机的结合,下面以最简单的两层神经网络为例神经网络学习总结_第2张图片
输入层:在我们的例子中,输入层是一组向量矩阵,例如(1,1),这是一个包含两个元素的数组,也可以看作是一个12的矩阵。输入层的元素维度与输入量的特征息息相关,如果输入的是一张3232像素的灰度图像,那么输入层的维度就是3232。
隐层:隐层即隐藏层,从输出层到隐藏层会经历一个运算,即func(w
x+b)
公式中的func即这一隐层中的激活函数,从而将线性关系得以映射到非线性维度上,而隐层到输出层也将重复这一步骤,那么通过这两次非线性映射后,我们可以近似出满足所需关系的函数,将我们所收集到的数据集加入网络中进行训练,最终即可获得良好的效果。
接下来我将指出为何通过训练可以实现对抽象关系的拟合。
反向传播算法
反向传播算法便是我们神经网络中的一大法宝,其原理类似于回归问题中梯度下降的方法来拟合函数,而神经网络只是添加了非线性因素,从而拟合出更为抽象的关系。
下面开始反向传播算法的数学推导:
原理:通过对最后一层的损失函数对各个分量求偏导
具体求法大致如下:
神经网络学习总结_第3张图片

算法流程总结:
(step1) 训练数据输入
(step2) 前向传播过程
(step3) 计算输出层误差
(step4) 计算反向传播误差
(step5) 计算并且更新权重 w 和偏置 b
深度学习
因为神经网络学习到的输入和输出之间的映射关系不一定是准确的,故我们引入了深度学习。
深度学习是通过增加输入层到输出层所经历的层次的数目,即隐藏层的层数,层数越多,深度也越深。
深度学习网络的求解并不是说仅依靠算力更大的计算设备就能解决问题。参数量过大仅仅只是其中的一个问题,还有一个常出现的问题是,过于深的神经网络在求解的过程中极其容易陷入局部最优解,而非全局最优解。至此,深度学习引入了新的解决方法,而非使用原来的BP算法下。一种是使用卷积神经网络,而另一种则是先通过对单层样本求解后,将该层样本的值作为下一层的输入,从而先得到较为精确的结果,后再对网络进行微调,从而节省计算成本。

你可能感兴趣的:(神经网络,深度学习,机器学习)