Torch - 优化器和损失函数
Torch 中的优化器和损失函数对于训练神经网络来说非常困难 常见的损失函数度量指定对交叉输入损失进行分类的回归任务的均方误差 (MSE)。Torch 中的每个组件都在训练循环中协同工作,其中优化器根据完成损失函数的梯度重新更新模型参数。
优化器
Adams 和随机优化器确定最小化损失函数的参数,该损失函数测量损失函数,该损失函数测量实际值和预测值之间的差异。
随机梯度下降 (SGC):这是一种优化算法,用于最小化机器学习模型中的损失函数。它使用整个数据集完成梯度,仅使用一次或几次训练迭代即可更新模型参数。
自适应矩估计 (Adam):它结合了随机梯度下降扩展的另外两个优点。这完成了每个参数的自适应学习率。
RMSprop:指数衰减平均值的学习率除以平方梯度。
损失函数
损失函数在机器学习中至关重要,因为它们量化了指定实际数据的模型预测。它们测量预测输出,真实输出返回优化过程。常见的损失函数包括回归任务的均方误差,用于计算实际值和预测值。
MSELoss(均方误差):这测量实际值和预测值之间的平均平方差,通常用于回归任务。
CrossEntropyLoss:它将NULLoss和LogSoftmax组合成一个类。用于分类任务。每个损失函数对于多类问题都特别有效,它可以计算真实分布和预测概率分布之间的差异。
NULLoss(负对数似然):这用于输出为概率分布的分类问题。损失函数在处理多分类任务时特别有效。
常用机器
Torch 是使用面向对象范式开发的,该范式使用现有算法中的修改或新算法的设计来实现。以下是常用的方法 −
梯度机
反向传播算法引入了机器学习中的这一重要技术。这是将简单的梯度下降应用于复杂的可导函数。 Torch 确定训练好的梯度下降函数。
数学表示如下 −
$$\mathrm{f_{(w)}(x)=v_0+\sum^{N}{j=1}v_j\:tanh\:(v{j0}+\sum^{d}{i=1}u{ji}x^{i})}$$
该公式通过迭代更新训练集中的每个示例的函数来优化权重。这计算了成本函数的导数。本文通过确定要实现的不同梯度机和成本函数来指定 Torch 的模块化。这种方法简化了复杂的模型创建。
支持向量机 (SVM)
支持向量机是非常强大的机器学习算法,广泛用于分类任务。这些在不同的分类问题上都表现出了良好的性能。
数学表示如下 −
$$\mathrm{k(x,x_{j})=exp(\:(−\gamma)\lVert x_{i}−x_{j}\lVert^{2})(\gamma \:\epsilon \:R)}$$
训练 SVM 涉及解决优化问题,即表示为 −
$$\mathrm{y=sign (\sum^{T}_{i=1}y_i\:\alpha_i\:K(x,x_i)+b)}$$
最常用的高斯核 −
$$\mathrm{Q(\alpha)=−\sum^{T}{i=1}\alpha{i}+\frac{1}{2}\sum^{T}{i=1}\sum^{T}{j=1}\alpha_i \alpha_j y_iy_jk(x_i x_j)}$$
分布
Torch 分布是一个对象,例如例如,高斯分布可以计算数据集的概率、似然或密度。可以使用各种训练算法(例如异常最大化或维特比算法)来确定此分布中的参数。Torch 分布是一种经过专门训练的梯度机,用于优化不同的标准,或者我们可以创建非常复杂的机器。