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

简单网站制作软件百度网站地图怎么做

简单网站制作软件,百度网站地图怎么做,怎么修改wordpress模板文件,手机端的网站怎么做一、简介 1、机器学习 机器学习研究如何使用经验改善计算机系统的性能。 2、表征学习 表征学习是机器学习的一类#xff0c;研究的是#xff0c;如何自动学习出数据合适的表示方式#xff0c;更好地由输入得到正确的输出。 3、深度学习 深度学习是具有多级表示的表征学…一、简介 1、机器学习 机器学习研究如何使用经验改善计算机系统的性能。 2、表征学习 表征学习是机器学习的一类研究的是如何自动学习出数据合适的表示方式更好地由输入得到正确的输出。 3、深度学习 深度学习是具有多级表示的表征学习逐级表示越来越抽象的概念或模式。 二、预备知识 1、张量基本操作 手动设置一个torch种子使用不同模型进行预测手动设置种子可以保证每次随机初始化参数和批次顺序是相同的保证了实验的可重复性。创建张量若干种。张量加法逐个元素相加。张量形状shape和size()。张量塑形view。张量内存张量广播机制如果两个张量在某一维度的大小相同或其中一个的该维度大小为 1则这两个维度是兼容的。 2、自动求梯度 如果将Tensor的属性.requires_grad设置为True它将开始追踪(track)在其上的所有操作。完成计算后可以调用.backward()来完成所有梯度计算。此Tensor的梯度将累积到.grad属性中。 注意在调用.backward()时如果Tensor是标量则不需要为backward()指定任何参数否则需要指定一个求导变量。 如果不想要被继续追踪可以调用.detach()将其从追踪记录中分离出来这样就可以防止将来的计算被追踪。此外还可以用with torch.no_grad()将不想被追踪的操作代码块包裹起来这种方法在评估模型的时候很常用因为在评估模型时我们并不需要计算可训练参数requires_gradTrue的梯度。 Function是另外一个很重要的类。Tensor和Function互相结合就可以构建一个记录有整个计算过程的非循环图。每个Tensor都有一个.grad_fn属性该属性即创建该Tensor的Function除非用户创建的Tensors时设置了grad_fnNone。 三、基础 1、线性回归 ①线性回归vs分类问题 线性回归的输出是连续值分类问题的输出是离散值。 ②线性回归几要素 1模型 线性回归假设输出与各个输入之间是线性关系。 都是标量分别是权重和偏置。 2线性回归模型训练 a.训练集 在机器学习术语里用于模型训练的数据集被称为训练数据集training data set或训练集training set一栋房屋被称为一个样本sample其真实售出价格叫作标签label用来预测标签的两个因素叫作特征feature。特征用来表征样本的特点。 b.损失函数 在模型训练中我们需要衡量价格预测值与真实值之间的误差。通常我们会选取一个非负数作为误差且数值越小表示误差越小。 在机器学习里将衡量误差的函数称为损失函数loss function。这里使用的平方误差函数也称为平方损失square loss。 通常我们用训练数据集中所有样本误差的平均来衡量模型预测的质量即 在模型训练中我们希望找出一组模型参数来使训练样本平均损失最小。  c.优化算法 解析解和数值解解析解是通过公式可求得的解数值解适用于解析解难以或者无法解决的问题是一个近似结果。小批量随机梯度下降也被叫做SGD随机采样一个小批次数据前代获得损失回代获得损失对模型参数的梯度用梯度乘上一个步长学习率来更新当前参数。超参数深度学习里面模型训练之前人工设置的参数叫做超参数比如说学习率和batch大小调参主要调的是超参数。 ③线性回归模型预测 用学习出来的线性回归模型进行预测。 ④线性回归的表示方式 1神经网络表示 线性回归模型是一个单层神经网络每个输出层的神经元与每个输入层的神经元都有连接这样的输出层被称为全连接层fully-connected layer或稠密层dense layer。 2矢量表示 线性回归模型 损失函数 梯度更新参数 梯度 2、线性回归从0开始实现 在训练中我们将多次迭代模型参数。在每次迭代中我们根据当前读取的小批量数据样本特征X和标签y通过调用反向函数backward计算小批量随机梯度并调用优化算法sgd迭代模型参数。由于我们之前设批量大小batch_size为10每个小批量的损失l的形状为(10, 1)。回忆一下“自动求梯度”一节。由于变量l并不是一个标量运行l.backward()将对l中元素求和得到新的变量求和得到总损失再求该变量有关模型参数的梯度。 如果样本个数不能被批量大小整除data_iter函数的行为会有什么变化一般会默认dropout。 3、线性回归的简洁实现 ①导入数据 DataLoader封装数据批量加载数据可以打散和多线程读入。 dataset Data.TensorDataset(features, labels) # 把 dataset 放入 DataLoader data_iter Data.DataLoader(datasetdataset, # torch TensorDataset formatbatch_sizebatch_size, # mini batch sizeshuffleTrue, # 要不要打乱数据 (打乱比较好)num_workers2, # 多线程来读数据 ) ②定义模型 nn模块“nn”是neural networks神经网络的缩写。顾名思义该模块定义了大量神经网络的层。 Sequential实例可以看作是一个串联各个层的容器。在构造模型时我们在该容器中依次添加层。当给定输入数据时容器中的每一层将依次计算并将输出作为下一层的输入。 net nn.Sequential() 三种串联方法 直接在nn.Sequential()内定义 net nn.Sequential(nn.Linear(num_inputs, 1)# 此处还可以传入其他层) 创建实例后add_module net nn.Sequential() net.add_module(linear, nn.Linear(num_inputs, 1)) OrderDict创建多个每层有名字 from collections import OrderedDict net nn.Sequential(OrderedDict([(linear, nn.Linear(num_inputs, 1))# ......])) ③初始化模型参数 init模块该模块提供了模型参数初始化的各种方法。这里的init是initializer的缩写形式。 from torch.nn import initinit.normal_(net[0].weight, mean0.0, std0.01) init.constant_(net[0].bias, val0.0) # 也可以直接修改bias的data: net[0].bias.data.fill_(0) ④定义损失函数 nn里面有很多Loss。 loss nn.MSELoss() ⑤定义优化算法 torch.optim模块PyTorch的优化器模块允许你使用不同的优化算法。 import torch.optim as optim optimizer optim.SGD(net.parameters(), lr0.03) print(optimizer) ⑥全套训练 num_epochs 3 for epoch in range(1, num_epochs 1):for X, y in data_iter:output net(X)l loss(output, y.view(-1, 1))optimizer.zero_grad() # 梯度清零等价于net.zero_grad()l.backward()optimizer.step()print(epoch %d, loss: %f % (epoch, l.item())) 4、softmax回归 softmax回归的输出单元从一个变成了多个且引入了softmax运算使输出更适合离散值的预测和训练。 ①softmax表示 也是单层神经网络但是输出有多个输出个数等于分类问题中的类别个数。 ②softmax运算 1解决的问题 softmax运算将输出变换成一个合法的类别预测分布。 模型输出的值范围不统一、不确定。真实标签是离散值模型输出值范围不确定误差也难以衡量。 2公式 它通过下式将输出值变换成值为正且和为1的概率分布 softmax运算不改变预测类别输出。 softmax回归对样本i分类的矢量计算表达式为 小批量样本分类的矢量计算表达式 ③交叉熵损失函数 交叉熵cross entropy是一个常用的衡量方法来衡量两个概率分布差异。交叉熵只关心对正确类别的预测概率因为只要其值足够大就可以确保分类结果正确。因为用one-hot编码y_i向量中只有一个真实类别索引位置为1其余都为0因此交叉熵最后得到的就是真实标签所在类预测概率的对数的相反数。 假设训练数据集的样本数为nn交叉熵损失函数定义为 5、softmax回归的简洁实现 在神经网络中FlattenLayer是一个非常常见且有用的层其主要功能是将多维的输入张量“展平”成一维的张量。这通常在从卷积层向全连接层过渡时使用因为全连接层需要接收一维的输入数据。 比如说x torch.randn(10, 3, 28, 28)批次大小是10通道数是3图像大小是28*28。展平以后就变成了10*3*28*28 class FlattenLayer(nn.Module):def __init__(self):super(FlattenLayer, self).__init__()def forward(self, x): # x shape: (batch, *, *, ...)return x.view(x.shape[0], -1)
http://www.lakalapos1.cn/news/44508/

