之前提到一个员工是工程方向出身,现如今,不到半年的时间,华丽转身,工程和算法工作两不误,虽说还没到精通常用算法的地步,但是根据工作需要,可以做到,需要做哪方面算法工作,随时可以快速学习理解算法,快速上手应用。那么工程转算法到底难不难呢?本文给想从工程方向转入算法方向的同学一些参考。
先说结论,确实挺难的,入门算法方向是有门槛的,但也不是一点机会都没有。
首先,要有一定的数学基础,主要包括导数、对数、线性代数、概率论与数理统计等。什么是奇异值分解?什么是高斯分布?这些都是算法方向入门的基础。这一步可能会让数学基础已经忘光的人止步。要我说其实没必要害怕,花时间补一下基础,常用的理论知识就那些,很快就可以掌握。

其次,有了数学基础还不够,还需要学习机器学习的基础知识,比如损失函数、目标函数、梯度下降等,还有各种基础算法,比如K近邻、支持向量机、决策树、贝叶斯、随机森林、神经网络等。这一步是算法入门的关键,理解算法的基本思想,公式推导过程,清楚算法应用的场景。掌握了这些,可以说一只脚已经踏入了算法的大门。这里推荐吴恩达的机器学习视频课程,在网上都可以搜到,就不放链接了。
再次,根据算法知识的实际应用。这一步也比较重要,有了理论知识,不实际尝试是不行的。这一步要结合自己的工作去找到业务中可以应用算法的场景,然后就可以去尝试了。在这之前,要与领导充分沟通,让领导认可并允许这种尝试。如果工作中找不到可以应用算法的场景,可以从开源网站上找一些算法来练手,不过效果会大打折扣。
最后,根据工作中从事业务的方向,又分为推荐、NLP、图像等,各个业务方向都有一些经典的模型,花时间理解与掌握这些经典模型,是算法进阶的重要手段。
再来说说身边这位从工程转算法的同事。他在工程方面有较好的基础,能用编程方式解决的事情,绝不用其他方式解决,是不可多得的热爱编程的人。据我了解,他每天晚上花两个小时的时间学习,大概用了4个月的时间入门机器学习,可以说是功夫不负有心人。这期间也走了一些弯路,从一开始捧着高等数学,把数学知识重新翻一遍,到后面看吴恩达的课程,逐渐找到感觉,再到工作中算法应用的实践,获得了一些正向反馈,慢慢步入正轨。
这个例子属于工程底子比较好的人从工程转算法,如果工程底子没那么好,是不是就更难了呢?明确要转算法方向的目标后,我觉得有以下几点:
首先,制定学习路线。通过与算法同学交流或上网查阅,了解要学习哪些课程,减少走弯路的情况,毕竟自己的时间很宝贵,能少走一些弯路就少走一些。
其次,学习的过程中,有问题多咨询身边的算法同学,以及多上网查阅。这个环节也挺重要,其实大部分问题都需要自己上网查阅找答案。如果有人可以咨询更好,可以提高效率,减少大量的时间。
最后,坚持。从身边这位同事的经历能看出,转型的过程也不是一帆风顺的,走了一些弯路,但是执行力到位了,坚持下来了,就能有所收获。
所以,有没有工程底子不是最关键的,最关键的是学习路线+坚持。
我们常用“能耐”一词,表示一个人能不能做成事。“能”是能力,聪明人往往能力强;“耐”是耐烦,不怕麻烦,锲而不舍。通常人们会高估了“能”,低估了“耐”。有句俗话说得好,有能无耐,终久必败;有耐无能,终久必成。
希望本文能对你有所帮助,关于工程转算法有任何问题可以留言或私信我。