神经网络主要分为分类、回归两大类
- 分类:输出是离散的值,比如说二分类问题,判断神经网络输入的是不是猫咪,结果就是0或是1,是还是不是。
- 回归:输出的连续的值,比如说对于放假的预测(房子好贵呀~),根据不同的地域,平米数,预测出不同的值
小demo:回归实现
# 导入一些相应的包
#解决python2 和 python 3之间一些输出格式的不同,一律使用python 3
from __future__ import print_function
import torch
from torch.autograd import Variable
#一些相应的激励函数
import torch.nn.functional as F
#用来画图
import matplotlib.pyplot as plt
#fake data
#创建数据集
#unsqueeze 的作用是给数据加上维度,因为linspace产生的数据是一维的
#然而神经网络之中需要二维的,所以使用unsqueese增加维度。[]-->[[]]
x=torch.unsqueeze(torch.linspace(-1,1,100),dim=1)
#为了使得数据更加真实,使用rand随机函数增加噪点
y=x.pow(2)+0.2*torch.rand(x.size())
#千万注意数据创建完后要放入Variable中才能进行反向传播
x=Variable(x)
y=Variable(y)
#搭建神经网络
#神经网络的两个基本模块,基本是固定的套路
#使