使用Pytorch处理多维特征的输入

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

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


67eb8d67ae9846db9936db3c37fabd9c.png


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


43da4e38e2b04aaf85fdcb655dd3d63c.png


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


17f84ec3e4ee44729204f1abcd21ffb7.png


import numpy as np
import torch
from torch import nn
xy=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()
    #Updata
    optimizer.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 算法框架/工具
使用PyTorch处理多维特征输入的完美指南
使用PyTorch处理多维特征输入的完美指南
使用PyTorch处理多维特征输入的完美指南
|
机器学习/深度学习 数据可视化 PyTorch
使用Pytorch和Matplotlib可视化卷积神经网络的特征(下)
使用Pytorch和Matplotlib可视化卷积神经网络的特征
545 0
使用Pytorch和Matplotlib可视化卷积神经网络的特征(下)
|
机器学习/深度学习 数据可视化 自动驾驶
使用Pytorch和Matplotlib可视化卷积神经网络的特征(上)
使用Pytorch和Matplotlib可视化卷积神经网络的特征
317 0
使用Pytorch和Matplotlib可视化卷积神经网络的特征(上)
|
机器学习/深度学习 资源调度 PyTorch
PyTorch实现随机傅里叶特征映射的示例代码
这里我们定义了一个名为RFFeatureMap的类,它继承自PyTorch的nn.Module类。该类接受输入维度input_dim、输出维度output_dim和高斯核参数sigma作为参数。在初始化函数中,我们生成了随机正弦和余弦函数的系数omega和随机偏移量b,并将它们保存在该类的实例变量中。 在前向函数中,我们首先将输入x转换为形状为(batch_size, input_dim)的张量。然后我们通过点乘x和omega的转置,加上偏移量b,并应用余弦函数,计算出特征映射z。最后我们返回特征映射z。
649 0
|
机器学习/深度学习 并行计算 PyTorch
【PyTorch基础教程7】多维特征input
之前的一维特征input,只有一个x和权重w相乘,多维的情况则是xi依次与逐个wi相乘(ps:每行x都这样算,每行即每个样本),可以用向量形式表示:
215 0
【PyTorch基础教程7】多维特征input
|
2月前
|
机器学习/深度学习 数据采集 人工智能
PyTorch学习实战:AI从数学基础到模型优化全流程精解
本文系统讲解人工智能、机器学习与深度学习的层级关系,涵盖PyTorch环境配置、张量操作、数据预处理、神经网络基础及模型训练全流程,结合数学原理与代码实践,深入浅出地介绍激活函数、反向传播等核心概念,助力快速入门深度学习。
179 1
|
6月前
|
机器学习/深度学习 PyTorch API
PyTorch量化感知训练技术:模型压缩与高精度边缘部署实践
本文深入探讨神经网络模型量化技术,重点讲解训练后量化(PTQ)与量化感知训练(QAT)两种主流方法。PTQ通过校准数据集确定量化参数,快速实现模型压缩,但精度损失较大;QAT在训练中引入伪量化操作,使模型适应低精度环境,显著提升量化后性能。文章结合PyTorch实现细节,介绍Eager模式、FX图模式及PyTorch 2导出量化等工具,并分享大语言模型Int4/Int8混合精度实践。最后总结量化最佳策略,包括逐通道量化、混合精度设置及目标硬件适配,助力高效部署深度学习模型。
942 21
PyTorch量化感知训练技术:模型压缩与高精度边缘部署实践
|
1月前
|
边缘计算 人工智能 PyTorch
130_知识蒸馏技术:温度参数与损失函数设计 - 教师-学生模型的优化策略与PyTorch实现
随着大型语言模型(LLM)的规模不断增长,部署这些模型面临着巨大的计算和资源挑战。以DeepSeek-R1为例,其671B参数的规模即使经过INT4量化后,仍需要至少6张高端GPU才能运行,这对于大多数中小型企业和研究机构来说成本过高。知识蒸馏作为一种有效的模型压缩技术,通过将大型教师模型的知识迁移到小型学生模型中,在显著降低模型复杂度的同时保留核心性能,成为解决这一问题的关键技术之一。
|
2月前
|
机器学习/深度学习 存储 PyTorch
Neural ODE原理与PyTorch实现:深度学习模型的自适应深度调节
Neural ODE将神经网络与微分方程结合,用连续思维建模数据演化,突破传统离散层的限制,实现自适应深度与高效连续学习。
138 3
Neural ODE原理与PyTorch实现:深度学习模型的自适应深度调节
|
8月前
|
机器学习/深度学习 JavaScript PyTorch
9个主流GAN损失函数的数学原理和Pytorch代码实现:从经典模型到现代变体
生成对抗网络(GAN)的训练效果高度依赖于损失函数的选择。本文介绍了经典GAN损失函数理论,并用PyTorch实现多种变体,包括原始GAN、LS-GAN、WGAN及WGAN-GP等。通过分析其原理与优劣,如LS-GAN提升训练稳定性、WGAN-GP改善图像质量,展示了不同场景下损失函数的设计思路。代码实现覆盖生成器与判别器的核心逻辑,为实际应用提供了重要参考。未来可探索组合优化与自适应设计以提升性能。
664 7
9个主流GAN损失函数的数学原理和Pytorch代码实现:从经典模型到现代变体

热门文章

最新文章

推荐镜像

更多