学习打卡
目标完成情况
- 深度学习能够理解线性回归模型
- leetcode每日一题+回顾数组3道(1简单2中等)
- JAVA规划学习路线+复习JAVA特点等
- 八股规划机器学习等
- 共7.5h
深度学习
- 线性回归模型过程:
- 从开始建立一个数据集,有了一个真实系数w,b以及加了噪声的样本数据和标签。
- 然后使用dataset建立batch_size小样本数据。
- 在Sequential中建立模型,此时是一层线性模型。sequqntial可以一层一层将输入设定好
- 初始化模型参数w,b都是正态。然后定义nn的损失函数MSELoss(均方误差)和优化算法SGD(小批量随机梯度下降)。
- 最后是训练过程:定义训练组数,然后在每组中针对每个batch_siez先用sequential中的模型估计一个值(标量),计算损失,对损失清空梯度后反向传播,利用优化算法更新参数。后面就可以查看参数的预估误差了。
- 着重理解反向传播必须是标量,其通过数据的计算图,反向传播,从上至下自动求导。
Leetcode
- 每日一题(easy
- 有序数组的平方排序(数组easy
- 使用双指针方法:新建一个数组用于存储平方的结果,然后在原数组头尾各一指针,因为是有序的所以两头的数的平方定是最大,因此两边的比较,大的留在新数组的最后,直至low≤high,因当low=high时该数还没有放入新数组。
- 总和达到的长度最小的子数组(数组medium
- 使用双指针滑动窗方法:首先需要一个int记录子数组的长度(用于比较是不是更短),然后两个指针都从头开始,数组开始计算和,在和超过目标时循环:逐个减去头指针的值,然后比较其和是不是还满足,以及数组长度是不是更短。这样当头指针移动到尾端时结束,得到最短的数组长度。(这时还需判断是不是存在这个值,因此一开始要把这个长度设置为一个不可能的值,如果值到最后没变,则不存在)
- 给数字n得转圈数组1-n方(数组medium
- 算法不难,重点在控制左闭右开,以及设置偏置:共有n/2圈,每圈画4笔,每笔都是左闭右开—第一圈偏置为1,每圈递增。最后如果n是奇数需要填充最后中间的空。
JAVA
- 复习JAVA特点
- 类中只能有一个public且与文件名相同,但是别的类也可以有main
明日目标
- leetcode5道
- 深度学习softmax模型
- JAVA学习
- 机器学习概念整理
- python,linux学习
- +9番茄
- 117只自习生围观
- 2022年4月14日 22:48打卡
- 2 年前有动静
-
引用
- 举报