第一周 -神经网络算法与实现
- 人工神经元
自然神经元是一个信号处理器,在神经元输入端有一个信号接收器,在输出端有一个响应单元。定义出人工神经元结构。
X1~Xn是从其它神经元传入的输入信号,W1~Wn分别是传入信号的权重,θ表示一个阈值,或称为偏置(bias),偏置的设置是为了正确分类样本,是模型中一个重要的参数。f称为激活函数或激励函数(Activation Function),激活函数的主要作用是加入非线性因素,解决线性模型的表达、分类能力不足的问题。
- 常见的激活函数
- Sigmoid函数
特点:
Sigmoid函数的特点就是会把输出限定在0~1之间,如果是非常大的负数,输出是0,如果是非常大的正数输出1,这样使得数据在传输过程中不容易发散。
Sigmoid缺点:
1,Sigmoid容易过饱和,丢失梯度,由图看出,神经元活跃度在0,1处饱和梯度接近于0,这样在反向传播时,很容易出现梯度消失的情况,导致训练不完整;
2,Sigmoid输出均值不是0,Sigmoid使用越来越少。 - Hyperbolic tangent(双曲正切函数)
- Sigmoid函数
范围是(-1,1),数据尽可能在-1和1之间。
- Hard limiting threshold
- Linear
- 权值
权值代表着神经元之间的连接并且它可以放大或减小神经元信号,神经元的激活依赖于输入和相应的权值。 - 偏置
人工神经元可以拥有一个独立的因素,它可以把外部信号添加到激活函数,这个独立因素称为偏置,偏置也有对应的权值。 - 层
输入层,输出层,隐藏层。同一层的神经元共享相同的输入和激活函数。 - 神经网络结构
根据问题的不同特征来设计神经网络结构。- 单层神经网络
所有的神经元位于相同层,形成一个单一层。神经元之明间连接可以是重复的,也可以是不重复的。单层神经网络可用于单层感知机,自适应机,自组织映射,Elman网络和Hopfield神经网络。 - 多层神经网络
径向基函数
多层感知机
- 单层神经网络
- 信号流
前馈神经网络
神经网络中的信号流是单向的,从输入信号进入输入层到信号被被处理后,信号都是向前传递到下一层。
多层感知机
径向基函数
反馈神经网络
信号在经过处理之后又被传回到接收和处理过该信号的神经元或神经元层。
Elman网络,Hopfield神经网络是递归单层神经网络
echo,递归多层感知机网络是递归多层神经网络