2023神经网络与深度学习第一次总结

1. 线性分类与感知机模型

1.1线性回归

问题:回归函数: y = θ T x y=\pmb{\theta}^{T}\pmb{x} y=θTx
假设给定样本 ( x ( i ) , y ( i ) ) (\pmb{x}^{(i)},y^{(i)}) (x(i),y(i))
构造损失函数 J ( θ ) = 1 2 ∑ i = 1 m ( y ( i ) − h θ ( x ) ) 2 J(\pmb{\theta})=\frac{1}{2}\sum_{i=1}^{m}(y^{(i)}-h_{\pmb{\theta}}(\pmb{x}))^{2} J(θ)=21i=1m(y(i)hθ(x))2
求解 min ⁡ θ J ( θ ) \min\limits_{\pmb{\theta}}J(\pmb{\theta}) θminJ(θ)

求解方法: ∂ J ( θ ) ∂ θ = 0 \frac{\partial{J(\pmb{\theta})}}{\partial{\pmb{\theta}}}=0 θJ(θ)=0
可得: θ = ( X T X ) − 1 X T y \pmb{\theta}=(\pmb{X^T}\pmb{X})^{-1}\pmb{X^T}\pmb{y} θ=(XTX)1XTy

1.2线性二分类

问题:二分类函数: h θ ( x ( i ) ) = 1 1 + e − θ T x ( i ) h_{\theta}(x^{(i)})=\frac{1}{1+e^{-\theta^{T}x(i)}} hθ(x(i))=1+eθTx(i)1
假设给定样本 ( x ( i ) , y ( i ) ) (\pmb{x}^{(i)},y^{(i)}) (x(i),y(i)), y ( i ) y(i) y(i)为0或1
损失函数: J ( θ ) = 1 2 ∑ i = 1 m ( y ( i ) − h θ ( x ) ) 2 J(\pmb{\theta})=\frac{1}{2}\sum_{i=1}^{m}(y^{(i)}-h_{\pmb{\theta}}(\pmb{x}))^{2} J(θ)=21i=1m(y(i)hθ(x))2
求解 min ⁡ θ J ( θ ) \min\limits_{\pmb{\theta}}J(\pmb{\theta}) θminJ(θ)

求解方法:迭代法让 θ \theta θ迭代趋向使得损失函数最小的 θ \theta θ,迭代格式:
θ k + 1 = θ k + Δ θ k Δ θ k = − α ∇ θ J \theta_{k+1}=\theta_{k}+\Delta{\theta_{k}} \\ \Delta{\theta_{k}}=-\alpha{\nabla_{\theta}J} θk+1=θk+ΔθkΔθk=αθJ

1.3对数回归与多分类

对于二分类问题,根据条件概率,依据要让所有样本事件产生的机率最大,修改损失函数为:

在这里插入图片描述
对应梯度:
在这里插入图片描述对于k分类问题,取代价函数:在这里插入图片描述
可简写为:
在这里插入图片描述
称为交叉熵损失。
对应梯度:
在这里插入图片描述

1.4神经元模型

Spiking模型:
在这里插入图片描述

Integrate-and-fire模型:
加入了积分的环节

M-P模型:

在这里插入图片描述
人工神经元:
在这里插入图片描述
激活函数 f ( x ) f(x) f(x)包含非对称型Sigmoid,对称型Sigmoid,对称型阶跃函数等。
科学家提出的模型认为动物神经元连接权值的调整量与输入输出的乘积成正比,即: Δ w = α ⋅ x ⋅ y \Delta{w}=\alpha·x·y Δw=αxy(Hebb规则)

1.4 感知机模型

对于二分类问题,感知机从输入到输出的模型为:
y = f ( x ) = s i g n ( w T x ) y=f(x)=sign(\pmb w^T\pmb x) y=f(x)=sign(wTx)
定义损失函数为:
L ( w ∗ ) = − 1 ∥ w ∥ ∑ y ( i ) w T x ( i ) L(\pmb w^*)=-\frac{1}{\Vert{w}\Vert}\sum y^{(i)}\pmb w^T\pmb x^{(i)} L(w)=w1y(i)wTx(i)
需要找到能使损失函数最小的超平面参数 w ∗ \pmb w^* w
超平面参数更新算法:
在这里插入图片描述

2.多层前馈网络与误差反传算法

2.1 多层感知机

用于解决无法进行线性分类的问题,对于多层感知机有如下定理:
在这里插入图片描述

2.2 多层前馈网络及BP(反向传播)算法

