复试项目(Day_2:深度神经网络)
r1、b1、r2、b2细体一般表示一个数字。当然,这种单纯的串联无意义,无论多少串联都只有一层,类比生物神经元生物神经元具有兴奋和抑制两种状态,当接受的刺激高于 一定阈值时,则会进入兴奋状态并将神经冲动由轴突传出, 反之则没有神经冲动,因此引出。
·
一、神经元与矩阵
- 神经元对输入的处理可以看作是一种线性变换,即y = Wx + b,其中y是输出向量,b是偏置项(也常表示为一个向量)。
- 这种线性变换通过矩阵乘法实现,使得神经网络能够处理多维数据。

[注]:b、x、w粗体在深度学习论文中一般表示一组矩阵或者一组向量,r1、b1、r2、b2细体一般表示一个数字。

当然,这种单纯的串联无意义,无论多少串联都只有一层,类比生物神经元
生物神经元具有兴奋和抑制两种状态,当接受的刺激高于 一定阈值时,则会进入兴奋状态并将神经冲动由轴突传出, 反之则没有神经冲动,因此引出激活函数。
二、激活函数
1、激活函数的位置

● 如果没有激活函数,无论网络多么复杂,最后的输出都是输入的线性组合,而纯粹的线性组合并
不能解决更为复杂的问题。
● 引入激活函数之后,由于激活函数都是非线性的,这样就给神经元引入了非线性元素,使得神经
网络可以逼近任何非线性函数,这样使得神经网络应用到更多非线性模型中。
为什么激活函数要求能求导?是为了保证反向传播算法能够正常进行,从而允许网络通过梯度下降等方法学习并更新权重。【反向传播算法的核心是链式求导法则,它要求网络中的每一层都能对其输入和权重求导。激活函数作为网络中的一层,其输出会作为下一层的输入。因此,为了能够通过链式求导法则计算出损失函数对权重的梯度,激活函数必须是可以求导的。】

2、激活函数的真实作用


添加激活函数使预测情况无限接近于真实情况
※搜索各种激活函数加入项目中看看影响如何?
三、神经网络的参数

把
、
、
等参数统称为
表示所有的参数
四、深度学习的训练过程
1、训练过程

梯度下降:在某个点下降最快的方向进行优化使得loss变小
2、代码演示

linear(4,3)表示四个输入三个输出,那么对于下一层linear(3,2)就是三个输入两个输出。
以下代码表示上图中深度学习网络的结构

3、添加激活函数sigmoid与relu效果展示
①无添加激活函数(1-100-1)

由于没有添加激活函数,故只为线性表示,即矩阵的线性关系。
②添加sigmoid(1-100-1)和relu(1-100-1)
③添加层数—(1-100-100-1)
由此可见,添加一层深度拟合效果更为接近真实函数,其中relu激活函数效果更好,在添加一层效果会更好但是会产生过拟合
4、界外预测
即在给出数据范围外的预测情况。
显然此模型对于数据外的“实战性能”不行。
五、过拟合与欠拟合

1、过拟合
- 定义:过拟合是指模型在训练数据上表现得过于优秀,以至于它学习到了训练数据中的噪声和细节,而未能泛化到未见过的数据。换句话说,模型过于复杂,以至于它“记住”了训练数据,而不是学习到数据的真正规律。
- 解决方法:
- 增加数据量:更多的数据可以帮助模型学习到更通用的规律,减少过拟合。
- 正则化:如L1、L2正则化,通过添加惩罚项来限制模型的复杂度。
- Dropout:在训练过程中随机丢弃一些神经元连接,防止模型过于依赖某些特定神经元。
- 早停法:在验证集性能开始下降时停止训练。
- 简化模型:减少模型的层数或参数数量。
2、欠拟合
- 定义:欠拟合是指模型在训练数据上表现不佳,因为它过于简单,无法捕捉到数据的真正规律。换句话说,模型没有学习到足够的信息来做出准确的预测。
- 解决方法:
- 增加模型复杂度:增加模型的层数、参数数量或使用更复杂的模型结构。
- 延长训练时间:确保模型有足够的时间来学习数据。
- 特征工程:提取更多有用的特征或组合现有特征,以增加模型的输入信息。
- 调整学习率:适当的学习率可以帮助模型更好地收敛。
更多推荐

所有评论(0)