【机器学习入门】第3讲:数学基础(下)——梯度下降与损失函数的核心

资源软件动作暨昝绳鹤锁多好 /494b36Tkwj😕
链接:https://pan.quark.cn/s/43159509c536
「微信被删好友检测工具」筷莱坌教狴犴狾夺郝 链接:https://pan.quark.cn/s/43159509c536
链接:https://pan.quark.cn/s/4598337f6b3e
「【美剧系列】」链接:https://pan.quark.cn/s/663e3ca79519

复制群口令 !0b7236TlXn!😕
将加入群聊免费医院分享

引言:从“盲人下山”到模型优化

想象你是一个盲人,站在一座崎岖的山坡上,目标是以最快速度找到山谷的最低点。你会怎么做?

  • 策略1:用脚探测周围坡度,向最陡的下坡方向迈步
  • 策略2:每步迈出的距离(学习率)要合理——步子太大会错过谷底,太小则耗时太久

这正是梯度下降(Gradient Descent)的核心思想!本文将深入解析这一机器学习中最关键的优化算法,并详解损失函数的设计逻辑。


一、梯度下降:机器学习的“导航仪”

1.1 什么是梯度下降?

  • 数学定义:通过计算损失函数的梯度(导数),沿负梯度方向迭代更新参数以最小化损失
  • 核心公式
    θ = θ - η * ∇J(θ)
    
    • θ:模型参数(如线性回归中的权重w和偏置b)
    • η:学习率(步长)
    • ∇J(θ):损失函数对参数的梯度
几何解释
  • 三维视角:损失函数构成一个曲面,梯度指向该点最陡上升方向,负梯度即最陡下降方向
  • 代码可视化
    import numpy as np
    import matplotlib.pyplot as plt
    
    # 定义损失函数 J(w) = w² + 2w + 5
    w = np.linspace(-5, 5, 100)
    J = w**2 + 2*w + 5
    
    plt.plot(w, J, label="J(w)")
    plt.xlabel("w")
    plt.ylabel("Loss")
    plt.title("梯度下降可视化(单变量)")
    plt.grid()
    plt.show()
    

1.2 学习率:决定收敛速度的关键

学习率的影响
  • η太小:收敛速度慢,需要大量迭代(如图①)
  • η合适:快速收敛到最小值(如图②)
  • η太大:在谷底震荡甚至发散(如图③)

代码模拟不同学习率的效果

def gradient_descent(eta, steps):
    w = -4.0  # 初始参数
    history = []
    for _ in range<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凉亭下

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值