当前位置: 首页 > news >正文

改图网网站谁做的百度推广一个关键词多少钱

改图网网站谁做的,百度推广一个关键词多少钱,网站商城建设方案,徐州做网站费用02线性回归基础版 主要内容 数据生成:使用线性模型 ( y X*w b ) 加上噪声生成人造数据集。数据读取:通过小批量读取数据集来实现批量梯度下降,打乱数据顺序并逐批返回特征和标签。模型参数初始化:随机初始化权重和偏置&#x…

02线性回归基础版

主要内容

  1. 数据生成:使用线性模型 ( y = X*w + b ) 加上噪声生成人造数据集。
  2. 数据读取:通过小批量读取数据集来实现批量梯度下降,打乱数据顺序并逐批返回特征和标签。
  3. 模型参数初始化:随机初始化权重和偏置,并设置为可计算梯度。
  4. 模型定义:实现线性回归模型 ( y = X*w + b )。
  5. 损失函数:实现均方误差损失函数。
  6. 优化函数:实现小批量随机梯度下降用于更新模型参数。
  7. 模型训练:设定学习率和迭代次数,通过每个批量计算损失、反向传播和参数更新。
import random
import torch# 生成数据集
def synthetic_data(w, b, num_examples):"""生成 y = Xw + b + 噪声"""# torch.normal: 返回一个从均值为0,标准差为1的正态分布中提取的随机数的张量# 生成形状为(num_examples, len(w))的矩阵X = torch.normal(0, 1, (num_examples, len(w)))# torch.matmul: 矩阵乘法y = torch.matmul(X, w) + b# 添加噪声:torch.normal(0, 0.01, y.shape)y += torch.normal(0, 0.01, y.shape)# reshape: 只改变张量的视图,不改变数据,将y转换为列向量return X, y.reshape((-1, 1))# 定义真实的权重和偏置
true_w = torch.tensor([2, -3.4])
true_b = 4.2
# 生成特征和标签
features, labels = synthetic_data(true_w, true_b, 1000)# 读取数据集
def data_iter(batch_size, features, labels):num_examples = len(features)# 生成一个从0到num_examples-1的整数列表indices = list(range(num_examples))# 将列表的次序打乱random.shuffle(indices)# 每次迭代生成一个小批量数据for i in range(0, num_examples, batch_size):batch_indices = torch.tensor(indices[i:min(i + batch_size, num_examples)])yield features[batch_indices], labels[batch_indices]# 设置批量大小
batch_size = 10# 初始化模型参数 
# 随机初始化权重,设置requires_grad=True以计算梯度
w = torch.normal(0, 0.01, size=(2, 1), requires_grad=True) # 初始化偏置为0,设置requires_grad=True以计算梯度
b = torch.zeros(1, requires_grad=True)  # 定义模型
def linreg(X, w, b):"""线性回归模型"""return torch.matmul(X, w) + b# 定义损失函数
def squared_loss(y_hat, y):"""均方损失函数"""return (y_hat - y.reshape(y_hat.shape)) ** 2 / 2# 定义优化函数
def sgd(params, lr, batch_size):"""小批量随机梯度下降"""# 更新参数时不需要计算梯度with torch.no_grad():for param in params:param -= lr * param.grad / batch_size  # 参数更新param.grad.zero_()  # 梯度清零# 模型训练
lr = 0.03  # 学习率
num_epochs = 5  # 迭代周期数
net = linreg  # 线性回归模型
loss = squared_loss  # 损失函数# 开始训练
for epoch in range(num_epochs):for X, y in data_iter(batch_size, features, labels):l = loss(net(X, w, b), y)  # 计算小批量数据的损失l.sum().backward()  # 计算梯度sgd([w, b], lr, batch_size)  # 更新参数with torch.no_grad():train_l = loss(net(features, w, b), labels)  # 计算整个数据集上的损失print(f'第{epoch + 1}轮,损失: {float(train_l.mean()):f}')# 打印权重和偏置的估计误差
print(f'w的估计误差: {true_w - w.reshape(true_w.shape)}')
print(f'b的估计误差: {true_b - b}')# 示例输出:
# 第1轮,损失: 0.036624
# 第2轮,损失: 0.000131
# 第3轮,损失: 0.000052
# 第4轮,损失: 0.000052
# 第5轮,损失: 0.000052
# w的估计误差: tensor([-0.0003, -0.0008], grad_fn=<SubBackward0>)
# b的估计误差: tensor([0.0007], grad_fn=<RsubBackward1>)
http://www.yidumall.com/news/64241.html

相关文章:

  • 百度做网站骗人到哪里去投诉seo关键词是什么意思
  • 北京专业网站设计制作云搜索
  • 网站建设中出现的错误代码网络运营主要做什么工作
  • 做美食如何加入团购网站抖音seo优化排名
  • 重庆渝能建设集团有限公司网站关键词权重查询
  • 房地产平面设计主要做什么宁波seo推广公司排名
  • 莱芜网站制作公司搜狗seo查询
  • 招聘网站上还要另外做简历吗seo技术培训海南
  • 做质量计量的网站有哪些seo公司哪家好
  • 做微商海报的网站seo网站内容优化有哪些
  • WordPress怎么隐藏留白西安seo外包行者seo
  • 做网站策划需要什么技能快速排名生客seo
  • 吉林市建设局网站作品提示优化要删吗
  • 安溪网页设计seo优化是怎么优化的
  • 怎么用ftpxp做网站如何免费发布广告
  • wordpress 代码 高亮南京百度seo公司
  • sedo这种多语言网站怎么建设推广公司属于什么公司
  • 做水利网站需要多少钱舆情分析网站免费
  • 怎么做企业网站优化外链link
  • 做网站发现是传销国外推广网站有什么
  • 临漳网站制作东莞网络优化服务商
  • 深圳哪家网站建设好高端网站定制公司
  • 做网站推销自己的产品这可行吗网站优化设计的基础是网站基本要素及每个细节的优化
  • 东莞58同城网招聘找工作广州抖音seo
  • wordpress虚拟主机加速seo专员很难吗
  • 做母婴网站设计思路今日热点新闻15条
  • 响应式网站开发方法近期的时事热点或新闻事件
  • 国内知名室内设计公司武汉关键词seo
  • 福州网站建设推广平台国内最近发生的重大新闻
  • 广州做网站报价系统优化大师官方下载