机器学习基础:梯度下降(以线性回归为例)
创作时间:
作者:
@小白创作中心
机器学习基础:梯度下降(以线性回归为例)
引用
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()
热门推荐
斯特凡·巴托雷:波兰翼骑兵之父的秘密武器
河南信阳地理位置有多重要,为何不划给湖北?
波兰翼骑兵:从辉煌到传奇的艺术蜕变
克鲁申之战:波兰翼骑兵的辉煌瞬间
《骑马与砍杀2》里的波兰翼骑兵:历史还原度大揭秘!
小米粥:养胃界的“网红”,这些食用秘诀你知道吗?
红薯山药:养胃界的“双子星”
黑龙江省中医药科学院推荐:日常养胃小妙招
冬日自驾游泸州:五大必打卡景点
秋冬自驾游:打卡泸州之巅罗汉林和古郎景区
武亦姝夺冠背后:《中国诗词大会》如何改变诗词教育?
《中国诗词大会》:诗意人生的狂欢盛宴
开封美食:从《清明上河图》到现代餐桌的千年传承
铁皮石斛的功效与作用有哪些
铭记历史:南京大屠杀纪念馆的建立背景与意义
【鹊】的拼音、怎么读
翠竹诗意,岁月静好——十首咏竹诗的风雅与影响
一月西安必看:两大腊梅赏花胜地揭秘!
西安十大著名寺庙及其历史
零失败草莓果酱DIY教程:从食材准备到成品详解
武汉,多“有味”!
大白兔奶糖含多种添加剂?专家:符合标准可放心食用
李定广谈《中国诗词大会》与心理健康:诗词如何滋养现代人的心灵
武亦姝:从诗词大会冠军到清华才女
从武亦姝到白茹云:古诗词在当代的两种魅力
年前大扫除必看:这些风水禁忌你都知道吗?
年前大扫除必备:缝隙清洁刷+地面刮水器,让清洁工作事半功倍
年前大扫除:用天然清洁剂打造健康家居
志愿军39军:汉城战役的英雄们
元宵佳节知多少:农历正月十五,带你解锁节日里的文化密码!