六、超参数调整, 批量正则化 和多元分类器

简介: 六、超参数调整, 批量正则化 和多元分类器

1、超参数调整


1.1 参数选取的流程

深度学习中涉及到诸多参数,如学习率 α,gradient with momentum参数 β,Adam参数 β1,β2,ε,神经网络的层数 l a y e r s layers layers,隐藏层的神经元个数hidden units,learning rete decay,mini-batch size,等。


在这些参数中,最重要的参数是学习率  α;次要重要的参数是gradient with momentum参数β,隐藏层的神经元个数 hidden units和mini-batch size;第三重要的参数是神经网络的层数 l a layers和learning rete decay;Adam参数 β β1,β2,ε一般不作为超参数进行调整。


再进行参数调整时,尽量选取参数的随机组合,不要使用grid 选取参数组合,因为grid sample会使得参数选择的范围减小,从而降低参数选取到合适参数的概率。

aa150a5171dc4b558ab13a47cbf2902b.png


当第一次尝试完所有的模型之后,选定最优参数及其周围的参数点,缩小参数搜索范围,再一次在小范围之内进行参数的选取并测试,这个过程称为coarse to fine search.




1.2 参数选取的范围


在随机选择参数时,有时候采用均匀分布随机数进行随机选取是合适的,如选取隐藏神经元的个数/隐藏层的个数,等;但在选取学习率的时候,直接采用均匀分布选取某个范围,e.g.,  α∈[0.0001,1] ,之间的随机数时不合适的,因为大多数随机数将落在0.1-1之间。为了选取范围的公平性和广度,令 a=−4,b=0,随机选取r∈[a,b],令  α=10r,则可以均匀选取到整个区间上的数。

04d5be68b2e74e39bc44647e7039acec.png


在进行参数 β的选取时,因为  β∈[0.9,0.999],所以在随机选取时需要做以下调整:

6c9050c272174a9ca6901325a644e548.png



2、批量正则化


2.1 激活函数的正则化


正则化可以加速梯度下降算法收敛的速度,从而缩短整体的训练时间。在神经网络每一层神经元的输出  Z输入到激活函数之前,首先对  Z进行归一化处理。归一化处理  Z的方式如下所示:


487efd1e164e43478b24e75b5699dff7.png


其中, z~(i)=γzinorm+β,其中,  β是超参数,可以通过训练来进行调整。


2.2 在神经网络中使用批正则化


在整个神经网络之中使用batch norm的过程如下所示:


8722d71a2589415486523e210a470db6.png


相对于之前的训练,使用了batch norm之后的网络增加了两套新的超参数 β和  γ来调整正则化的程度,其中,这两个参数的维度为: (n[l],1)。batch norm通常和mini-batch共同使用。同时注意到,通过 ZZ~的计算方式可知,在计算完毕之后的  Z~中不会含有参数  b,所以,在进行batch norm训练时,可以将 b的值固定为0,因为它不会影响训练效果。batch norm训练的流程如下所示:


c91b6ba590514b52a4bbec27a3b9af4d.png


2.3 batch norm起作用的原因分析


betch norm可以减少每层神经网络输入值对后续训练结果的影响,使得每层神经元的输入变得更加稳定,从而使得每层神经元相对独立地进行学习,从而加速学习的速率。


91b361a8e3734c439031332969dc2e7a.png


由于batch norm会给  z[l]的值增加一些噪声,所以和dropout类似,batch norm可以产生比较微弱的regularization效果,但batch norm不能作为一种regularization方法。



3、构建softmax 多元分类器


softmax regression 将logistic regression由二元分类泛化到了多元分类。


3.1 loss function 和 cost function


softmax多元分类的损失函数如下所示:

image.png


      cost function如下所示:



image.png


