PyTorch学习3

本文介绍了PyTorch中Logistic Regression的理论基础和实现过程,包括模型的建立、参数估计使用梯度下降法,以及损失函数BCELoss的应用。通过代码展示了模型训练过程,并解释了网络结构中torch.nn.Module的使用。
摘要由CSDN通过智能技术生成

1.PyTorch实现Logistic regression

1)理论基础
逻辑回归是“分类”问题。
在这里插入图片描述
在这里插入图片描述

先来看一下什么是Logistic分布吧。设是连续的随机变量,服从Logistic分布是指的积累分布函数和密度函数如下:
在这里插入图片描述
这也就是说在Logistic回归模型中,输出的对数几率是输入的线性函数,这也就是Logisti回归名称的原因。简单的说,我们也可以这样定义Logistic回归:即线性函数的值越接近正无穷,概率值就越接近1;线性函数的值越接近负无穷,概率值就越接近0。因此Logistic回归的思路是先拟合决策边界(这里的决策边界不局限于线性,还可以是多项式等更为复杂的形式),在建立这个边界和分类概率的关系,从而得到二分类情况下的概率。
上面简单介绍了Logistic回归模型的建立,之后我们需要知道如何进行模型的参数估计。一般最常用的方式就是著名的梯度下降法。关于梯度下降的基本原理,这里不再赘述。

import torch
import torch.nn as nn
from torch.autograd import Variable
import matplotlib.pyplot as plt
import numpy as np
# 生成测试数据
n_data = torch.ones(100, 2)         # 数据的基本形态
x0 = torch.normal(2*n_data, 1)      # 类型0 x data (tensor), shape=(100, 2)
y0 = torch.zeros(100)               # 类型0 y data (tensor), shape=(100, )
x1 = torch.normal(-2*n_data, 1)     # 类型1 x data (tensor), shape=(100, 1)
y1 = torch.ones(100)                # 类型1 y data (tensor), shape=(100, )
 
# 注意 x, y 数据的数据形式是一定要像下面一样 (torch.cat 是在合并数据)
x = torch.cat((x0, x1), 0).type(torch.FloatTensor)  # FloatTensor = 32-
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值