概念的初步认识和学习
一、损失函数
损失函数是衡量模型预测值与真实值之间差异的一个量度,通过最小化这个差异来优化模型的参数。损失函数的选择直接影响到模型的训练效果和最终性能。
二、one-hot编码
one-hot编码使用N位状态寄存器来对N个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候其中只有一位有效(即为1,其余为0)。具体来说,对于每个分类变量,都会为其分配一个唯一的二进制位,并使用该位来表示该变量的取值。如果变量取值为某个类别,则对应的二进制位为一,其余位为0。
如:猫、狗、鸟三分类中,猫可以被编码为[1,0,0],狗为[0,1,0],鸟为[0,0,1]
三、优化器
优化器是一种用于调整神经网络模型参数以最小化损失函数的算法,优化器的目标是根据输入数据和期望的输出标签来调整模型的权重和偏置,使得模型能够更好地拟合训练数据并在未见过的数据上表现良好。
四、梯度下降
梯度下降是一种广泛使用的优化算法,特别是在机器学习和深度学习领域中。它主要用于求解目标函数的最小值,通过迭代地调整参数来逼近最优解。
梯度下降法的基本步骤可以归纳如下:
1.确定目标函数:首先,需要明确要优化的目标函数,即损失函数。
2.初始化参数:随机选择一组参数作为起始点。
3.计算梯度:在当前参数位置,计算目标函数关于参数的梯度。
4.更新参数:使用梯度乘以一个学习率(步长)来更新参数,使得参数向梯度的反方向移动,从而减小目标函数的值。
5.迭代执行:重复步骤3和4,直到满足停止条件(如梯度接近零、达到最大迭代次数或目标函数值小于某个阈值)。
五、特征缩放(归一化)
使用单一指标对某事物进行评价并不合理,因此需要多指标综合评价方法。多指标综合评价方法,就是把描述某事物不同方面的多个指标综合起来得到一个综合指标,并通过它评价、比较该事物。由于性质不同,不同评价指标通常具有不同的量纲和数量级。当各指标相差很大时,如果直接使用原始指标值计算综合指标,就会突出数值较大的指标在分析中的作用、削弱数值较小的指标在分析中的作用。
为消除各评价指标间量纲和数量级的差异、保证结果的可靠性,就需要对各指标的原始数据进行特征缩放(也有数据标准化、数据归一化的说法,但这些叫法不准确,所以不推荐)。
由于量纲和数量级不同,所以需要特征缩放。特征缩放可以显著提升部分机器学习算法的性能,但它对部分算法没有帮助。
六、训练集、验证集、测试集
在机器学习和深度学习中,数据集通常被划分为三个部分:训练集、验证集、测试集。这种划分是为了在模型开发和评估过程中保持数据的独立性和模型的泛化能力。训练集用于训练模型。验证集用于在训练过程中评估模型性能,帮助选择最佳模型参数。测试集用于在模型训练完成后评估其泛化能力。
1.训练集
目的:训练集用于训练模型,即让模型学习数据中的特征和模式。
过程:在训练过程中,模型会不断迭代地调整其内部参数(如权重和偏置),以最小化在训练集上的损失函数,从而提高模型对训练数据的拟合能力。
注意:由于模型在训练集上进行了优化,因此它很可能对训练集过拟合,即模型在训练集上表现良好,但在未见过的数据上表现不佳。
2.验证集
目的:验证集用于在训练过程中评估模型的性能,帮助选择最佳的模型参数(如学习率、网络架构等)。
过程:在训练过程中,模型会定期在验证集上进行评估,以监控其性能。如果模型在验证集上的性能开始下降(即出现过拟合),则可以停止训练,并选择此时的最佳模型作为最终模型。
注意:验证集不应参与模型的训练过程,以确保评估的公正性。然而,由于验证集在训练过程中被频繁使用,它也可能包含一些训练集的信息,从而影响模型的泛化能力。
3.测试集
目的:测试集用于在模型训练完成后评估其性能,以确定模型对未见过的数据的泛化能力。
过程:在模型训练完成后,测试集被用来评估模型的最终性能。这个评估结果是模型在实际应用中的性能的一个近似估计。
注意:测试集应该完全独立于训练集和验证集,以确保评估的公正性和准确性。测试集只应使用一次,以避免任何形式的过拟合或数据泄露。