news 2026/3/2 22:25:24

【小白笔记】梯度下降(Gradient Descent)来训练模型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【小白笔记】梯度下降(Gradient Descent)来训练模型

importnumpyasnp# 读取训练样本数 kk=int(input())# 读取训练数据:共 k*4 个整数(每样本 3 特征 + 1 标签)data=list(map(int,input().split()))# 读取预测样本数 nn=int(input())# 读取待预测数据:共 n*3 个整数(每样本 3 特征)pred_data=list(map(int,input().split()))# 构建训练集 x (特征) 和 y (标签)x=[]y=[]foriinrange(k):start=i*4feature=data[start:start+3]# 前3个是特征price=data[start+3]# 第4个是价格(标签)x.append(feature)y.append(price)x=np.array(x,dtype=float)# 转为浮点型(梯度下降需要)x=np.c_[np.ones(x.shape[0]),x]# 添加偏置列(全1)y=np.array(y,dtype=float)# ========== 梯度下降替代正规方程 ==========m,p=x.shape# m: 样本数, p: 特征数(含偏置)theta=np.zeros(p)# 初始化参数 theta 为 0learning_rate=0.01# 学习率(可调)num_iterations=10000# 迭代次数(可调)# 梯度下降主循环for_inrange(num_iterations):# 计算预测值y_pred=x @ theta# 计算梯度:(1/m) * X^T (Xθ - y)gradient=(1/m)*x.T @(y_pred-y)# 更新参数theta=theta-learning_rate*gradient# ========== 预测部分(保持不变)==========x_pred=[]foriinrange(n):start=i*3feature=pred_data[start:start+3]x_pred.append(feature)x_pred=np.array(x_pred,dtype=float)x_pred=np.c_[np.ones(x_pred.shape[0]),x_pred]# 添加偏置列# 使用学到的 theta 进行预测y_pred=x_pred @ theta y_pred_rounded=[round(i)foriiny_pred]# 输出结果(拼接成字符串)print(''.join(map(str,y_pred_rounded)))

🔧 关键改动说明

原代码(正规方程)新代码(梯度下降)
theta = np.linalg.inv(x.T@x)@x.T@yfor循环迭代更新theta
不需要设置超参数需要设置learning_ratenum_iterations
一步求解多次迭代逼近最优解

⚙️ 超参数建议(可根据数据调整)

  • learning_rate
    • 如果 loss 震荡或发散 → 减小(如0.001
    • 如果收敛太慢 → 增大(如0.1
  • num_iterations
    • 一般1000~10000足够;也可加早停机制(当 loss 变化很小时停止)

💡提示:如果特征尺度差异大(比如一个特征是“面积=100”,另一个是“房间数=3”),建议先做特征标准化(如(x - mean)/std),否则梯度下降会很慢。但本题输入是整数且未说明范围,暂时省略。


✅ 示例输入/输出(验证用)

输入

2 1 2 3 10 4 5 6 30 1 7 8 9
  • 训练样本1: [1,2,3] → 10
  • 训练样本2: [4,5,6] → 30
  • 预测样本: [7,8,9] → ?

输出(近似):

50

(因为模型学到大致是y ≈ x1 + x2 + x3,7+8+9=24?但实际拟合可能不同;若用正规方程得精确解,梯度下降应接近)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/25 10:26:03

EmotiVoice生成语音能否通过平台原创审核?

EmotiVoice生成语音能否通过平台原创审核? 在短视频、播客和有声书内容爆炸式增长的今天,创作者们正面临一个共同难题:如何高效产出高质量音频内容,同时又能通过平台严苛的“原创性审核”?越来越多的人开始尝试使用AI语…

作者头像 李华
网站建设 2026/2/28 16:48:37

婚庆公司引入EmotiVoice制作新人告白

婚庆公司引入EmotiVoice制作新人告白 在婚礼视频的剪辑间里,一段“告白”正在被反复调试。导演皱着眉头:“这配音太机械了,像是AI念稿。”一旁的客户也摇头:“声音不像我,感情也不对,听起来不走心。”这样的…

作者头像 李华
网站建设 2026/2/23 15:43:39

EmotiVoice支持自定义情感标签训练,拓展应用场景

EmotiVoice支持自定义情感标签训练,拓展应用场景 在虚拟主播直播带货时突然切换成“愤怒”语气推销产品,或是客服机器人用“温柔安抚”模式化解用户投诉——这些曾经只存在于科幻电影中的场景,正随着情感语音合成技术的突破逐渐成为现实。传统…

作者头像 李华
网站建设 2026/2/22 23:20:24

JupyterHub配置实战:从零到精通的5个关键步骤

JupyterHub配置实战:从零到精通的5个关键步骤 【免费下载链接】jupyterhub Multi-user server for Jupyter notebooks 项目地址: https://gitcode.com/gh_mirrors/ju/jupyterhub JupyterHub作为强大的多用户环境管理平台,其配置过程决定了系统的性…

作者头像 李华
网站建设 2026/2/26 14:31:37

EmotiVoice语音在车载环境中的清晰度表现

EmotiVoice语音在车载环境中的清晰度表现 在高速行驶的车内,驾驶员需要一边关注路况,一边处理来自导航、车辆状态和娱乐系统的多重信息。此时,语音作为最安全的人机交互通道,其清晰度与表达力直接决定了交互效率甚至行车安全。然而…

作者头像 李华
网站建设 2026/2/22 14:12:12

电商商品介绍视频自动生成流水线

电商商品介绍视频自动生成流水线中的多情感语音合成技术解析 在今天的电商战场上,一个爆款视频可能只需要几秒钟就能抓住用户注意力。而在这短短几十秒里,决定用户是否停留的关键,往往不只是画面——声音的情绪张力、语调的亲和力&#xff0c…

作者头像 李华