PyTorch实现Logistic regression
PyTorch基础实现
类比于上一篇“pytorch实现简单回归”Pytorch学习(二)设立计算图,用pytorch实现逻辑回归也是基于梯度下降法更新参数,包含三个步骤:
- 设定初始值
- 求取梯度
- 参数更新
首先随机产生一系列样本,每个样本包含3个特征,共产生3组,相应地产生标签。
import torch
from torch.autograd import Variable
# 设置训练样本
n , m = 3,3 # n是样本数 m是特征数目
torch.manual_seed(42)
x = torch.randn(n,m)
y = torch.FloatTensor([[1.,0.,1.]]) #变量设置时一定要用float型,否则不能求梯度
逻辑回归采用对数似然函数 ∑ i = 1 n ( x i l o g ( p ) + ( 1 − x i ) l o g ( 1 − p ) ) \displaystyle\sum_{i=1}^n({x_i}log(p)+(1-x_i)log(1-p)) i=1∑n(x