怎样学算法?

很多有志于深耕人工智能学术研究同学都在关注一个问题,怎样才能迅速成长为合格的算法工程师?面对社会上高端技术人才的大量需求与优质程序员供给的严重不足,加之高薪水的诱惑,越来越多的人打算向人工智能转型。然而,网络上各种鱼龙混杂的培训班以及误人子弟文章把很多初学者带入歧途,单纯的浮躁心理只会让你最白费功夫,最终进不了人工只能的殿堂。

怎样学算法?

数学知识编程能力机器学习与深度学习的知识应用方向的知识

除去教育背景,逻辑思维,学习能力,沟通能力等其他方面的因素,大多数公司在考察算法工程师的技术水平时都会考虑上面这几个因素。接下来我们将按照这几个方面进行展开,详细的说明如何学习这些方面的知识以及积累经验。

数学因素

怎样学算法?

与其它工作方向如app、服务器开发相比,以及与计算机科学的其他方向如网络,数据库,分布式计算等相比,人工智能尤其是机器学习属于数学知识密集的方向。在各种书籍,论文,算法中都充斥着大量的数学公式,这让很多打算入门的人或者开始学习的人感到明显的压力。

怎样学算法?

编程能力

当你还是一个新手的时候,你需要疯狂的积累你的代码量,你可以从基本的问题出发,做一些简单的问题,怎么输入数据,怎么输出数据,然后熟悉各种数据结构,各种常见算法,疯狂的刷题,比如 lintcode就是一个很不错的刷题网站,不会怎么办!看答案,了解怎么写,然后自己实现一遍。你可以先从easy难度的问题做起,每一个程序也就20-40行左右,甚至你可以一旦AC,反复提交,以增强自信心,虽然这只是一个玩笑,但是它可以让你提高你对编程的自信,对编程的喜爱,当你有自信的时候,你才能真正的把一件事情做好。当你反复解决一个又一个的问题的时候,你要告诉自己我是个天生的编程者!然后你就可以挑战更高难度的问题,当你积累到10W以上的代码量的时候,你会发现你会有一个质变。一切将变的顺手。当以前要想半天的语句,现在信手拈来。恭喜你跨出了很重要的一步。

怎样学算法?

数据结构与算法

  1. 实践化学习。动手实现。leetcode走起。学习笔记。
  2. 社交化学习。评论,互动,多问为什么。找不足的地方,挑刺学习。讲的不对,不合理。
  3. 游戏化学习。反馈,奖励。
  4. 时间化学习。学习需要时间,需要向时间一样慢慢流逝。

下图是数据结构与算法的思维导图,供大家参考。

怎样学算法?

相信,有了这些坚实的基础做支撑,你一定会在算法工程师的路上越走越远。


分享到:


相關文章: