深度学习和神经网络介绍:
1. 深度学习
a.机器学习的分支,人工神经网络的基础,对数据的特征进行学习的方法
2. 机器学习与深度学习的区别:
a.特征抽取:
i:人工的特征抽取过程
ii:深度学习:自动的抽取特征
b. 数据量
i:机器学习:数据少,效果不是特别好
ii:深度学习:数据多,效果更好
pytorch
1.Tensor
a.各种数值数据称为张量
b.常数(scaler):0阶张量
c.向量(vector):1阶张量
d.矩阵(matrix):2阶张量
e.3阶张量
2.张量的创建方法
a.torch.Tensor(list)
b.torch.empty() / zeros() / ones()
c.torch.rand() / randint() / randn()
感知机
a.两层的神经网络
b.简单的二分类的模型,给定阙值,判断数据属于哪一部分
激活函数
a. 线性:
i. 系统: 函数, f ,模型, f(x)=y
ii. f(x1+x2)=y1+y2
iii:f(kx1)=ky1
b. 作用:
i. 增加模型的非线性分割能力
ii. 提供模型的稳健性
iii:缓解梯度消失
iv:加速模型的收敛
c.常见的激活函数:
i. sigmoid:(0,1)
ii. tanh:(-1,1)
iii:relu:max(0,x)
iv:ELU:a(
-1)
torch.tensor和torch.Tensor的区别:
i: 全局(默认的数据类型)是torch.float32
ii: torch.Tensor()传入可迭代对象表示数据,类型为模型的数据模型
iii:torch.Tensor()传入数字表示形状和torch.Float Tensor相同
iv: torch.tensor是创建 tensor的方法
数据类型:
a.指定数据类型
i:torch.tensor(array.dtype)
ii: torch.ones(array.dtype)
b.获取数据类型
i: tensor.dtype
c.修改数据类型
i: tensor.float()/long()/int()
optimizer=opim.SGD(model.parameters(),lr=le-3) #实例化
optimizer.zero_grad() #梯度值为0
loss.backward() #计算梯度
optimizer.step() #更新参数的值