对于机器学习入门者来说,一边学习各个模型一边尝试用Matlab或者Numpy复现是很有帮助的。
刚入门机器学习的时候大家很多时候都会产生这样一个疑问,市面上各个各样的机器学习库这么成熟,训练一个模型只需要用调一个sklearn,跑一下model.fit()就好,为什么老师或者很多已经在这个行业的人还是会建议你自己动手再实现一遍。
我想这里主要有几个原因。
首先,完整实现一个模型才能真的保证自己对于这个模型是有完整的理解的。每个自己复现过模型的人都不得不承认它对于提升自己的模型理解的帮助。
随着你学习的时间越来越长,在这个方向经验越来越多,你就可以从复现一些常见简单的模型,开始向复现一些主流的常见的深度模型过渡。能实现论文里的模型,是一个ML从业者的基本要求。
其次就是,有些面试,会让你当场手写一个模型。最常见的就是KNN和K-means的实现。如果你从来没有实现过的话,遇到这些面试可能很难当场给出个很好的解答。 在北美这种面试题目一般会在data coding或者ml coding轮次出现。所以复现模型对于求职面试也是很有帮助的,如果遇到了这类面试,大家记得在面试前复习下常见模型的实现。