pytorch 神经网络套路 实现一维输入特征的二分类
1.问题描述:
x表示学习时长,y表示能否通过考核。预测学习时长为4时,能否通过考试。
2.模型,损失函数,优化器:
模型:线性模型,y_pred=wx+b或y_pred=wx,偏置可以在建立模型时选择bias=True
损失函数:
优化器:SGD随机梯度下降
3.python代码:
import numpy as np
import torch
from torch import nn
import matplotlib.pyplot as plt
from torch import optim
from torch.nn import Linear, BCELoss# 准备数据集,注意最外层两个方括号,Tensor类型
x_data = torch.Tensor([[1.0], [2.0], [3.0]])
y_data = torch.Tensor([[0], [0], [1]])# 建立模型,线性+sigmoid
class model(nn.Module):def __init__(self):super(model, self).__init__()self.linear = Linear(1, 1)def forward(self, x):x = torch.sigmoid(self.linear(x))return x#类实例化
my_model = model()#二分类问题,BCELoss
loss_cal = BCELoss(size_average=True)#创建优化器
optimizer = optim.SGD(my_model.parameters(), lr=0.01)for epoch in range(10000):#前向计算y_pred = my_model(x_data)loss = loss_cal(y_pred, y_data)#梯度清零optimizer.zero_grad()#反向传播loss.backward()#参数调整optimizer.step()#测试用例
x_test = np.linspace(1, 10, 200)
x_test1 = torch.Tensor(x_test).view(200, 1)
y_test1 = my_model(x_test1)
y_test = y_test1.data.numpy()
plt.figure()
plt.plot(x_test, y_test)
plt.plot([1, 10], [0.5, 0.5])
plt.xlabel("time used to study pytorch")
plt.ylabel("possibility of passing exams")
plt.show()
4.可视化结果:
x表示学习时长,蓝线表示通过的概率,可以看到,学习时间越长,通过的概率越高。
(疯狂内涵)
5.以上均为个人学习pytorch基础入门中的基础,浅做记录,如有错误,请各位大佬批评指正!
6.关于问题描述和原理的部分图片参考刘老师的视频课件,本文也是课后作业的一部分,特此附上视频链接,《PyTorch深度学习实践》完结合集_哔哩哔哩_bilibili,希望大家都有所进步!
pytorch 神经网络套路 实现一维输入特征的二分类相关推荐
- (!详解 Pytorch实战:①)kaggle猫狗数据集二分类:加载(集成/自定义)数据集
这系列的文章是我对Pytorch入门之后的一个总结,特别是对数据集生成加载这一块加强学习 另外,这里有一些比较常用的数据集,大家可以进行下载: 需要注意的是,本篇文章使用的PyTorch的版本是v0. ...
- Keras之MLP:利用MLP【Input(8)→(12)(relu)→O(sigmoid+二元交叉)】模型实现预测新数据(利用糖尿病数据集的八个特征实现二分类预测
Keras之MLP:利用MLP[Input(8)→(12)(relu)→O(sigmoid+二元交叉)]模型实现预测新数据(利用糖尿病数据集的八个特征实现二分类预测 目录 输出结果 实现代码 输出结果 ...
- Keras之DNN:利用DNN【Input(8)→(12+8)(relu)→O(sigmoid)】模型实现预测新数据(利用糖尿病数据集的八个特征进行二分类预测
Keras之DNN:利用DNN[Input(8)→(12+8)(relu)→O(sigmoid)]模型实现预测新数据(利用糖尿病数据集的八个特征进行二分类预测 目录 输出结果 设计思路 实现代码 输出 ...
- pytorch 入门学习使用逻辑斯蒂做二分类-6
pytorch 入门学习使用逻辑斯蒂做二分类 使用pytorch实现逻辑斯蒂做二分类 import torch import torchvision import numpy as np import ...
- 机器学习——人工神经网络之BP算法编程(python二分类数据集:马疝病数据集)
目录 一.理论知识回顾 1.神经网络模型 2.明确任务以及参数 1)待估参数: 2)超参数: 3)任务 3.神经网络数学模型定义 1)激活函数 2)各层权重.阈值定义 3)各层输入输出定义 4.优 ...
- 【Pytorch神经网络实战案例】40 TextCNN模型分析IMDB数据集评论的积极与消极
卷积神经网络不仅在图像视觉领域有很好的效果,而且在基于文本的NLP领域也有很好的效果.TextCN如模型是卷积神经网络用于文本处理方面的一个模型. 在TextCNN模型中,通过多分支卷积技术实现对文本 ...
- 【Pytorch神经网络基础理论篇】 07 线性回归 + 基础优化算法
一.线性代数 回归是指一类为一个或多个自变量与因变量之间关系建模的方法.在自然科学和社会科学领域,回归经常用来表示输入和输出之间的关系. 在机器学习领域中的大多数任务通常都与预测(prediction ...
- Pytorch深度学习实践(b站刘二大人)P10讲 (CNN卷积神经网络基础篇)
1.全连接网络 指的是网络里面用的都是线性层,如果一个网络全都由线性层串行连接起来,就叫做全连接网络 在线性层里面输入和每一个输出值之间都存在权重,即每一个输入节点都要参与到下一层输出节点的计算上,这 ...
- pytorch神经网络因素预测_实战:使用PyTorch构建神经网络进行房价预测
微信公号:ilulaoshi / 个人网站:lulaoshi.info 本文将学习一下如何使用PyTorch创建一个前馈神经网络(或者叫做多层感知机,Multiple-Layer Perceptron ...
最新文章
- Sublime Text 自动换行
- 申卫星:“十四五”数字经济高质量发展需要法治护航
- G2. 唐纳德与子串 (Hard)kmp
- java web临时文件删除_什么时候删除Java临时文件?
- [css] 举例说明CSS特性检测的方式有哪些?
- 【微软官方文档】Windows终端(Windows Terminal)
- ROS小白——软件安装(1)
- Mac下VirtualBox虚拟机Win7与主机共享文件夹
- Tomcat启动过程(一):从BootStrap到EndPonit
- python纸牌游戏_《升级》扑克牌游戏——Python实现
- 使用draw.io更改形状编辑图表的方法
- the problem was occurred when start ADT
- 第11 章 关联容器
- 电子计算机 划分发展阶段,电子计算机主要是以( )为标志来划分发展阶段的
- Vue+Less换肤方案
- 擦干眼泪,掩饰悲伤,只因明天我想要坚强
- java短信发送代码_java 短信发送 的 代码
- 100个python算法超详细讲解:搬山游戏
- ant design vue做导入导出excel
- 面试官:说说微信小程序的支付流程?