0 写在前面
- 线性回归和非线性回归,它们的输出都是连续的。而逻辑回归的输出是二元离散,为了方便数字表达和计算,我们把这两种分类的结果分别记作0和1.
1 sigmoid函数
- sigmoid函数的定义域为R,但是值域在(0, 1)。
2 逻辑回归示例
- 首先初始化一下数据,
x = torch.cat((data0, data1), ).type(torch.FloatTensor)
,是把data0和data1合并起来,得到1000*2个数据,对y的操作同理。
- 分片操作:
x.numpy()[:, 0]
,是取出所有行的第0个元素。
import torch
import matplotlib.pyplot as plt
cluster = torch.ones(500, 2)
data0 = torch.normal(4*cluster, 2)
data1 = torch.normal(-4*cluster, 2)
label0 = torch.zeros(500)
label1 = torch.ones(500)
x = torch.cat((data0, data1), ).type(torch.FloatTensor)
y = torch.cat((label0, label1), ).type(torch.LongTensor)
plt.scatter(x.numpy()[:, 0], x.numpy()[:, 1], c=y.numpy(), s=10, lw