本人也不是科班出身的机器学习从业者,就通过这篇回答来给
转专业进入这个行业的从业者,或者准备进入这个行业的学生提一些注意事项吧。
第一,根据我的观察,有一部分朋友可能会处在两个极端,一种实践的
王者理论却很薄弱,一种是饱读理论八股文但是却没有什么实践的能力。
第一种朋友往往pytorch TensorFlow信手拈来,各种deep learning模型写得非常溜。甚至还能想些新的idea来发一发deep learning的论文。简历一看,好像很厉害,但是如果一面试问问理论细节,问问
non-deep 模型的数学细节,就理解得非常不扎实。我个人的建议是,这个不但不利于你面试,而且不利于机器学习从业的长期发展。
大家一定不能去排斥学习理论学习
non-deep模型。很多理论知识是我们做对事情,做准方向的必要保证。 如果大家想补自己理论方面的知识,我推荐
周志华教授的《机器学习》,李航的《统计学习方法》,吴军博士的《数学之美》。机器学习网课视频我推荐加州理工学院公开课或者,
卡内基梅隆大学(CMU)Tom Mitchell 的机器学习课程。
第二种朋友可能更加常见一些,就是理论都学了但是没什么实践基础。机器学习很多问题实际上是实践的问题而不是理论的问题,怎么处理数据,怎么选feature,怎么调参,怎么提升性能,怎么debug,怎么理解模型为什么表现得好表现得不好等等,很多问题是只有多做了你才能更好的理解。
所以大家如果进入这个行业,一定要记得不要走入这两个极端。
理论与工程经验,需要你花一样的时间去培养学习。
另外一点是,机器学习工程师不同于
软件工程师,你们需要注意培养自己阅读Paper的能力。多看机器学习顶会论文,在看论文的同时,要去思考他们为什么要这样做,这样的做目的是什么,解决了什么问题。有能力的看看他们的代码实现。这个行业发展的速度,新技术和理论出现的速度,甚至比你自己项目开发速度还快。光顶会,一年就有四五个会议。可能你的项目还没做完,就有新的技术出来了。所以想在这个领域发展,还是需要持续的跟踪学界。
希望以上分享对你有所帮助!