PyTorch深度学习

 Back Propagation(反向传播)与求偏导相关

1、线性模型(例如:y=x*w)

建立模型的三个基本步骤:

  1. 准备数据集
  2. 选择合适的模型
  3. 模型训练
  4. 推理

数据集 :训练集(分为训练集和开发集)、测试集

2、梯度下降算法(针对所有样本)

只能找到局部最优,而不能找到全局最优

 

随机梯度下降(针对一个样本)

随机梯度下降算法和梯度下降算法比较:

前者因为每个样本点都会串行地影响权值的大小,因此时间复杂度较高;而后者每更新一次各样本点之间是并行的,因此时间复杂度比较低, 但是性能没有前者好。

综上,会取一个折中的方法即批量(Batch/Mini-Batch)随机梯度下降(取某几个样本点为一组)

3、反向传播(前馈算损失,后馈算梯度)

链式法则:

1、首先进行前馈运算(Forward),即从左至右运算

2、然后从右至左计算偏导

反复重复不断更新权重的值

Tensor可以存标量、向量、矩阵或者多维的数据,Tensor保存权重的值以及损失函数的对权重的导数

 w.requires_grad = True表明w需要计算梯度

4、用pyTorch实现线性回归

in/out_features的意思是输入/输出数据的维度是几维的,bias则表示计算的时候是否需要加偏置量

当参数不确定个数的时候:

MSELoss第一个参数的意思是是否需要求均值,

criterion以后需要的参数是预测的y值和实际的y值,用于计算损失

第二个optimizer实际上是优化器,model.parameters()让优化器知道要对哪些权重做优化,lr则表示优化时候的学习率

进行训练的过程如下几个步骤循环:

1、先算预测值即y hat

2、计算损失

3、反馈

4、更新权重的值

1、2步骤实际上就是前馈

5、逻辑斯蒂回归

逻辑斯蒂函数如下:

图中箭头所指之处即是逻辑斯蒂函数,该函数能够保证输出值在0-1之间

如上损失函数,若y = 1, 则loss = -ylog(y hat),那么当y hat越接近于1的时候loss越小;


未完~

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值