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,这样就造成了 网络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题的发生


目录
相关文章
|
4月前
|
机器学习/深度学习 算法 数据挖掘
【MATLAB】数据拟合第10期-二阶多项式的局部加权回归拟合算法
【MATLAB】数据拟合第10期-二阶多项式的局部加权回归拟合算法
49 0
|
7天前
|
算法
MATLAB最小二乘法:线性最小二乘、加权线性最小二乘、稳健最小二乘、非线性最小二乘与剔除异常值效果比较
MATLAB最小二乘法:线性最小二乘、加权线性最小二乘、稳健最小二乘、非线性最小二乘与剔除异常值效果比较
19 0
|
6月前
|
机器学习/深度学习 算法 Python
实战:用线性函数、梯度下降解决线性回归问题
实战:用线性函数、梯度下降解决线性回归问题
|
6月前
|
决策智能
|
7月前
|
机器学习/深度学习 算法
非线性世界的探索:多项式回归解密
非线性世界的探索:多项式回归解密
|
机器学习/深度学习
损失函数:均方误和交叉熵,激活函数的作用
损失函数(loss function)或代价函数(cost function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。
148 1
损失函数:均方误和交叉熵,激活函数的作用
|
机器学习/深度学习 算法 开发者
误差反向传播算法-2|学习笔记
快速学习误差反向传播算法-2
133 0
误差反向传播算法-2|学习笔记
|
机器学习/深度学习 算法 开发者
误差反向传播算法-3|学习笔记
快速学习误差反向传播算法-3
76 0
|
机器学习/深度学习 算法 开发者
误差反向传播算法-1|学习笔记
快速学习误差反向传播算法-1
63 0
误差反向传播算法-1|学习笔记

热门文章

最新文章

相关实验场景

更多