机械学习中的参数和超参数

在机器学习过程中,我们经常会遇到两个核心概念:参数(Parameters)超参数(Hyperparameters)。虽然它们听起来相似,但在机器学习模型的构建与调优中扮演着截然不同的角色。

一、二者区别

1.得到方式不同

参数是通过模型训练得到的,超参数是人为设定得到的。

我们要人为设定一些数据,这些数据是超参数,根据我们设定的数据和模型,得到的数据是参数。

以深度学习训练为例,训练图像数据集,我们要提前设定迭代次数,学习速率,这些数据是超参数;我们设定好以后,模型自己训练会得到权重,这个数据是参数。

2.影响因素不同

超参数来源于人的经验,会受到硬件的制约,例如学习速率,如果电脑配置不行,那速率太快电脑带不起来,CPU和GPU处理图像时速率也有差别。

参数主要受模型的影响,不同的模型,训练得到的结果差距很大,例如YOLO是实时监测,速度快,但是准确度有所下降。R-CNN速度没有YOLO快,但是在识别准确度上要更好。那这两个模型训练得到的参数是有很大不同的。

3.可控程度不同

超参数是人为设定,可控性高,参数与模型有关,得到的结果有时候与期望有差距,可控性较差。

二、参数:模型内部的学习变量

参数是机器学习模型在训练过程中通过数据学习得到的数值。它们是模型内部的一部分,用于在给定输入下预测输出。不同类型的模型有不同的参数,例如:

1.线性回归:权重(weights)和偏置(bias)。

2.逻辑回归:同样包括权重和偏置,但输出通过sigmoid函数转换为概率。

3.神经网络:神经元之间的连接权重和偏置,以及激活函数的参数(尽管后者有时也被视为超参数的一部分)。

统计学中,描述总体特征的概括性数字度量,它是研究者想要了解的总体的某种特征值。总体未知的指标叫做参数。

机器学习领域,参数还有自己独特的含义,由模型通过学习得到的变量,叫参数,比如权重w和偏置b。

参数的学习通常依赖于优化算法,如梯度下降,这些算法会不断调整参数值以最小化损失函数,从而改善模型的预测准确性。

三、超参数:模型外部的配置选项

1、超参数的认识

在机器学习的上下文中,超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。通常情况下,需要对超参数进行优化,给学习机选择一组最优超参数,以提高学习的性能和效果,而如何调整超参数使训练成果达到我们预期也是我们在进行yolo训练中所需要重点考虑的事情。

超参数通常存在于:

1. 定义关于模型的更高层次的概念,如复杂性或学习能力。

2. 不能直接从标准模型培训过程中的数据中学习,需要预先定义。

3. 可以通过设置不同的值,训练不同的模型和选择更好的测试值来决定

​ 超参数具体来讲比如算法中的学习率(learning rate)、梯度下降法迭代的数量(iterations)、隐藏层数目(hidden layers)、隐藏层单元数目、激活函数( activation function)都需要根据实际情况来设置,这些数字实际上控制了最后的参数和的值,所以它们被称作超参数。

超参数的选择通常是一个试错的过程,需要根据经验和领域知识进行调整。不同的超参数设置可能会导致模型性能的差异,因此调整超参数是优化模型性能的重要步骤。一些常用的方法包括网格搜索、随机搜索、贝叶斯优化

2、神经网络训练过程的超参数

直接影响神经网络训练过程的超参数包括学习率(Learning Rate)、批量大小(Batch Size)、迭代次数(Epochs)和优化算法(Optimizer)。这些超参数共同决定了训练过程中模型权重的更新方式、训练速度、稳定性和最终性能。

1.学习率(Learning Rate)

定义:学习率决定了在优化过程中更新模型权重的步长。

影响:较高的学习率可能导致模型在训练过程中超过最优解,甚至导致训练过程发散;而较低的学习率则可能使训练过程收敛缓慢,需要更多的迭代次数。

调整策略:通常需要通过实验找到合适的学习率,或者采用学习率调度策略,如动态调整学习率或使用学习率衰减。

2.批量大小(Batch Size)

定义: 批量大小指的是每次梯度下降迭代中使用的训练样本数量。

影响: 较大的批量大小可以加速训练过程,因为可以并行处理更多的样本,但可能导致内存不足和泛化能力下降;较小的批量大小可以引入更多的噪声,有助于模型跳出局部最优解,但训练过程可能不稳定且收敛速度较慢。

选择原则: 需要根据硬件资源、数据集大小和训练时间来选择合适的批量大小。

3.迭代次数(Epochs)

定义: 迭代次数指的是整个训练数据集被遍历和学习的次数。

影响: 过少的迭代次数可能导致模型未能充分学习数据集中的特征,导致欠拟合;而过多的迭代次数则可能导致模型过拟合,即模型在训练集上表现很好,但在测试集上表现不佳。

调整策略: 通常需要通过观察验证集上的性能指标来确定合适的迭代次数。

4.优化算法(Optimizer)

定义:优化算法决定了如何更新模型参数以最小化损失函数。

常见优化算法:包括随机梯度下降(SGD)、动量(Momentum)、RMSprop、Adam等。

影响:不同的优化算法具有不同的收敛速度和性能表现。例如,Adam优化器结合了动量和RMSprop的优点,能够自动调整学习率,通常比SGD具有更快的收敛速度和更好的性能。

选择原则:需要根据具体问题和数据集的特点选择合适的优化算法。


机械学习中的参数和超参数
http://localhost:8090//archives/ji-jie-xue-xi-zhong-de-can-shu-he-chao-can-shu
作者
曾晓涛
发布于
2024年12月04日
许可协议