机器学习基础:梯度下降(以线性回归为例)
创作时间:
作者:
@小白创作中心
机器学习基础:梯度下降(以线性回归为例)
引用
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()
热门推荐
李白诗词鉴赏之《峨眉山月歌》
聚焦车内空气质量,中汽测评有六大发现
2025年高校毕业生达1222万,这三类大学生最难找工作,有失业风险
爱情中的安全感,如何建立稳定的感情基础?
国际建筑大师矶崎新:建造一个与世界积极互动的中国
苏州入选全国首批5G应用“扬帆”重点城市,智能未来扬帆起航
16城为最靓的仔!工信部公布年度5G应用“扬帆”行动重点城市总结评估情况
刺激性低的洗发水:定义、优点与选择指南
威廉·毛姆《人生的枷锁》读后感精选
金·元好问《摸鱼儿·雁丘词》赏析及备考集锦
比亚迪海豹快充损害电池怎么办
有效管理资产风险的五大策略与建议
婚内失恋:如何通过心理咨询改善婚姻关系
都是生活習慣的錯!?背上長痘有解方!
年会红包要缴个税?哪些红包不能领?微信红包、微信转账有何不同?权威解答→
中国首富再易主,张一鸣钟睒睒马化腾位列前三
数字敦煌:科技赋能文化遗产保护与传承
测试范围不足漏测问题 4大解决技巧
企业资源与能力的关系如何
自动化测试覆盖率提升技巧分享
《MyGO》人物志:长崎素世的心碎
985和211高校怎么来的?为何入选高校多年来不再新增
探秘神秘摩梭文化:五月云南泸沽湖四日深度游攻略
减肥党必看!纯萃美式究竟是天使还是魔鬼
科研新篇章:太阳光模拟器如何改变我们的实验世界
如何应对恋爱中的分手危机?
国家规定流浪狗怎么处理
父母的钱,我要还吗?
卢象升与孙传庭:明末两位杰出将领的比较
又到出汗季!抗菌≠防臭,一文助你清爽度夏