跳到主要内容

通用概念

在机器学习中,模型评估是理解模型性能的关键一步。此过程中的两个关键概念是假设和损失函数。

假设

假设,通常表示为 hθh_\theta,代表了给定特定输入数据时,用于预测输出的模型。对于输入 x(i)x^{(i)},模型预测值为 hθ(x(i))h_\theta (x^{(i)})

损失函数

损失函数衡量实际值与预测值之间的差异。它们对于模型训练至关重要,为模型的性能提供反馈。常见的损失函数包括:

  • 最小二乘误差 (适用于线性回归):

    12(yz)2\frac{1}{2}(y - z)^2
  • 逻辑损失 (适用于逻辑回归):

    log(1+exp(yz))\log(1 + \exp(-yz))
  • Hinge损失 (适用于支持向量机 - SVM):

    max(0,1yz)\max(0, 1 - yz)
  • 交叉熵损失 (适用于神经网络):

    [ylog(z)+(1y)log(1z)]-[y\log(z) + (1 - y)\log(1 - z)]

与每个损失函数相关的图表显示了误差如何相对于预测值 zz 随不同实际值 yy 的变化而变化。

成本函数

成本函数,表示为 JJ,聚合了所有训练样本的损失,并用于评估模型的性能。它被定义为所有 mm 个训练样本的单个损失函数值的总和:

J(θ)=i=1mL(hθ(x(i)),y(i)) J(\theta) = \sum_{i=1}^{m} L(h_\theta(x^{(i)}), y^{(i)})

其中 LL 是所选的损失函数,hθ(x(i))h_\theta(x^{(i)}) 是第 ii 个样本的假设,y(i)y^{(i)} 是实际值。

这个框架允许通过训练优化模型参数 θ\theta,通常使用梯度下降等算法,目标是最小化成本函数 J(θ)J(\theta)

机器学习中的优化算法

优化算法对于找到机器学习模型的最佳参数至关重要。这些算法旨在最小化成本函数,该函数衡量模型的预测误差。

梯度下降

梯度下降是一种基础的优化方法,通过沿成本函数 J(θ)\nabla J(\theta) 梯度的反方向更新参数 θ\theta 来最小化成本函数 J(θ)J(\theta)

  • 更新规则:

    θθαJ(θ)\theta \leftarrow \theta - \alpha \nabla J(\theta)
  • α\alpha:学习率,一个决定步长的正标量。

  • J(θ)\nabla J(\theta):成本函数相对于参数的梯度。

图形表示显示了成本函数的同心等高线,梯度指向最陡峭的上升方向。梯度下降沿相反方向移动以达到最小值。

  • 随机梯度下降 (SGD):为每个训练样本更新参数。
  • 批量梯度下降:为一批训练样本更新参数。

似然

似然函数 L(θ)L(\theta) 衡量给定一组参数 θ\theta 的情况下,观测数据有多大的可能性。

  • 优化目标:

    θopt=argmaxθL(θ)\theta_{opt} = \arg \max_{\theta} L(\theta)
  • 在实践中,对数似然 (θ)=log(L(θ))\ell(\theta) = \log(L(\theta)) 被优化,因为它更容易处理,尤其是在处理概率乘积时。

牛顿算法

牛顿算法,也称为牛顿-拉弗森法,是一种优化技术,通过求解 (θ)=0\ell'(\theta) = 0 来寻找参数 θ\theta,其中 (θ)\ell(\theta) 通常是损失函数或似然函数。

  • 更新规则 (标量情况):

    θθ(θ)(θ)\theta \leftarrow \theta - \frac{\ell'(\theta)}{\ell''(\theta)}
  • 更新规则 (多维推广):

    θθ(2(θ))1(θ)\theta \leftarrow \theta - (\nabla^2\ell(\theta))^{-1} \nabla\ell(\theta)

这里,2(θ)\nabla^2\ell(\theta) 是二阶偏导数的Hessian矩阵。这种方法考虑了 (θ)\ell(\theta) 的曲率,这可以导致比梯度下降更快的收敛速度,尤其是在表现良好的二次问题中。