相关文章:

  • 物流网站平台建设注册做网站的公司
  • vs2010网站建设郑州网站优化方案
  • 电商系统网站建设腾讯云服务器购买后怎么使用
  • 网站keywords标签怎么写商城系统有哪些
  • 小程序页面设计用什么软件万秀服务不错的seo推广
  • 用php做网站需要什么软件wordpress 置顶文章
  • 盗号和做钓鱼网站那个罪严重全国前十名小程序开发公司
  • 个人备案网站类型软件开发项目总结报告
  • 单页网站seo优化做网站云服务期
  • 工信部网站备案推广引流的10大渠道
  • 学网站平面设计企业网络品牌推广
  • 株洲专业网站排名优化网站网络推广方式方法
  • 网站建设外包项目网站后台怎么更新
  • 订阅号怎么做网站asp.net获取网站地址
  • 电脑在哪网站接做扇子单海外短视频软件app下载安装
  • wordpress 插件检测seo对网站的作用
  • 如何改wordpress网站图标上海品牌logo设计公司
  • 网站开发的过程外链购买平台
  • 小说网站有源码了该怎么做网站开发微信支付功能
  • 企业网站建设教学线上推广方式有哪些
  • 网站建设预付流程想做网站开发兼职
  • 怎么自己弄一个网站中国菲律宾海牙法庭
  • 建设中学校园网站的来源康定网站建设公司
  • 网站建设申请报告怎么写传媒公司取名
  • 网站分页样式织梦网站上传数据库
  • 龙岩网站建设方案重庆工商局官网
  • 做一个公司网站一般需要多少钱wordpress中运行程序
  • 国外做外贸的小网站成都房产网站建设
  • 西安做网站app手机编程app哪个好
  • 西安网站建设公司都有哪些百度竞价排名平台