F(x)构建方程 ,梯度下降求偏导,损失函数确定偏导调整,激活函数处理非线性问题

简介: F(x)构建方程 ,梯度下降求偏导,损失函数确定偏导调整,激活函数处理非线性问题
  1. F(x)构建方程 ,
  2. 梯度下降求偏导,
  3. 损失函数确定偏导调整,
  4. 激活函数处理非线性问题


3a9ffb9842f94f7ab4c2073ea57c914f_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

F(x)构建方程 28*28 就是784个参数构建的方程;



构建的方程是基于图像的矩阵



8dba4d631db74d678f8e9c95e3289525_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

a12c8cfc8a47493692a94dc1e2f9ff97_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

285ff864536d459db4e8d2619a584352_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

82c2a45502ad4e49995f4e16786ecaa8_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

4c4588b75ba6487994ebca28cbff56bf_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


梯度下降求偏导进行参数调优



《一个人工智能的诞生》EP06 - 梯度下降_哔哩哔哩_bilibili


ac5f6673a92f480a980874c698250332_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

4b84460dd8174374bcd327efb2159168_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

c30fa16a810646b78cffa9cd3c36070c_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

6e5f73a886384bbf9ce3d7e82399c52a_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

多维度计算多个偏导数的模;



向量的模的计算公式:空间向量模长是²√x²+y²+z²;平面向量模长是²√x²+y²。 向量的模公式 空间向量(x,y,z),其中x,y,z分别是三轴上的坐标,模长是:²√x²+y²+z² ;平面向量(x,y),模长是:²√x²+y²。向量的大小,也就是向量的长度(或称模)。向量a的模记作|a|。模是绝对值在二维和三维空间的推广,可以认为就是向量的长度。推广到高维空间中称为范数


f32fc8f652654137b79997121d7ff01f_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

29f86926f94748f2b70ac4dfdf666985_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

c16871c2e18140e7831080d22edb7a35_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

8d32d337455d4b03b54c5bde4c9337e2_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

可视化链式法则


21537bd88ad442209870ad740cefe82b_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

损失函数



通过损失函数求解进行模型评估