相关文章
|
5月前
|
算法 数据挖掘
WinBUGS对多元随机波动率SV模型:贝叶斯估计与模型比较
WinBUGS对多元随机波动率SV模型:贝叶斯估计与模型比较
|
5月前
|
存储 自然语言处理 数据可视化
可视化FAISS矢量空间并调整RAG参数提高结果精度
随着开源大型语言模型的性能不断提高,编写和分析代码、推荐、文本摘要和问答(QA)对的性能都有了很大的提高。但是当涉及到QA时,LLM通常会在未训练数据的相关的问题上有所欠缺,很多内部文件都保存在公司内部,以确保合规性、商业秘密或隐私。当查询这些文件时,会使得LLM产生幻觉,产生不相关、捏造或不一致的内容。
169 0
|
23天前
|
机器学习/深度学习 数据可视化 数据建模
使用ClassificationThresholdTuner进行二元和多类分类问题阈值调整,提高模型性能增强结果可解释性
在分类问题中,调整决策的概率阈值虽常被忽视,却是提升模型质量的有效步骤。本文深入探讨了阈值调整机制,尤其关注多类分类问题,并介绍了一个名为 ClassificationThresholdTuner 的开源工具,该工具自动化阈值调整和解释过程。通过可视化功能,数据科学家可以更好地理解最优阈值及其影响,尤其是在平衡假阳性和假阴性时。此外,工具支持多类分类,解决了传统方法中的不足。
25 2
使用ClassificationThresholdTuner进行二元和多类分类问题阈值调整,提高模型性能增强结果可解释性
|
3月前
|
PyTorch 测试技术 算法框架/工具
【YOLOv8改进 - 卷积Conv】SPConv:去除特征图中的冗余,大幅减少参数数量 | 小目标
YOLO目标检测专栏探讨了模型优化,提出SPConv,一种新卷积操作,减少特征冗余,提升效率。SPConv将特征分为代表性和不确定部分,分别处理,再融合。实验显示,SPConv在速度和准确性上超越现有基准,减少FLOPs和参数。论文和PyTorch代码已公开。更多详情及实战案例见CSDN博客链接。
|
4月前
|
机器学习/深度学习 算法
GBDT算法超参数评估(一)
GBDT(Gradient Boosting Decision Tree)是一种强大的机器学习技术,用于分类和回归任务。超参数调整对于发挥GBDT性能至关重要。其中,`n_estimators`是一个关键参数,它决定了模型中弱学习器(通常是决策树)的数量。增加`n_estimators`可以提高模型的复杂度,提升预测精度,但也可能导致过拟合,并增加训练时间和资源需求。
|
4月前
|
机器学习/深度学习 算法
GBDT算法超参数评估(二)
GBDT算法超参数评估关注决策树的不纯度指标,如基尼系数和信息熵,两者衡量数据纯度,影响树的生长。默认使用基尼系数,计算快速,而信息熵更敏感但计算慢。GBDT的弱评估器默认最大深度为3,限制了过拟合,不同于随机森林。由于Boosting的内在机制,过拟合控制更多依赖数据和参数如`max_features`。相比Bagging,Boosting通常不易过拟合。评估模型常用`cross_validate`和`KFold`交叉验证。
|
3月前
|
机器学习/深度学习 索引 Python
。这不仅可以减少过拟合的风险,还可以提高模型的准确性、降低计算成本,并帮助理解数据背后的真正含义。`sklearn.feature_selection`模块提供了多种特征选择方法,其中`SelectKBest`是一个元变换器,可以与任何评分函数一起使用来选择数据集中K个最好的特征。
。这不仅可以减少过拟合的风险,还可以提高模型的准确性、降低计算成本,并帮助理解数据背后的真正含义。`sklearn.feature_selection`模块提供了多种特征选择方法,其中`SelectKBest`是一个元变换器,可以与任何评分函数一起使用来选择数据集中K个最好的特征。
|
5月前
|
机器学习/深度学习 数据可视化 算法
支持向量回归SVR拟合、预测回归数据和可视化准确性检查实例
支持向量回归SVR拟合、预测回归数据和可视化准确性检查实例
|
5月前
|
算法 数据挖掘
WinBUGS对多元随机波动率模型:贝叶斯估计与模型比较
WinBUGS对多元随机波动率模型:贝叶斯估计与模型比较
|
5月前
|
存储 数据可视化 计算机视觉
基于YOLOv8的自定义数据姿势估计
基于YOLOv8的自定义数据姿势估计
下一篇
无影云桌面