ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

#pt#课堂笔记_5_pt实现线性回归

2021-10-06 11:37:12  阅读:129  来源: 互联网

标签:__ 调用 linear pt 梯度 矩阵 张量 笔记 课堂


1)第一步准备数据集,第二步设计模型,第三步构造损失和优化器,第四步写训练的周期,前馈(损失)反馈(反馈算梯度)更新(用梯度下降算法更新权重)

2)使用mini-batch风格,使用y_hat = wx+b,minibatch就是一次把三个样本的结果都求 出来。

广播就是把[1,2,3]T,扩充。扩充完了才能运算。下图的w会被广播为3行3列的矩阵(此处相乘为矩阵对应元素相乘,非矩阵乘),b也是3行3列。

 

 

 

 3)损失,乘方是按照元素来计算的。

 

 4)

如果loss最后是向量,无法进行backward,loss得是一维张量

 5)

样本数相等,特征数可以不相等,行表示样本数,列表示特征数

 

 

这边要做转置

 

6)

 

 

self.linear(x)这边表示可调用的对象

__call__(*args) 此处*args表示可有可无的参数,不确定有多少个,可变参数

**两个星号表示词典

 7)

 

 此处的model是可调用的。

8) 

 

优化器中的SGD

9)训练过程

 

 

打印的时候会自动调用__str__();

梯度归零 

optimizer.step()会根据设计的学习率、梯度来自动进行更新。

 

 

 9)

 

 model下的linear,linear下的权重进行调用。不加item前是矩阵,加了item就是一个数。

训练集的损失会不断减小,

但是测试集可能会减小后上升,可能会过拟合。

 

 

 

 

 

 

-补充知识

1.标量、张量

标量是一个数,张量是坐标间的关系是n*n的

标签:__,调用,linear,pt,梯度,矩阵,张量,笔记,课堂
来源: https://www.cnblogs.com/tanyahuang/p/15356523.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有