此文为临菲电科“AI周末零基础免费研修班”而作,兼作“致初学者”。
AI周末零基础免费研修班——深度学习基础与Python仿真,今天开始算法推导和编程仿真,为帮助大家“高效”学习,根据我们过去的教学经历和研发实践,简要整理出一点文字,尽管称之为“绝招”,但也因人而异。不过,我们希望能对大家有些启发。
一、“绝招”
(1)、通读程序
在明白算法原理后,把老师给的程序“通读”和运行,观察运行结果,并与算法预期结果比较。
(2)、改变条件、参数和输入数据
改变假设条件、算法中的参数设置和输入数据(对于深度学习算法,包括改变训练数据),重新运行程序,观察运行结果并对照算法的进行分析讨论。
(3)“默写”仿真程序
以算法为线索,分析程序结构和记住关键语句(对初学编程语言者尤为重要),然后自己独立地重新“默写”出原来的程序,实在“默”不出来的部分,才去看看老师给的程序中对应的部分是怎么编写的。
大部分人止于上面(1),没有(2)更没有(3),所以学习效果不理想——知其然而不知其所以然。所以下面谈谈(2)和(3)。
二、关于 “(2)改变条件、参数和数据”
(1)对于理解算法的作用
条件是算法成立的前提。有很多算法在实际中“用不起来”,就是因为在实际应用时算法的假设条件不能得到满足。通过改变假设条件,你会体会到“算法在什么样的条件下才能用。”
参数和数据是算法性能甚至有效性的保证。很多算法的性能取决于参数设置,参数设置不当会导致算法性能下降,甚至算法不能“运行”,例如:很多迭代算法中的“步长”设置不当会导致不收敛、数据长度不够会导致性能变差、深度学习中用于训练的数据不足会导致训练出的模型难以应用,等等。通过改变参数和数据,你会体会到“算法在怎样的参数和数据时才能具有好的性能”。
(2)对于理论创新和产品开发的作用
改变条件、参数和数据,可能会诱发你的创新灵感!无论是对研究生还是工程技术人员,都非常重要。
潜在的“创新”可能:
A、改善条件,使之满足算法要求。比如增加辅助措施、改变产品结构等。
B、改进算法,拓宽条件适应性,放松参数和数据要求。
——你可能写一遍很好的学术论文,也可能让你的产品适应更广阔的应用场景,或者具有更强的竞争力。
三、关于“(3)‘默写’仿真程序”
抛开老师给的代码,在仿真环境中自己把原程序“默写”出来,看看你的仿真效果。这不仅是快速掌握编程语言的捷径,而且也许你能“默写”出更好的程序来。
当然,因人而异,自己试试吧。
领取专属 10元无门槛券
私享最新 技术干货