和机器学习数据挖掘相关的工作,我个人是比较推荐算法工程师。因为目前这方面的人才稀缺,在2020年人才缺口已经达到了170万,对于本科生而言,想要拿到较好的offer,得到大厂面试官的青睐,只要掌握恰当方法,还是比较容易的。
学会Python的Pandas,NumPy,Scikit Learn,SciPy,Tensorflow或者PyTorch,Matplotlib这些,对于面试时候的本科生来说,能够用不同方法解题,全方位向面试官展示自己的优势,也是有利于提高被录用率的。
另外的话是两个应届毕业生,你参与了实践项目而另一个人没有,可想而知公司会优先录取谁。。兴趣是最好的老师,你可以选择一门自己喜欢的开源语言,直接去code练习。一开始可能会很难,但是只要熬过了这个特别难的阶段,往后就会越来越轻松。另外在校学生如果有时间和机会,也一定要去企业实习。因为很多问题学习后并不一可以熟练运用,企业实习参与真实项目,和乱问题打交道,这样才能对自己进行多方面的锻炼。
在进行实践项目以后,可以感受到目前市场对于业务的需求,可以根据需求调整提升自身能力,参加足够多的实践项目,也有利于更快速的进入工作状态。
如果是计算机相关专业的本科生,那么大学期间一定开设了微积分和线性代数这两门课程,一定要珍惜上课时间!!因为大学老师的能力大多数都比较强,对于你提出的问题会给出很详细的解答。
微积分包括求导的运算,是一整套关系到变化的理论。它可以使函数,速度,加速度和曲线斜率这些用一套通用的符号进行讨论。因此在数据算法上的应用十分多。另外一项就是线性代数,线性代数和数据科学也是联系紧密。如果线性代数比较薄弱的小伙伴们,可以去网上看mit的线性代数教学网课。
除此之外,RNN也比较重要。language 和image结合起来的model用的就是它。
一个比较经典的案例是nlp的词性标注任务吃 苹果 三个单词标注词性为 我/nn 吃/v 苹果/nn。
那么这个任务的输入就是:
我 吃 苹果 (已经分词好的句子)
这个任务的输出是:
我/nn 吃/v 苹果/nn(词性标注好的句子)
对于这个任务来说,我们当然可以直接用普通的神经网络来做,给网络的训练数据格式了就是我-> 我/nn 这样的多个单独的单词->词性标注好的单词。也就是说有了rnn以后,可以更好的解决关于序列的问题。
算法工程师需要懂策略和执行,怎么做推荐,怎么做ctr,怎么做自动化来支持生产业务。并且需要对业务的理解十分透彻,会参数调整。
下面是某知名企业对于广告算法工程师的招聘条件,本科小伙伴们可以认真看一看。
1.在机器学习,数据挖掘,自然语言处理,推荐系统,富媒体建模等一个或多个算法领域有扎实的理论基础和丰富的研发经验,对算法原理及应用有较深入的理解,并且指导规划过某一技术方向
2.具有很强的编程能力,至少熟练java/python/golang/c++其中一种开发语言,具备算法模块架构抽象能力
3.良好的逻辑思维能力,善于发现和推理不同事物之间的关系和影响,在复杂业务场景下能够分解和抽象问题,提供优秀、完整、可行的解决方案
4.具备优秀的分析和解决问题的能力,对解决具有挑战的问题充满激情,具备良好的主动性和求知欲,具备良好的沟通协作和抗压能力
5.有互联网效果和品牌广告、自然搜索、自然推荐的一线leader经验则更佳
如果本科生想要得到一个较好的offer,但学校资源比较有限,参与贪心科技AICareer起航计划是一个不错的选择。贪心科技在培养ai人才方面有很丰富的经验,在三年时间内已经向全球三百多家企业输送多达10万人才,并且学员训练都是小组合作,参与到真实项目中,而不是靠demo项目。