线性回归的简洁实现 讨论区


#1

http://zh.diveintodeeplearning.org/chapter_deep-learning-basics/linear-regression-gluon.html


#2

trainer.step(batch_size)这个batch_size怎么理解?一次迭代了batch_size步??


#3

相当于把计算出来的梯度除以batch size,因为loss.backward()相当于nd.sum(loss).bacward(),也就是把一个batch的loss都加起来求的梯度,所以通过除以batch size能够弱化batch size在更新参数时候的影响。


#4

好的,谢谢!


#5

你好 我输入help(dense.weight) 但是查看的信息 是Paramter类的介绍 这是说dense.weight 是Paramter类的实例,因此可以通过dense.weight.grad()取得梯度值吗?


#6

我想问一下练习有没有解释 因为发现对于help输出的内容 不太理解


#7

嗯,可以通过dense.weight.grad()得到梯度


#8

你好我想问一下 为什么从零开始那一章 是直接SGD(output, label) 这个是不是没有把一个batch的梯度再除以batch_size了


#9

首先是线性网络吧,比较简单,其次batch_size为10,除与不除影响不大,你可以试试除batch_size的结果?个人理解,不知道说的对不对。


#10

恩 有可能 因为学习率为0.001 也很小 除以10 造成的影响可能也不大


#11

请问一下 你对nd.mean这个函数是怎么理解的


#12

谢谢你的解释:joy:


于置顶 #13

#14

Typo: 为什么我们用了比前面要大10倍的学习率呢?
应该是100倍,之前用的是0.001,这里用的是0.1.


#15

估计笔者在文档里写错了吧,应该是想写lr为0.01,但是错误地写成了0.1。不过貌似对最后的拟合没有影响。笔者想让读者了解到Gradient will be normalized by1/batch_size.


#16

请问在data_iter函数的定义里:image
min(i+batch_size,num_examples)的作用是什么呢?为什么要和num_examples进行比较?


#17

防止i+batch_size越界了


#18

就是说batch_size可以不被num_examples整除哈?


#19

我使用dense.weight.grad(), 得到的两个梯度都在-0.011左右,并非0,这是否说明得到的估计值并非最优解?


#20

当然可以啊