数据挖掘 part_4

1 mins.1.4k1282

Loss函数是机器学习模型优化的核心,梯度下降算法是优化的主要手段。本章系统介绍常见的Loss函数及其应用、梯度下降算法的变体、线性模型与Loss函数的结合、正则化方法,以及相关的手算例题。


1. Loss函数的概念

1.1 定义

Loss函数(损失函数)用于衡量模型预测值与真实值之间的差异,其值越小表示模型预测越准确。

1.2 作用

  • 优化目标:通过调整模型参数,最小化Loss函数的值。
  • 指导模型学习:Loss函数提供了梯度信息,用于模型参数的更新。

可以如此简单的理解,将我们想要达到的目标(如常见的预测误差最小)作为运筹优化的目标函数,得到一个线性或非线性的优化问题,那么我们所使用的各种不同算法
都只是在目标函数具体形式和如何寻找满意解上有所不同。通过训练过程中对目标函数的不断优化,我们就会得到我们最终的模型。

1.3 常见Loss函数(公式可以参考part_1的内容)

  • 均方误差 (Mean Squared Error, MSE):回归任务中常用。
  • 对数损失 (Log Loss, Cross Entropy):分类任务中常用。
  • 平滑L1损失 (Smooth L1 Loss):兼顾L1和L2的优点,适用于含噪声的回归任务。

1.3.1 均方误差 (MSE)

特点

  • 对偏离较大的点惩罚更大(平方项)。
  • 常用于回归问题,例如线性回归。

1.3.2 对数损失 (Log Loss, Cross Entropy)

特点

  • 适用于二分类问题或多分类问题(结合 Softmax)。
  • 惩罚预测概率与真实类别的偏差。

1.3.3 平滑L1损失 (Smooth L1 Loss)

Loss

特点

  • 对小误差表现为L2损失,对大误差表现为L1损失。
  • 常用于目标值含噪声的回归问题。

2. 梯度下降算法 (Gradient Descent)

梯度下降算法是求解非线性规划常用的一种方法,正如我上文所说,优化目标函数可以看作非线性规划。

2.1 基本思想

通过迭代优化,找到使Loss函数最小的参数。

更新公式

Loss


2.2 梯度下降的三种变体

  1. 批量梯度下降 (Batch Gradient Descent):

    • 使用整个数据集计算梯度。
    • 优点:更新稳定。
    • 缺点:计算成本高。
  2. 随机梯度下降 (Stochastic Gradient Descent, SGD):

    • 每次仅使用一个样本计算梯度。
    • 优点:计算速度快。
    • 缺点:更新不稳定,可能震荡。
  3. 小批量梯度下降 (Mini-batch Gradient Descent):

    • 使用数据集的一部分(小批量)计算梯度。
    • 优点:在速度和稳定性之间折中。

3. 线性模型与Loss函数的结合

3.1 线性回归

Loss函数

  • 通常使用均方误差 (MSE)。

3.2 逻辑回归 (Logistic Regression)

Loss函数

  • 通常使用对数损失(交叉熵)。

3.3 多分类问题:Softmax回归

Loss


4. 正则化 (Regularization)

正则化是在Loss函数后增加一项有关于模型复杂度的正则化项,以达到限制模型复杂度的作用,防止过拟合(如果忘记了过拟合的相关内容请查看part_2

具体正则化方式如下所示:

Loss


5. 手算例题

Loss


Loss


Loss


Loss

Previous

  • 数据挖掘

      数据挖掘 part_5

      神经网络是一种强大的机器学习模型,模仿生物神经网络的信息处理方式,广泛应用于图像、文本、语音等领域。以下内容将逐步介绍人工神经网络(ANN)、卷积神经网络(CN...

    • Next

    • 数据挖掘

        数据挖掘 part_3

        本章介绍 KNN(k-最近邻)和决策树的原理、关键参数以及优缺点,重点展示相关的数学公式,以便深入理解其工作机制。 1. KNN (k-Nearest Neig...

      • Comments

        What do you think?
        • 1
        • 0
        • 0
        • 0
        • 0
        • 0
        2 Comments
        • Latest
        • Oldest
        • Hottest
        ThanafoxAdminSticky2024-12-30

        勘误:第二题的计算步骤有问题倒数第三部的0log(0.8)应改为1log(0.8),后面的具体算数也应做调整,感谢lyx指正weibo_dog_think

        Xof2024-12-29

        贴心的包装,宝宝最爱的儿童套餐~

        Powered by Waline v2.15.8
        感谢您阅读: 「数据挖掘 part_4 | Thanafox's Blog」