【深度学习】吴恩达课程笔记(三)——参数VS超参数、深度学习的实践层面

笔记为自我总结整理的学习笔记,若有错误欢迎指出哟~

【吴恩达课程笔记专栏】

【深度学习】吴恩达课程笔记(一)——深度学习概论、神经网络基础
【深度学习】吴恩达课程笔记(二)——浅层神经网络、深层神经网络
【深度学习】吴恩达课程笔记(三)——参数VS超参数、深度学习的实践层面

六、参数VS超参数

1.参数和超参数的区别

参数(Parameters)是指模型内部需要学习的权重值。在训练过程中,模型通过反向传播算法来更新这些权重值以最小化损失函数。例如,在线性回归模型中,参数就是回归系数(即斜率和截距),在神经网络模型中,参数就是每个神经元之间的权重值。

超参数(Hyperparameters)是指模型训练过程中需要设置的一些参数,这些参数不能通过反向传播算法来更新,而是需要手动调整。超参数的选择可以影响模型的性能和训练效果。例如,在神经网络模型中,超参数包括学习率、批量大小、隐藏层大小等。

参数和超参数的区别在于,参数是模型内部需要学习的权重值,而超参数是模型训练过程中需要手动设置的一些参数。参数的值是通过训练数据自动学习得到的,而超参数的值需要手动调整,通常需要多次尝试和实验才能找到最佳的超参数组合。

2.什么是超参数?

超参数(Hyperparameters)是机器学习算法中的一种参数,它们用于控制模型训练过程的行为,而不是直接由数据决定。与模型的权重(即学习参数)不同,超参数通常在训练之前设定,并且需要手动调整。

超参数的选择对模型的性能和训练效果有很大影响。不同的超参数组合可能导致不同的模型表现,因此选择合适的超参数非常重要。

常见的超参数包括:

  1. 学习率(Learning Rate):控制模型在每次迭代中更新权重的步长大小。
  2. 正则化参数(Regularization Parameter):用于控制模型的复杂度,防止过拟合。
  3. 批量大小(Batch Size):指定每次迭代中用于更新权重的样本数量。
  4. 迭代次数(Number of Iterations):定义模型在训练集上迭代的次数。
  5. 隐藏层大小(Size of Hidden Layers):适用于神经网络模型,用于设置隐藏层的节点数量。
  6. 决策树的深度(Depth of Decision Trees):适用于决策树模型,用于控制树的最大深度。
  7. 核函数选择(Choice of Kernel Function):适用于支持向量机模型,用于定义数据之间的相似度。
  8. 聚类算法中的簇数量(Number of Clusters):适用于聚类算法,用于指定期望的簇数量。

选择合适的超参数通常需要通过试验和交叉验证来确定最佳组合。通常,可以使用网格搜索、随机搜索或贝叶斯优化等技术来自动化超参数调整的过程,以找到最佳的超参数组合。

3.如何寻找超参数的最优值?

寻找超参数的最优值是一个重要且挑战性的任务。以下是一些常用的方法和技巧:

  1. 网格搜索(Grid Search):网格搜索是一种简单直观的方法,它通过指定超参数的候选值组成的网格来遍历所有可能的组合。对于每个组合,使用交叉验证来评估模型性能,并选择具有最佳性能的超参数组合。
  2. 随机搜索(Random Search):与网格搜索相比,随机搜索不是遍历所有可能的组合,而是在给定的超参数空间中随机选择一组超参数进行评估。通过随机选择,可以更高效地探索超参数空间,并找到良好的超参数组合。
  3. 贝叶斯优化(Bayesian Optimization):贝叶斯优化是一种基于贝叶斯推断的序列模型优化方法。它通过建立一个代理模型来估计目标函数(例如模型的性能),并使用贝叶斯推断来指导下一次选择哪个超参数组合进行评估。贝叶斯优化可以有效地在较少的迭代次数内找到最优的超参数组合。
  4. 交叉验证(Cross-Validation):交叉验证是一种评估模型性能的技术,也可以用于超参数调整。通过将训练数据分成多个子集,然后在每个子集上轮流进行模型训练和验证,可以获得更稳健的性能评估结果。在超参数调整过程中,使用交叉验证来评估每个超参数组合的性能,并选择具有最佳性能的组合。
  5. 学习曲线(Learning Curve):学习曲线是一种可视化工具,用于分析模型在不同超参数设置下的性能变化。通过绘制训练集大小和模型性能之间的关系,可以帮助判断模型是否过拟合或欠拟合,并指导超参数的选择。
  6. 自动化调参工具:还有一些自动化调参工具可用于帮助寻找最优的超参数组合,例如Hyperopt、Optuna和scikit-optimize等。这些工具结合了上述方法,并提供了更高级的优化算法和搜索策略,以加速超参数调整的过程。

需要注意的是,超参数的最优值是相对的,它取决于数据集、模型类型和具体任务等因素。因此,超参数调整通常需要反复尝试和实验,以找到最适合特定情况的超参数组合。

七、深度学习的实践层面

1.训练 / 验证 / 测试集(Train / Dev / Test)

训练集:训练模型

验证集:验证算法正确性

测试集:测试算法效率

2.偏差 / 方差 (Bias / Variance)

  • 偏差大:训练集上的结果较差
  • 方差大:验证集上的结果比训练集上的差的较多

在这里插入图片描述

