老师,您讲授的内容我想提点意见

来源:6-4 实现线性回归中的梯度下降法

enzyme_

2018-08-02

http://img.mukewang.com/szimg/5b62c4a50001b36b12960221.jpg

http://img.mukewang.com/szimg/5b62c4a5000145ef12960308.jpg

每节课时间都很短,可以理解粘贴代码的行为,但是粘贴代码的时候能不能做下提示或强调一下呢?

比如这边,27s的时候是X,28s就突然变成x.reshape,猝不及防,感觉就是剪辑的,然后也没提示,我是跟着敲代码的,出现报错,找问题,眼瞎都花了好久。

之前也是很多地方都是粘贴代码,老师能否录一个敲代码的环节,这样思路是比较连续的,然后笔记和代码都能跟得上,不然都是粘贴的话,下课后会发现很多内容无法脑子只是有个大概,很多东西都记不住。

写回答

1回答

liuyubobobo

2018-08-02

谢谢你的建议:)


我回头看了一下,你提的这个地方确实是我的问题。其实你提的这个代码在8:40的时候就开始写了,当时写是错误的,没有进行reshape,后面应该是发现这里写的有问题,进行了修改,但是修改的地方被剪掉了。抱歉对你造成不便了。


其实课程中的大部分(近乎是所有)代码都是一点一点写出来的。即使是整行粘代码,我也会说一下这个调用是怎么回事儿。所有的代码肯定都是从无到有的。没有任何一行是毫无来由的。(课程后面会有几个作图函数,是毫无来由的,但我会特别强调,告诉大家的)。


但是,按照视频的节奏,学习的同学一边听,一边就能跟着把代码顺着写下来,不暂停视频,完全不耽误听的节奏,可能确实不现实(即使在传统课堂上,如果你真的参加一个带你一点一点写代码的线下实体课程,就会知道这是多么的耽误时间)。我的建议是,在听代码讲解的时候,不要跟着一行一行的写代码,而是“一块一块”的写代码。在听的时候,感觉完成了一个任务块,暂停一下,尝试自己写一下,实际运行看看有什么问题。这本身也是录播课的优点,可以随时暂停,随时回放。甚至,为了“不仅仅是记住一个大概”,在每一个小节以后,还是需要同学们自己整理,总结,归纳。乃至不跟着视频,再把这一小节的代码写一下,回顾一遍的。


学习的过程,是需要有自己的思考空间的。每个同学基础不同,理解的方式不同,对语言的熟悉程度不同,写代码的速度也不同,这个消化理解思考的时间,很难在视频讲解中给出。看一遍视频就记住所有的东西,确实太理想化了,甚至是不现实的。因为慕课网的课程有总时间限制,所以在一些我认为简单的调用,就直接粘代码了,不然这个课的总时间可能又要长出来50%甚至一倍。其实现在这个课程的时长已经比标记的时长长很多了。慕课网是很不爽的。jupyter notebook本身auto complete的功能很差,我一边讲一边写代码敲键盘的速度也会受影响。这些因素合起来,就得到了现在我的视频最终确立的讲解风格和步调。其实我和你的考虑是一样的,只不过得到了截然相反的结论。我怕过多过于琐碎的代码编写过程,冲淡了同学们对我们要写的代码的整体逻辑的感知,反而只见树木不见森林。毕竟,这个课程的代码量还是相当大的。所以,在一些地方,我选择了整行给出代码。请谅解。


Anyway,你提的这一个地方,确实是我的错误。抱歉!以后更新课程的时候,我会把这个地方修改一下:)


最后,课程的所有代码,都可以在官方github上找到,同学们可以随时翻阅查询,自己运行试验。传送门:https://github.com/liuyubobobo/Play-with-Machine-Learning-Algorithms


加油!

1
1
enzyme_
好的,谢谢老师
2018-08-03
共1条回复

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5893 学习 · 2454 问题

查看课程