标签:连续 有关 row 前馈网络 back 激活 func 反馈 描述
师兄博客原文地址 https://blog.csdn.net/LogHouse/article/details/93222454 ,这篇感觉他还没写完。有时间我补一下
@
对应周志华西瓜书第五章。
一些问题
- 1、试述常见的激活函数,试述将线性函数用作神经元激活函数的缺陷。
- ①阶跃函数;
②Sigmoid函数:
\[\sigma(x)=\frac{1}{1+e^{-x}},
\]
优点: ------
缺点: 1)会有梯度弥散; 2)不是关于原点对称; 3)计算exp比较耗时.
③Tanh函数:
\[tanh(x)=2\sigma(x)(2x)-1,
\]
优点: 1)解决了原点对称问题; 2)比sigmoid函数快;
缺点: 1)会有梯度弥散.
④ReLU函数:
\[f(x)=\max (0,x),
\]
优点: 1)解决了部分梯度弥散问题; 2)加快了收敛速度;
缺点: 1)梯度弥散未能完全解决; 2)负数部分相当于神经死亡, 且不会复活.
⑤Leaky ReLU函数:
\[f(x)=
\begin{cases}
x&, (x\geq0)\\frac{x}{\alpha}& ,(x<0)
\end{cases},\]
优点: 1)解决了神经死亡问题.
缺点: ----------
⑥Maxout:
\[\max(w_1^Tx+b_1,w_2^Tx+b_2)
\]
优点: 1)克服了ReLU的缺点;
缺点: 1)参数较多.
线性函数用作神经元激活函数的缺陷:
无论多少层的神经网络会退化成一个线性回归.
- 2、试述使用sigmoid激活函数的神经元与对数几率回归的联系。
- 两者都是希望将连续值映射到{0,1}上,但由于阶跃函数不光滑,不连续的性质,所以才选择了sigmoid作为映射函数。不同之处在于激活函数不一定要使用sigmoid,只要是非线性的可导函数都可以使用。
- 3.、对于图5.7(102页)中的 ,试推导出BP算法中的更新公式5.13(103页)。
-
\[\begin{aligned}
\]
\frac{\partial a_h}{\partial v_{ih}} & = \bm{x}_i\
\bm{e}_h & =-\frac{\partial E_k}{\partial b_h}\frac{\partial b_h}{\partial a_h}
\end{aligned}$$
可推出更新公式: \(\bm{ve_hx}_i\)
- 4、试述标准BP算法和累计BP算法,试编程实现标准BP算法和累计BP算法,在西瓜数据集3.0(84页)上分别用这两个算法训练一个单隐层神经网络,并进行比较。
- 见下节
- 5、试述如何缓解BP神经网络的过拟合现象。
- 由于 BP(BackPropagation) 神经网络具有强大的表示能力,PB神经网络经常遭遇过拟合,其训练误差持续降低,但测试误差却可能上升。有两种策略常用来缓解BP网络的过拟合:
①早停 (early stopping): 将数据分成训练集和验证集,训练集用来计算梯度、更新连接权和阈值,验证集用来估计误差,若训练集误差降低但验证集误差升高,则停止训练,同时返回具有最小验证集误差的连接权和阈值。
②正则化 (regularization): 其基本思想是在误差目标函数中增加一个用于描述网络复杂度的部分,例如连接权与阈值的平方和。仍令\(E_k\)表示第\(k\)个训练样例上的误差,\(w_i\)表示连接和阈值,则误差目标函数改变为:
\[E=\lambda\frac{1}{m}\sum^m_{k=1}E_k+(1-\lambda)\sum_i w_i^2,
\]
式中\(\lambda\in(0,1)\),用于对经验误差与网络复杂度两项进行折中,常通过交叉验证法来估计。
- 6、试述RBF网络,RNN循环神经网络的概念和特点。
- ①径向基函数网络(Radial Basis Function,RBF):
RBF网络是一种单隐层前馈神经网络,它使用径向基函数作为隐层神经元的激活函数,而输出层则是对隐层神经元输出的线性组合。
设输入为\(d\)向量\(\bm{x}\),输出为实数,RBF可表示如下:
\[\varphi(\bm{x})=\sum_{i=1}^q w_i\rho(\bm{x},c_i),
\]
式中, \(q\)为隐层神经元个数, \(c_i\)和\(w_i\)分别表示第\(i\)个隐层神经元对应的中心和权重, \(\rho(x,c_i)\)为径向基函数, 其为某种沿径向对称的标量函数, 通常可以定义样本\(x\)到数据中心\(c_i\)之间欧氏距离的单调函数, 一种常用的RBF计算公式如下:
\[\rho(x,c_i)=e^{\beta_i||x-c_i||^2}$$<p />
②递归神经网络(Recurrent neural networks, RNN)
与前馈神经网络不同,RNN**允许网络出现环形结构**,可让一些神经元的输出反馈回来作为输入信号,也就是网络在$t$时刻的输出状态不仅和输入有关,还和$t-1$时刻的网络状态有关,从而能处理与时间有关的动态变化。
Elman 网络是最常用的递归神经网络之一,其结构与多层前馈网络相似,但隐层神经元的输出被反馈回来,与下一时刻的输入层神经元提供的信号一起,作为隐层神经元下一时刻的输入。隐层神经元通常采用 SigmoidSigmoid 激活函数,而网络的训练则常通过推广的BP算法进行。
7、试述卷积神经网络的卷积、下采样(池化)过程,试述卷积神经网络的架构,如图5.15(114页)。
: ①**输入层**: 1个32\*32图片
$\Downarrow$采用5\*5的卷积核
②**卷积层1**: 6个28\*28的矩阵
$\Downarrow$采用2\*2的采样
③**采样层1**: 6个14\*14的矩阵
$\Downarrow$采用5\*5的卷积核
④**卷积层2**: 16个10\*10的矩阵
$\Downarrow$采用2\*2的采样
⑤**采样层2**: 16个5\*5的矩阵
$\Downarrow$采用5\*5的卷积核
⑥**卷积层3**: 长度为120的向量
$\Downarrow$全连接
⑦**连接层**: 长度为84的向量
$\Downarrow$全连接
⑧**输出层**: 长度为10的向量(原问题为10分类问题)<p />
8、kaggle比赛入门-手写数字识别,下载数据和代码,仔细阅读代码并详细标注代码注释。
: 见下节
# 一些Python实现
## BP神经网络\]
机器学习3-神经网络
标签:连续 有关 row 前馈网络 back 激活 func 反馈 描述
原文地址:https://www.cnblogs.com/2944014083-zhiyu/p/14871841.html