下图这个预测一个人在一年之后得糖尿病的概率的例子,这个时候我们的输入将会有很多的指标。你可以把它看成是我们体检的各种值。最后一排的外代表了他是否会得糖尿病。

那么多维的特征输入应该怎么办呢?我们就需要把每一个特征x付以相应的权重。在进行逻辑回归时,把每一个维度的x乘相应的权值的和加上一个偏置量,送入sigema函数进行二分类,就像这样:

当然在真正编程的时候是以矩阵乘法的形式进行运算的,也就是一次能算多个样本的值,具体的推导过程大家可以看刘老师的教学视频,这里就不写了。根据数据集,我们需要构造一个从八维到一维的计算图,就是这样:

import numpy as np
import torch
from torch import nnxy=np.loadtxt("CIFAdata/diabetes.csv.gz",delimiter=",",dtype=np.float32)
x_data=torch.from_numpy(xy[:,:-1])
print(x_data)
#[-1] 表示要拿出一个矩阵
y_data=torch.from_numpy(xy[:,[-1]])
print(y_data)class Model(nn.Module):def __init__(self):##构造函数super(Model, self).__init__()#8维转为6维self.linear1 = torch.nn.Linear(8,6)self.linear2 = torch.nn.Linear(6, 4)self.linear3 = torch.nn.Linear(4, 1)#激活函数# self.active=torch.nn.ReLU()#因为他里边也没有权重需要更新,所以要一个就行了,单纯的算个数self.sigmoid = torch.nn.Sigmoid()def forward(self,x):##构建一个计算图,就像上面图片画的那样x = self.sigmoid(self.linear1(x))x = self.sigmoid(self.linear2(x))##将上面一行的输出作为输入x = self.sigmoid(self.linear3(x))return x
model=Model()##实例化模型criterion=torch.nn.BCELoss(size_average=True)
#model.parameters()会扫描module中的所有成员,
#                  如果成员中有相应权重,那么都会将结果加到要训练的参数集合上
optimizer=torch.optim.SGD(model.parameters(),lr=0.1)for epoch in range(100):y_pred=model(x_data)loss=criterion(y_pred,y_data)print(epoch,loss.item())#反向传播optimizer.zero_grad()loss.backward()#Updataoptimizer.step()# 如果想查看某些层的参数,以神经网络的第一层参数为例,可按照以下方法进行。
# 第一层的参数:
layer1_weight = model.linear1.weight.data
layer1_bias = model.linear1.bias.data
print("layer1_weight", layer1_weight)
print("layer1_weight.shape", layer1_weight.shape)
print("layer1_bias", layer1_bias)
print("layer1_bias.shape", layer1_bias.shape)

使用Pytorch处理多维特征的输入相关推荐

  1. PyTorch处理多维特征的输入

    1.代码 import numpy as np import torch import matplotlib.pyplot as plt import torch.nn.functional as F ...

  2. (五)处理多维特征的输入(上)+torch.nn.Linear(8,1)表示什么+代码

    目录 1.普通逻辑回归 一个样本中一条数据有1个特征 2.多维特征:一个样本中一条数据有n个特征(以n=8为例) 计算流程:矩阵乘法 (8,1)表示什么? 3.代码: 1.普通逻辑回归 一个样本中一条 ...

  3. 处理多维特征的输出(糖尿病数据)

    #处理多维特征的输入#prepare Dateset import numpy as np import torchxy = np.loadtxt('./diabetes.csv',delimiter ...

  4. pytorch 入门学习处理多维特征输入-7

    pytorch 入门学习处理多维特征输入 处理多维特征输入 import torch import numpy as np import torchvision import numpy as np ...

  5. OpenCV之feature2d 模块. 2D特征框架(2)特征描述 使用FLANN进行特征点匹配 使用二维特征点(Features2D)和单映射(Homography)寻找已知物体 平面物体检测

    特征描述 目标 在本教程中,我们将涉及: 使用 DescriptorExtractor 接口来寻找关键点对应的特征向量. 特别地: 使用 SurfDescriptorExtractor 以及它的函数  ...

  6. 二维特征分类的基础_3D 分割分类总结

    三维深度学习的几种方法: 多视角(multi-view):通过多视角二维图片组合为三维物体,此方法将传统CNN应用于多张二维视角的图片,特征被view pooling procedure聚合起来形成三 ...

  7. 《PyTorch深度学习实践》 课堂笔记 Lesson7 神经网络多维特征输入的原理推导与实现

    文章目录 1.为什么使用多维的特征输入 2. 多维特征向量输入推导 3.实现过程 3.1源代码 3.2训练结果 写在最后 1.为什么使用多维的特征输入 对于现实世界来说,影响一个事物发展的因素有很多种 ...

  8. evaluate函数使用无效_使用Keras和Pytorch处理RNN变长序列输入的方法总结

    最近在使用Keras和Pytorch处理时间序列数据,在变长数据的输入处理上踩了很多坑.一般的通用做法都需要先将一个batch中的所有序列padding到同一长度,然后需要在网络训练时屏蔽掉paddi ...

  9. pytorch中根据神经网络结构确定输入图片尺寸(根据图片尺寸修改神经网络结构)

    在学习pytorch的过程中,看到一些代码的解释中会说这个网络的期望输入大小为32x32(也可能是其他数字),请将输入图片调整为32x32. 开始的时候有一些不解,仔细看代码后明白,为代码条理清晰,一 ...

最新文章

  1. Amazon AWS云计算服务简介
  2. 用grep和cut做一些数据统计
  3. C++中之a[5](栈区)和int a=new int[5](堆区)有什么区别
  4. DCT(离散余弦变换(DiscreteCosineTransform))
  5. 专访香侬科技:致力于让世界听到中文NLP的声音
  6. Python中fastapi构建的web项目使用.gitlab-ci.yml文件在KubeSphere中进行自动部署
  7. Win10如何卸载自己安装的软件
  8. KAIST 电子工程系半导体实验室ISSCC会议发表的文章(Deep-Learning Processor)
  9. 推荐一款.NET开源免费的图表控件ScottPlot
  10. 黑客们会用到哪些Python技术?
  11. 如何使用Windows Identity Foundation(WTF)实现单点登录
  12. 乐影音下载器 建议回复
  13. Word文档或PDF转图片
  14. android--------Android Studio常见问题以及解决方式
  15. 推荐一个可以倍速播放HTML5视频的脚本
  16. 盒子移动的问题,拖拽问题
  17. (flutter)黑苹果系统 Xcode iOS flutter 跑通真机模拟器 此oc clover 彼oc swift
  18. 发邮件抛异常。no object DCH for MIME type text/plain; charset=UTF-8
  19. idea最新Activation code
  20. 单向直播面临升级,网易视频云首推多路互动直播

热门文章

  1. Jsp用于交换数据的4个map结构
  2. java 歌词_请问吧内有大神用JAVA做过桌面歌词吗
  3. mac svn工具_Cornerstone 4 for mac(svn管理工具)
  4. python核心,内建函数,高阶函数
  5. python中的魔术方法
  6. 请编写一个方法,实现整数的乘法、减法和除法运算(这里的除指整除)。只允许使用加号。
  7. java中为什么设计包装类,Java 中为什么要设计包装类
  8. 视觉在无人驾驶中的应用及分类_机器视觉在智能化生产中的广泛应用
  9. 如何手工抓取dump文件及分析
  10. Linux Centos安装步骤