莫烦python
1.线性回归模型
1.建立数据集
我们创建一些假数据来模拟真实的情况. 比如一个一元二次函数: y = a * x^2 + b
, 我们给 y
数据加上一点噪声来更加真实的展示它.
import torch
import matplotlib.pyplot as plt
x = torch.unsqueeze(torch.linspace(-1, 1, 100), dim=1) # x data (tensor), shape=(100, 1)
y = x.pow(2) + 0.2*torch.rand(x.size()) # noisy y data (tensor), shape=(100, 1)
# 画图
plt.scatter(x.data.numpy(), y.data.numpy())
plt.show()
2.建立神经网络
只有一个输入层,一个隐藏层,一个输出层
"""
Net (
(hidden): Linear (1 -> 10)
(predict): Linear (10 -> 1)
)
"""
代码如下:
import torch
from torch.autograd import Variable
import matplotlib.pyplot as plt
import torch.nn.functional as F
class Net(torch.nn.Module): #继承模块torch.nn.Module
#定义所有的层属性
def __init__(self,n_feature,n_hidden,n_output): #信息
super(Net,self).__init__() #继承
self.hidden = torch.nn.Linear(n_feature, n_hidden) #隐藏层
self.predict = torch.nn.Linear(n_hidden, n_output) #输出层线性输出
def forward(self, x): #层信息传递
x = F.relu(self.