多层前馈神经网络训练的目的是对于每一个输入样本调整网络参数使得输出均方误差最小化,损失函数选取为:
J ( x ( i ) ; w ) = 1 2 ( y ( i ) − y ^ ( i ) ( x ; w ) ) 2 = 1 2 ( a ( i ) − y ( i ) ( x ; w ) ) 2 J(x^{(i)};w)=\frac{1}{2}(y^{(i)}-\hat{y}^{(i)}(x;w))^2=\frac{1}{2}(a^{(i)}-y^{(i)}(x;w))^2 J(x(i);w)=21(y(i)y^(i)(x;w))2=21(a(i)y(i)(x;w))2
迭代求更新网络权值的算法:梯度下降
BP神经网络更新权值的基本步骤:
在这里插入图片描述
前向传播:无需多言,就是从输入x计算输出y的过程。
误差反传:误差反串的步骤如下:
在这里插入图片描述
对于二分类问题,BP算法的损失函数可以设为交叉熵函数:
在这里插入图片描述
对应的:
在这里插入图片描述

BP神经网络可以通过在损失函数加入正则项防止过拟合:
在这里插入图片描述
对应的:
在这里插入图片描述

3.性能优化

3.1动量法

由于在梯度下降过程中中存在病态曲率的问题。如下图:
请添加图片描述
考虑在脊的表面上的一个点梯度。该点的梯度可以分解为两个分量,一个沿着方向w1,另一个沿着w2。梯度在w1方向上的分量要大得多,因此梯度的方向更靠近w1,而不是朝向w2(最小值位于其上)。通常情况下,我们使用低学习率来应对这样的反复振荡,但在病态曲率区域使用低学习率,可能要花很多时间才能达到最小值处。
动态曲率的其中一种解决方法为动量法,动量法的参数更新公式为:
v t = α v t − 1 − ϵ g t Δ θ ← v t θ t + 1 ← θ t + Δ θ v_t=\alpha v_{t-1}-\epsilon g_t\\ \Delta\theta\gets v_t\\ \theta_{t+1} \gets\theta_{t}+\Delta\theta vt=αvt1ϵgtΔθvtθt+1θt+Δθ

3.2自适应梯度算法

AdaGrad算法:
在这里插入图片描述
RMSProp算法:
在这里插入图片描述
Adam算法:
在这里插入图片描述

3.3 性能优化问题描述

权值 w \pmb w w取何值,指标函数 J ( w ) J(w) J(w)最小?恰恰是最优化方法中的基本问题:函数最小化。进一步,我们希望建立迭代形式,并且形式尽量简单,类似基本BP算法(最速梯度法): w k + 1 = w k + α k p k w_{k+1}=w_{k}+\alpha_kp_k wk+1=wk+αkpk如何选取 w k , α k p k w_{k},\alpha_kp_k wk,αkpk构成优化核心内容。
基本思想:
考虑函数 f ( x ) f(\pmb{x}) f(x)在某点 x ∗ \pmb{x}^* x上的Taylar展开:
在这里插入图片描述
对于全局极小值点,局部极小值点,有如下两条特征:
1.一阶条件:必要条件 ∇ f ( x ∗ ) = 0 \nabla{f(x^*)=0} f(x)=0驻点
2.二阶条件:充分条件H半正定
鞍点指的式沿某方向是极大值点,沿另一方向是极小值点的点。

3.4二阶算法

1.牛顿法:
在这里插入图片描述
2.高斯-牛顿法
3.Levenberg-Marquardt算法

3.5常用技巧

  1. 训练数据与测试数据
    训练数据,验证数据,测试数据,通常三者比例为70%, 15%, 15%或60, 20, 20当数据很多时,训练和验证数据可适当减少。

  2. 𝐾折交叉验证
    原始训练数据被分成 K 个不重叠的子集。 然后执行 K 次模型训练和验证,每次在 K-1 个子集上进行训练, 并在剩余的一个子集(在该轮中没有用于训练的子集)上进行验证。 最后,通过对 K 次实验的结果取平均来估计训练和验证误差。

  3. 权重衰减
    欠拟合:误差一直比较大
    过拟合:在训练数据集上误差小而在测试数据集上误差大
    为防止过拟合和权值震荡,加入新的指标函数项:
    在这里插入图片描述
    第二项约束了权值不能过大。在梯度下降时,导数容易计算:
    在这里插入图片描述

  4. Dropout
    在整个训练过程的每一次迭代中,标准暂退法包括在计算下一层之前将当前层中的一些节点置零。

  5. 模型初始化
    简单的考虑,把所有权值在[-1,1]区间内按均值或高斯分布进行初始化。Xavier初始化:为了使得网络中信息更好的流动,每一层输出的方差应该尽量相等。因此需要实现下面的均匀分布:
    在这里插入图片描述

  • 10
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值