损失函数(loss function)或代价函数(cost function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。


在应用中,损失函数通常作为学习准则与优化问题相联系,即通过最小化损失函数求解和评估模型。


常见损失函数


  • 交叉熵损失函数
  • 0-1损失函数
  • 平方损失函数(线性回归:最小二乘法)


损失函数:均方误和交叉熵



一、均方误差函数:


0614699cc43a4584b0df80b09e3bd7bf_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png



其中,t是真实标签,y是网络预测值。


然后我们将其对权重w求导:


发现它的变化与激活函数的导数有关系,也就是激活函数梯度f'(z)越大,w的大小调整得越快,训练收敛越快。反之,f'(z)越小,w的大小调整得越慢,训练收敛越慢。

以一个二分类问题为例,进行两组实验。


在上图两点中,0.98距离0差距较大但是它的梯度(斜率)趋于零,根据我们上面的分析,也就是说它调整的慢(收敛慢),同样0.82相比0.98来说与零相差小,但是它的梯度很大,所以它的收敛快。


下图是基于两点的loss变化图:


我们可以根据上图中绿色线(梯度斜率)变化大致画出来

 

我们可以根据上图中红色线(梯度斜率)变化大致画出来


所以在这里就产生了一个矛盾,当误差较大时我们希望它调整的大一些,加快收敛。但是如上述的0.98处一样,误差大但是变化率小,收敛的比慢。0.82位置误差相对小但是权值调整速度比较快,因此就有了交叉熵函数。


二、交叉熵函数:


同样我们对其w求导:

其中呢,

也就是

所以我们发现交叉熵函数w的调整与(y-t)相关,就是与网络误差值正相关,误差越大,调整越大,收敛越快,这是我们想要的。


三、结论


回归用均方误差,分类用交叉熵。


四、实验证明


在MNIST数据集上经过5个epoch来做对比,很明显交叉熵的收敛速度较快。


激活函数的作用



处理线性不可分问题,解决非线性的问题


1.为何引入非线性的激活函数?


如果不用激活函数,在这种情况下每一层输出都是上层输入的线性函数。容易验证,无论神经网络有多少层,输出都是输入的线性组合,与没有隐藏层效果相当,这种情况就是最原始的感知机(Perceptron)了。因此引入非线性函数作为激活函数,这样深层神经网络就有意义了(不再是输入的线性组合,可以逼近任意函数)。最早的想法是sigmoid函数或者tanh函数,输出有界,很容易充当下一层输入。


引入ReLu的原因


第一,采用sigmoid等函数,算激活函数时(指数运算),计算量大,反向传播求误差梯度时,求导涉及除法,计算量相对大,而采用Relu激活函数,整个过程的计算量节省很多。


第二,对于深层网络,sigmoid函数反向传播时,很容易就会出现 梯度消失 的情况(在sigmoid接近饱和区时,变换太缓慢,导数趋于0,这种情况会造成信息丢失),从而无法完成深层网络的训练。


第三,ReLu会使一部分神经元的输出为0,这样就造成了 网络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题的发生


目录
相关文章
WK
|
3月前
|
机器学习/深度学习 算法
什么是损失函数和损失函数关于参数的梯度
损失函数是机器学习中评估模型预测与真实值差异的核心概念,差异越小表明预测越准确。常见损失函数包括均方误差(MSE)、交叉熵损失、Hinge Loss及对数损失等。通过计算损失函数关于模型参数的梯度,并采用梯度下降法或其变种(如SGD、Adam等),可以优化参数以最小化损失,提升模型性能。反向传播算法常用于神经网络中计算梯度。
WK
103 0
WK
|
3月前
|
机器学习/深度学习 算法 PyTorch
如何计算损失函数关于参数的梯度
计算损失函数关于参数的梯度是深度学习优化的关键,涉及前向传播、损失计算、反向传播及参数更新等多个步骤。首先,输入数据经由模型各层前向传播生成预测结果;其次,利用损失函数评估预测与实际标签间的差距;再次,采用反向传播算法自输出层逐层向前计算梯度;过程中需考虑激活函数、输入数据及相邻层梯度影响。针对不同层类型,如线性层或非线性层(ReLU、Sigmoid),梯度计算方式各异。最终,借助梯度下降法或其他优化算法更新模型参数,直至满足特定停止条件。实际应用中还需解决梯度消失与爆炸问题,确保模型稳定训练。
WK
88 0
|
6月前
|
机器学习/深度学习 算法
**反向传播算法**在多层神经网络训练中至关重要,它包括**前向传播**、**计算损失**、**反向传播误差**和**权重更新**。
【6月更文挑战第28天】**反向传播算法**在多层神经网络训练中至关重要,它包括**前向传播**、**计算损失**、**反向传播误差**和**权重更新**。数据从输入层流经隐藏层到输出层,计算预测值。接着,比较预测与真实值计算损失。然后,从输出层开始,利用链式法则反向计算误差和梯度,更新权重以减小损失。此过程迭代进行,直到损失收敛或达到训练次数,优化模型性能。反向传播实现了自动微分,使模型能适应训练数据并泛化到新数据。
75 2
|
7月前
|
数据可视化
R语言lasso惩罚稀疏加法(相加)模型SPAM拟合非线性数据和可视化
R语言lasso惩罚稀疏加法(相加)模型SPAM拟合非线性数据和可视化
|
7月前
|
算法
MATLAB最小二乘法:线性最小二乘、加权线性最小二乘、稳健最小二乘、非线性最小二乘与剔除异常值效果比较
MATLAB最小二乘法:线性最小二乘、加权线性最小二乘、稳健最小二乘、非线性最小二乘与剔除异常值效果比较
|
7月前
|
机器学习/深度学习 PyTorch 算法框架/工具
基于PyTorch实战权重衰减——L2范数正则化方法(附代码)
基于PyTorch实战权重衰减——L2范数正则化方法(附代码)
449 0
|
机器学习/深度学习 算法 Python
实战:用线性函数、梯度下降解决线性回归问题
实战:用线性函数、梯度下降解决线性回归问题
“交叉熵”反向传播推导
“交叉熵”反向传播推导
141 0
|
机器学习/深度学习
损失函数:均方误和交叉熵,激活函数的作用
损失函数(loss function)或代价函数(cost function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。
196 1
损失函数:均方误和交叉熵,激活函数的作用