机器学习基础:梯度下降(以线性回归为例)
创作时间:
作者:
@小白创作中心
机器学习基础:梯度下降(以线性回归为例)
引用
CSDN
1.
https://m.blog.csdn.net/maodajitui/article/details/145999259
梯度下降是机器学习中一种常用且重要的优化算法,广泛应用于各种模型的参数优化。本文将通过一个简单的线性回归案例,详细讲解梯度下降算法的基本原理和实现过程。
梯度下降:通过让损失函数最小(即理想状态是其导数为0),来找到最佳权重等参数的方法。即该状态下获得的自变量x的权重w及截距b所构成的公式(见代码),能够输出最接近真实值的预测值。
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'SimHei' # 用于解决matplotlib绘图不显示中文的问题,没问题可忽略。
# 1. 生成模拟数据
np.random.seed(42) # 固定随机种子,确保结果可复现
m = 100 # 样本数量
x = np.random.rand(m, 1) * 2 # 特征x范围 [0, 2)
true_w = 3 # 真实权重(斜率)
true_b = 5 # 真实偏置(截距)
y = true_w * x + true_b + np.random.randn(m, 1) * 0.5 # 生成y,添加高斯噪声
# 2. 初始化参数
w = 0.0 # 初始权重
b = 0.0 # 初始偏置
eta = 0.1 # 学习率
n_iters = 50 # 迭代次数
# 存储训练过程中的损失和参数历史(用于可视化)
losses = []
weights = [w]
biases = [b]
# 3. 梯度下降迭代
for epoch in range(n_iters): #既可以设置迭代次数,也可以设置损失函数之差的阈值
# 计算预测值
y_pred = w * x + b
# 计算损失(均方误差)
loss = np.mean((y_pred - y)**2)
losses.append(loss)
# 计算梯度
error = y_pred - y
grad_w = (1/m) * np.sum(x * error) # 权重梯度
grad_b = (1/m) * np.sum(error) # 偏置梯度
# 更新参数
w = w - eta * grad_w
b = b - eta * grad_b
# 记录参数历史
weights.append(w)
biases.append(b)
# 4. 输出最终结果
print(f"真实参数:w = {true_w}, b = {true_b}")
print(f"训练结果:w = {w:.4f}, b = {b:.4f}")
# 5. 可视化
plt.figure(figsize=(15, 5))
# 预测直线与原始数据
plt.subplot(1, 2, 1)
plt.scatter(x, y, s=10, label="原始数据")
plt.plot(x, w*x + b, c='red', lw=2, label=f"预测直线: y = {w:.2f}x + {b:.2f}")
plt.xlabel("x (特征)")
plt.ylabel("y (目标变量)")
plt.legend()
# 损失函数下降过程
plt.subplot(1, 2, 2)
plt.plot(range(n_iters), losses, marker='o', linestyle='--', c='green')
plt.xlabel("迭代次数")
plt.ylabel("均方误差 (MSE)")
plt.title("损失函数下降过程")
plt.grid(True)
plt.show()
热门推荐
日本料理美味的秘诀在于酒曲
浅谈孔子教育思想与素质教育
驾校人证核验:法律规范与实践要点
白血病分类及注意事项
加拿大留学会计专业就业前景分享
吸烟对心血管系统的危害及戒烟的重要性及实施方法
DR、CT、核磁、B超到底有什么区别?一篇文章给您解释清楚
什么是EPC临时设施费合同价?其法律定义与实践探讨
方舟:生存进化 食物配方作用一览 民以食物为天
腹绞痛怎么判断肠胆还是肾
羽毛球磅数影响着每一次挥拍的力度、角度乃至最终击球的结果
看完恐怖片后如何消除恐惧?7个实用方法帮你轻松应对
专家建议:泡面多久可以吃一次
针灸治疗出血症
车子一年跑不到五千公里该如何保养?内行教你正确做法,不会被坑
《克林索尔最后的夏天》——探索生命真谛的心灵之旅
归元寺 罗汉解签
狄仁杰:古代法治智慧的现代启示录
三方协议合同怎么写:一份完整的法律指南
促炎细胞因子和抗炎细胞因子之间的平衡
《童年》第一章的读书笔记合集
有钱人的投资策略:多元化、长期视角与严格风控
世界观原理和方法论依据是什么
2025年"冶"字起名搭配建议:寻找美好中性音韵
新版高血压指南推荐的6种中成药:功效与适用人群全解析
【普法课堂】案件中“证据的重要性”
智能手表监测数据全解析:哪些能信?哪些别太当真?
认缴企业股权变更的法律实务分析及操作指南
年终奖合并计税or单独计税哪个更划算?个税筹划方案来了→内附测算模型
历史上真正的妲己:仅存文字描绘的绝世佳人