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.二种方法对比

相关推荐
云知谷2 小时前
【C++基本功】C++适合做什么,哪些领域适合哪些领域不适合?
c语言·开发语言·c++·人工智能·团队开发
rit84324992 小时前
基于MATLAB实现基于距离的离群点检测算法
人工智能·算法·matlab
初学小刘3 小时前
深度学习:从图片数据到模型训练(十分类)
人工智能·深度学习
递归不收敛4 小时前
大语言模型(LLM)入门笔记:嵌入向量与位置信息
人工智能·笔记·语言模型
之墨_4 小时前
【大语言模型】—— 自注意力机制及其变体(交叉注意力、因果注意力、多头注意力)的代码实现
人工智能·语言模型·自然语言处理
从孑开始5 小时前
ManySpeech.MoonshineAsr 使用指南
人工智能·ai·c#·.net·私有化部署·语音识别·onnx·asr·moonshine
涛涛讲AI5 小时前
一段音频多段字幕,让音频能够流畅自然对应字幕 AI生成视频,扣子生成剪映视频草稿
人工智能·音视频·语音识别
可触的未来,发芽的智生5 小时前
新奇特:黑猫警长的纳米世界,忆阻器与神经网络的智慧
javascript·人工智能·python·神经网络·架构
悟乙己5 小时前
MLops | 基于AWS Lambda 架构构建强大的机器学习(ML)血缘关系
机器学习·架构·aws
WWZZ20256 小时前
快速上手大模型:机器学习2(一元线性回归、代价函数、梯度下降法)
人工智能·算法·机器学习·计算机视觉·机器人·大模型·slam