全连接神经网络
全连接神经网络
全连接神经网络是一种连接方式较为简单的人工神经网络结构,某一层的任意一个节点,都和上一层所有节点相连接。
感知器工作机制
感知器即单层神经网络,也即"人工神经元",是组成神经网络的最小单元
![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/image
神经网络的激活函数
在神经网络中可以引入非线性激活函数,这样就可以使得神经网络可以对数据进行非线性变换,解决线性模型的表达能力不足的问题。
常见的激活函数
- Sigmoid激活函数
y = 1 1 + e − x \Large y=\frac{1}{1+e^{-x}} y=1+e−x1
- Relu激活函数
y = m a x ( 0 , x ) \Large y=max(0,x) y=max(0,x)
- tanh激活函数
y = e x − e − x e x + e − x = 1 − e − 2 x 1 + e − 2 x \Large y=\frac{e^x-e^{-x}}{e^x+e^{-x}}=\frac{1-e^{-2x}}{1+e^{-2x}} y=ex+e−xex−e−x=1+e−2x1−e−2x
- Softmax激活函数
p l = e z l ∑ j = 1 k e z j \Large p_l=\frac{e^{z_l}}{\sum_{j=1}^ke^{z_j}} pl=∑j=1kezjezl
Softmax激活函数计算的结果是各个分类的预测概率值,常用于多分类问题
神经网络的过拟合问题
神经网络因为隐藏层的存在可以实现复杂的非线性拟合功能。但随着神经网络层数加深,神经网络很容易发生过拟合现象(在训练集上表现很好,在未知的测试集上表现很差,即“泛化能力差”)。
解决神经网络过拟合问题的方法
- 正则化
与很多机器学习算法一样,可以在待优化的目标函数上添加正则化项(例如L1、L2正则),可以在一定程度减少过拟合的程度。
- Dropout(随机失活)
可以将Dropout理解为对神经网络中的每一个神经元加上一道概率流程,使得在神经网络训练时能够随机使某个神经元失效。
![外链图片转
**注意: **
- 对于不同神经元个数的神经网络层,可以设置不同的失活或保留概率
- 如果担心某些层所含神经元较多或比其他层更容易发生过拟合,则可以将该层的失活概率设置得更高一些
前向传播与反向传播
前向传播
计算输出值的过程称为“前向传播”:将上一层的输出作为下一层的输入,并计算下一层的输出,一直到运算到输出层为止。
反向传播(Back Propagation,BP)
反向传播(BP)说白了根据根据J的公式对W和b求偏导,也就是求梯度。因为我们需要用梯度下降法来对参数进行更新,而更新就需要梯度。
![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上
**总结: **
前向传播得到输出,反向传播调整参数,最后以得到损失函数最小时的参数为最优学习参数。
.