目录
- 问题与概述
- 回归问题与分类问题
- 全连接神经网络
- 有效性
- 训练感知机
- 公式推导
- 正向传播(前向传播)
- 反向传播
- 资料
问题与概述
在很长时间里,人们对于给定一组x~y
求解函数一直有各种各样的研究,长期以来,人们依赖于数学方法求解计算,但是当计算机快速发展,人们的求解工具也在逐步进化。
接下来的文章中,我会以以下顺序讲解:
- 人们希望解决怎样的问题;
- 全连接神经网络概述;
- 正向传播如何实现;
- 反向传播如何实现。
回归问题与分类问题
从分类的角度,可以大致分为两类问题:回归问题与拟合问题。
回归问题是给定一组x
与连续的y
,求解x
与y
的关系。
比如:给定x=[1,2,3,4,5],y=[2,4,6,7,9,10]
,可以大致看出。
分类问题是给定一组x
与离散的y
,求解x
与y
的关系。
比如:给定x=[1,2,3,4,5,6],y=[-0.8,-1.1,-1,2,0.9,1.1]
,可以大致看出。
通过上面的例子,不难发现这种对应关系实际上是很难确定的。
全连接神经网络
参考神经元的工作原理(实际上生物学中神经元的功能比更为复杂),对神经元建模,变得到左边是多组不同神经元输入,右边是多组相同的输出。
函数可变为
可以简单的看做是对输入的加权之后增加一个偏置。
但是对于神经元来说,输出是离散的,遵循函数,这种离散的特性让参数学习(求导过程)很难在计算机中进行(求导结果为0),对于某个参数的更新是通过,而求导结果为0导致了很难求解(永远为0),于是需要使用激活函数。最常用的激活函数是。
该函数有一个特点:,这个在反向传播中需要用到。
这样一个感知机就产生了。
有效性
对于一个4分类问题,类别为,训练两个感知器,第一个感知机可以将类型分为,第二个感知机可以将类型分为,那么这两个感知机(神经元)并联一定可以直接得到类型。
训练感知机
对于训练集,构成是x~y
,那么假定神经网络输出为,与真实的标签之间一定有误差,这时就需要一个函数来计算其误差,也被称为损失函数。模型的训练就是减少损失函数的过程,损失函数有很多种,并且有很多介绍,在此不再赘述。
公式推导
正向传播(前向传播)
对于一个神经元,其中为参数
经过激活函数得到输出
经过损失函数得到损失,假设使用均方误差作为损失函数
反向传播
希望求解参数,使用工具,该问题变为如何求解,我们期望从损失函数反向推导出参数对应的损失。接下来就是对参数的推导。以下图神经网络为例,后面的公式推导会使用图中的变量
假定对于隐藏层的第个神经元收到的输入为
输出层第个神经元收到的输入为
为神经元的输出。通过(5)式可得到
BP算法基于梯度下降算法,以目标的负梯度方向对参数进行调整,给定学习率,有
展开
先看前两项,相当于对求导
结合式(6)(7)(8)(9)可以得到
为当前轮的参数,所以是已知的。
其余的参数与此类似。
资料
拟合方法简介:
- 最小二乘法(Least Squares):通过最小化数据点到拟合曲线的误差的平方和来拟合曲线。
- 样条插值(Spline Interpolation):一种插值方法,通过在数据点之间建立平滑的曲线来拟合数据。
- 多项式拟合(Polynomial Regression):基于多项式的拟合方法,用于描述两个变量之间的关系。
- 指数拟合(Exponential Regression):基于指数函数的拟合方法。
- 对数拟合(Logarithmic Regression):基于对数函数的拟合方法。
- 幂函数拟合(Power Regression):基于幂函数的拟合方法。