理论-神经网络架构简单介绍

以下内容笔记出自‘跟着迪哥学python数据分析与机器学习实战’,外加个人整理添加,仅供个人复习使用。


神经网络的整体框架:
全连接计算

  • 输入层:样本特征
  • 隐藏层1:神经网络按照某种线性组合关系将所有特征重新进行组合
  • 隐藏层2:之前的隐藏层1的特征变换不够强大,可以继续对特征做变换处理
  • 输出层:根据分类还是回归任务,选择合适的输出结果和损失函数

比如函数计算:
单层:
在这里插入图片描述
双层:
在这里插入图片描述

激活函数

上面都是在得到预测分值的基础上讨论的,如何得到这个分值?

我们知道,神经网络的运作模式是,将数据输入后,一层层对特征进行变换,最后通过损失函数评估当前效果(前向传播),然后选择合适的优化方法,反向传播,逐层更新权重参数。

那么如果层和层之间都是线性变换,那只需要一组权重参数代表其余所有的乘积就可以了(化简后),这样的缺点是:
1.非线性问题无法解决;2.需要对变换的特征嘉怡筛选,让有价值的权重特征发挥更大作用!

因此,简单线性函数不能满足需求,需要激活函数!

常见激活函数有sigmoid函数,tanh函数和Relu函数。

  • signoid函数:
    在这里插入图片描述
    在这里插入图片描述
    sigmoid函数在数值较大时,导数接近于0,由于反向传播是逐层进行的,如果某一层梯度为0,后面所有的网络层都不会进行更新,这是sigmoid函数最大的问题。
  • tanh函数:
    在这里插入图片描述
    在这里插入图片描述
    tanh函数的优点是关于原点对称,但同样没有解决梯度消失问题,淘汰。
  • Relu函数:
    在这里插入图片描述
    比较简单,非线性函数,解决了梯度消失问题,比较常用。

需要考虑的问题

数据预处理

  • 数值:标准化
  • 图像数据:resize到统一规模,像素点压缩
  • 文本数据:词向量转换

Drop-Out

每次训练中,随机杀死一部分神经元,防止过拟合。
在这里插入图片描述

数据增强

没有数据创造数据。

猜你喜欢

转载自blog.csdn.net/qq_43165880/article/details/108570261