Train set error Dew set error 偏差 / 方差
1% 11% 高方差
15% 16% 高偏差
15% 30% 高方差、高偏差
0.5% 1% 低方差、低偏差

具体例子

偏差 / 方差 图像
高偏差(欠拟合) 在这里插入图片描述
适度拟合 在这里插入图片描述
高方差(过拟合) 在这里插入图片描述
高偏差 & 高方差 在这里插入图片描述

3.机器学习基础

遇到的问题 可尝试的解决办法
高偏差(欠拟合) 1.更大的神经网络
2.更多的神经网络层数
高方差(过拟合) 1.更多训练数据
2.正则化

4.L2正则化

范数的概念

在数学中,范数(Norm)是一种将向量映射到非负实数的函数。在机器学习和优化问题中,范数常用于衡量向量的大小或长度。
在这里插入图片描述
Lp 范数:
在这里插入图片描述

L1 范数:也称为曼哈顿范数(Manhattan Norm)。L1 范数在一些特定场景下具有稀疏性,能够产生稀疏解。
在这里插入图片描述

L2 范数:也称为欧几里得范数(Euclidean Norm)。L2 范数在许多优化问题中都有很好的性质,例如它可以用于正则化、最小二乘问题等。
在这里插入图片描述

L∞ 范数:也称为切比雪夫范数(Chebyshev Norm),定义为向量中各个元素绝对值的最大值。L∞ 范数可以用于约束向量各个元素的最大值。
在这里插入图片描述

在机器学习中,范数常用于正则化、特征选择、最小二乘问题等。例如,在线性回归模型中,可以使用 L1 或 L2 范数对模型参数进行正则化,以避免过拟合。在特征选择中,可以使用 L1 范数来选择具有重要影响的特征,从而减少特征数量,提高模型的泛化能力。

正则化的定义

在机器学习中,正则化(Regularization)是一种常用的技术,旨在减少模型的复杂度,避免过拟合,提高模型的泛化能力。正则化通过在损失函数中加入一个惩罚项来实现。

通常,机器学习模型的目标是最小化训练误差(即损失函数),但是如果模型过于复杂,则可能会在训练数据上表现良好,但在新数据上表现不佳,这种现象称为过拟合(高方差)。为了避免过拟合,可以使用正则化技术来限制模型的复杂度。

常见的正则化方法包括:

  1. L1 正则化:也称为 Lasso 正则化,通过在损失函数中添加 L1 范数惩罚项,使得模型参数中的一些权重变成 0,从而实现特征选择和稀疏性。
  2. L2 正则化:也称为 Ridge 正则化,通过在损失函数中添加 L2 范数惩罚项,使得模型参数的值变得更小,从而避免过拟合。
  3. 弹性网络正则化:结合了 L1 和 L2 正则化,可以同时实现特征选择和过拟合控制。

L2正则化

∣ ∣ • ∣ ∣ F 2 : 矩阵的弗罗贝尼乌斯范数( F r o b e n i u s ) ∣ ∣ W [ L ] ∣ ∣ F 2 = ∑ i = 1 n [ l − 1 ] ∑ j = 1 n [ l ] ( W i j [ l ] ) 2 W : ( n [ l − 1 ] , n [ l ] ) ||•||^2_F:矩阵的弗罗贝尼乌斯范数(Frobenius)\\ ||W^{[L]}||^2_F=\sum_{i=1}^{n^{[l-1]}}\sum_{j=1}^{n^{[l]}}(W_{ij}^{[l]})^2\\ W:(n^{[l-1]},n^{[l]}) ∣∣•∣F2:矩阵的弗罗贝尼乌斯范数(Frobenius∣∣W[L]F2=i=1n[l1]j=1n[l](Wij[l])2W:(n[l1],n[l])

重定义损失函数为
λ : r e g u l a r i z a t i o n   p a r a m e t e r J ( w , b ) = 1 m ∑ i = 1 m L ( y ^ i , y i ) + λ 2 m ∑ l ∣ ∣ W [ l ] ∣ ∣ F 2 d W [ l ] = ( f r o m   p r o p a g a t i o n ) + λ m W [ l ] W [ l ] = W [ l ] − α d W [ l ] = W [ l ] − α [ ( f r o m   p r o p a g a t i o n ) + λ m W [ l ] ] = W [ l ] − α λ m W [ l ] − α ( f r o m   p r o p a g a t i o n ) = ( 1 − α λ m ) W [ l ] − α ( f r o m   p r o p a g a t i o n ) \lambda:regularization\ parameter \\ J(w,b)=\frac{1}{m}\sum_{i=1}^{m}{L(ŷ_i,y_i)}+\frac{\lambda}{2m}\sum_l||W^{[l]}||_F^{2} \\ dW^{[l]}=(from\ propagation)+\frac{\lambda}{m}W^{[l]} \\ W^{[l]}=W^{[l]}-\alpha dW^{[l]}\\ =W^{[l]}-\alpha[(from\ propagation)+\frac{\lambda}{m}W^{[l]}] \\ =W^{[l]}-\frac{\alpha\lambda}{m}W^{[l]}-\alpha(from\ propagation)\\ =(1-\frac{\alpha\lambda}{m})W^{[l]}-\alpha(from\ propagation)\\ λ:regularization parameterJ(w,b)=m1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zz的学习笔记本

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值