向量化编程思维。

来源:5-4 向量化

怀瑜

2019-11-07

老师,你好。我是一名研三学生,目前已经找到了计算机视觉方向的工作。最近一直有个问题困扰着我,我认为我的代码能力比较差,尤其是在实现某些算法的时候,尽管我已经get到了算法的点,但在进行程序编写时却无从下手。我认为对我来说最欠缺的是编程时的向量化思维,想请教老师如何锻炼?这方面有没有推荐的学习资料。万分感谢

写回答

1回答

liuyubobobo

2019-11-07

首先恭喜你找到工作:)


在我看来,编程和向量化思维一点关系都没有。向量化思维是只有在处理矩阵运算的时候,才会使用的方式。而且,本质上,在我看来,向量化思维本质是数学能力,而非编程能力。在这个课程中,你应该可以看到,很多时候,编程的过程,我们只是单纯的把数学公式实现出来而已。一旦把数学公式推导正确了,实现并非难事。


如果你认为你缺少的是用向量思考问题的能力,我的建议是加强数学推导能力。这件事情和编程没关系。不管是你现在工作而 CV 行业,还是机器学习,都有大量的公式,可以直接用向量或者矩阵表示出来,把你见过的每一个这样的公式都吃透。什么叫吃透?自己能从头把这样的公式独立推导出来。发现自己推导不出来,或者推导过程有一些地方不确定,再回去看课本或者视频上的推导,总结自己哪里有遗忘,或者理解不透彻。总结是关键。


至于编程能力,本质就是把头脑中的逻辑化成代码的能力。注意,这个前提是头脑中的逻辑已经很清晰了。很多同学认为自己编程能力不好,但本质其实并非如此,而是逻辑还没想清楚就编,最后编不出来,但是觉得自己编程能力不强。没有逻辑,当然没法编程。


至于编程能力的训练,也无它,多编。其实,多做算法问题,就是非常有效的训练编程能力的方式,同时,还训练了逻辑能力。毕竟,一般工作上的业务编程,更多的是框架的使用,逻辑成分相对较小。


至于编程时无法下手,亦是如此。对于无法下手的问题,看别人是怎么解决的?然后总结:自己为什么觉得无处下手?到底缺失什么?第二天,同样的问题,再看这个套路学会没有?如果觉得还没学会?继续总结:昨天刚看完别人的写法,为什么今天还写不出来?以此类推。总结是关键。而不要总把问题归结到自己能力不够强。


最后,推荐我的公众号文章:《万能学习法》https://mp.weixin.qq.com/s?__biz=MzU4NTIxODYwMQ==&mid=2247484417&idx=1&sn=f774306b0ea726d979eba0c13b75496f&chksm=fd8cab47cafb2251f7bebcc3c540d0216989499ed9ad0cf0f3bd8817412ea79ea6b31cc66a8d&token=73533387&lang=zh_CN#rd


继续加油!:)

1
1
怀瑜
感谢老师长文解答,我在面对这个问题时的确出现了思维错误。没有分析自己出错的原因在于编程能力不扎实还是单纯没有吃透数学层次的公式推导。一直在支持波波老师的课程,也关注了波波老师的程序员指北专栏,期待波波老师继续出精品课程,越做越好!
2019-11-07
共1条回复

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

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

5839 学习 · 2437 问题

查看课程