Day19_【机器学习—线性回归 (2)—损失函数、梯度下降法】

三、损失函数简介

线性回归的目标是找到一条最佳拟合直线,而"最佳"是由损失函数定义的,优化过程就是最小化这个损失函数。

损失函数:衡量真实值与预测值之间差异的函数,也叫代价函数、成本函数、目标函数

四、损失函数的数学表达方式

1.最小二乘法

  • yi:第 i 个样本的真实值
  • y^i:模型对第 i 个样本的预测值
  • n:样本数量

2.均方误差MSE

  • n:样本数量
  • yi:第 i 个样本的真实值
  • y^i:模型对第 i 个样本的预测值
  • (yi−y^i):预测误差(残差)

3.平均绝对误差MAE

  • n:样本数量
  • yi:第 i 个样本的真实值
  • y^i:模型对第 i 个样本的预测值
  • (yi−y^i):预测误差(残差)

4.MSE vs MAE 简单对比

特性 MSE MAE
是否放大异常值影响 ✅ 是(平方) ❌ 否(绝对值)
是否可导处处 ✅ 是(光滑) ❌ 否(在0处不可导)
单位 目标值的平方 与目标值相同
优化倾向 避免大错误 平均小误差

五、最小化损失函数的方法

1.梯度下降法(重点)

1.1.核心思想

梯度:

  • 单变量函数中,梯度就是某一点切线斜率(某一点的导数);有方向为函数增长最快的方向
  • 多变量函数中,梯度就是某一个点的偏导数;有方向:偏导数分量的向量方向

梯度下降:

是一种通过沿损失函数"最陡下降方向"迭代更新参数,以找到最小值的优化算法。

1.2.数学表达式

梯度下降公式:

注意 :

  1. α: 学习率(步长) ,步长决定了在梯度下降迭代的过程中,每一步沿梯度负方向前进的长度
  • 学习率太小,下降的速度会慢
  • 学习率太大:容易造成错过最低点、产生下降过程中的震荡、甚至梯度爆炸.
  • 范围:0.001 ~ 0.01
  1. 梯度的方向
  • 实际就是函数在此点上升最快的方向, 我们需要是下降最快的方向, 所以需要加负号

3.梯度下降的优化过程

  • 两次差距小于指定的阈值
  • 达到指定的迭代次数
1.3.梯度下降分类

目前最常用的是小批量梯度下降(mini-batch),它结合了SGD的高效和FGD的稳定性,避免了两者的缺点,在实际应用中表现出色。

1.3.1 全梯度下降(F GD)
  • 特点:使用全部数据集进行训练。
  • 优点
    • 训练过程稳定,收敛到全局最优解的可能性大。
  • 缺点
    • 计算速度较慢,尤其是在数据量大的情况下。
    • 内存占用高,需要存储所有样本的梯度。
1.3.2 随机梯度下降(SGD)
  • 特点:每次只使用一个样本进行迭代更新。
  • 优点
    • 简单高效,计算速度快。
    • 可以在大数据集上实时更新模型参数。
  • 缺点
    • 收敛过程不稳定,容易受到噪声影响。
    • 容易陷入局部最优解,特别是在遇到异常值时。
1.3.3 小批量梯度下降(mini-batch)
  • 特点:结合了SGD的高效和FGD的稳定性,每次使用一小部分样本进行迭代。
  • 优点
    • 避免了FGD运算效率低和SGD收敛效果不稳定的缺点。
    • 平衡了计算速度和收敛稳定性,是目前最常用的梯度下降方法。
  • 应用
    • 广泛应用于深度学习和大规模机器学习任务中。
1.3.4 随机平均梯度下降(SAG)
  • 特点:每轮梯度更新都结合了上一轮的梯度值。
  • 优点
    • 利用历史梯度信息,优化速度较快。
  • 缺点
    • 训练初期表现不佳,优化速度较慢,因为初始梯度常设为0。
    • 内存需求较高,需要存储每个样本的历史梯度。

2.正规方程法(了解)

正规方程法的核心思想:利用数学求导+解方程,直接"算出"最优参数。

3.二种方法对比

相关推荐
深兰科技5 小时前
深兰科技AI问诊助手走访打浦桥街道社区卫生服务中心
人工智能·windows·github·postman·visual studio·深兰科技·ai问诊
道一235 小时前
Keras/TensorFlow 中 `predict()` 函数详细说明
人工智能·tensorflow·keras
victory04315 小时前
Time-MOE添加MLP分类头进行分类任务
人工智能·分类·数据挖掘
赴3355 小时前
食物分类案例优化改进 (数据增强,最优模型保存和使用)
人工智能·分类·数据挖掘·数据增强·保存最优模型
李铁柱的5 小时前
数值分析——误差的来源与分类、误差的基本概念(绝对误差、相对误差、有效数字)
人工智能·算法·分类·数据挖掘
七夜zippoe5 小时前
Java 技术支撑 AI 系统落地:从模型部署到安全合规的企业级解决方案(二)
java·人工智能·安全
dlraba8025 小时前
矿物类型分类实战:从数据预处理到多模型对比
人工智能·分类·数据挖掘
Sui_Network5 小时前
Yotta Labs 选择 Walrus 作为去中心化 AI 存储与工作流管理的专用数据层
大数据·javascript·人工智能·typescript·去中心化·区块链
IAM四十二6 小时前
基于 Embedding 实现一个本地相册搜索功能
人工智能·python·llm