关于机器学习理论和实践的信息图
这是推特上Ternium的CIO发的一个图,关于机器学习理论和实践概念的信息图。这个图概括了机器学习实践流程的相关概念,简洁明了。对于入门的同学有很好的总结作用。

接下来我们将分别简单描述一下。
一、机器学习的类型(What)
这里说的是机器学习的分类,主要分为无监督学习(unsupervised,也就是数据中不包含类别标签,需要模型自己去寻找簇,比如聚类学习)、强化学习(reinforcement,这几年比较火热的方法,基于环境行动,并获取利益最大化的方法,比如AlphaGo下围棋这种)和有监督学习(supervised,基于有标签的数据进行学习,进而预测新数据所述的标签类别)。
二、为什么需要机器学习(Why)
这里主要是指机器学习的实际世界的应用,也就是哪里需要使用机器学习。这里其实内容很多了,举了几个例子:自动驾驶汽车、聊天机器人、电影预测、推荐系统、医疗诊断等。
三、应用机器学习的过程(Process of “applied” ML)
这里是一个简单标准的使用机器学习的流程,实际中有很多更加重要的经验,也不一定完全与这个吻合,但都可以归属于这几个步骤之中。主要是:
- 数据清理、探索和准备(data cleaning/exploration/preparation):包括特征工程、离异值处理、缺失值处理等。
- 数据建模(data modeling):其实就是选择模型,选择什么样的模型进行应用
- 模型验证(model validation):基于上述建模结果进行验证,一般是基于单个模型在数据集上验证自己的效果。
- 模型评估(model evaluation):这个属于开发流程,一般可能是多个模型测试或者线上进行评估测试。与模型验证的范围和目的有所差异(具体可参考:Difference between Model Validation and Model Evaluation?)。
- 模型部署(model deployment):经过验证和评估之后选择最适合业务的模型上线部署。
四、实践(Practice)
在做机器学习相关工作的过程中,我们需要有很多实践工作来辅助提升我们的能力,具体包括:
参与社区:很多社区有很多活动和经验分享,可以提升自己的能力。
向专家学习:包括本部门和其它地方的专家。专家的经验是非常重要的,很多问题可能前人已经趟过水了,可以借鉴。
参与Kaggle竞赛:Kaggle是一个竞赛社区,上面有很多各种赛题,包括大厂发布的基于真实数据的真实问题的比赛,参与这个比赛的过程并分享经验可以极大提升自己的能力。
收听各种节目:其实可以理解为学习各个课程,或者参与向clubhouse的线上讨论。
订阅新闻简报:这几年垂直领域的媒体迅速发展,包括各种技术博客和社区,订阅相关新闻可以收到业界目前最新的消息和内容。
学习工具:新工具带来很多新的内容,尤其是关于实践的一些好的经验,比如scikit-learn的pipeline就被业界借鉴很多。
五、理论(Theory)
机器学习的理论包含很多方面,需要多努力了解。做算法或者工程的人可能侧重点不同,但是有可能尽量还是多学习以下理论知识,毕竟这对实践和工程也有很大帮助。
这里的理论知识包括:
多元计算:基本上深度学习基本计算知识了
算法和复杂度:这个可以理解是数据结构或者一些计算机程序算法的内容,也是机器学习算法的重要基础部分。
优化:这是一般可以理解为求解算法的内容,对于调优算法来说是基本的知识。
概率论与统计:几乎所有的算法都可以被认为是统计上的“猜测”,所以概率论与统计是必须的基础知识。
线性代数:早期的包括回归或者现在的深度学习算法,其基本计算都是线性代数的内容,就不多说了。
六、总结
其实这个图只是一家之言,试图用一个图来概括算法工程师需要理解和参与的基本知识和技能图,涉及了很多方面,但也因为过于简洁很多内容的表达也不完全与实际一致,比如学习工具那里其实就有很多庞杂的内容,或者应用机器学习过程也是涉及了大量的内容比如实际中模型的工程调优就没有写。而且本身可能很多概念各个地方也不统一。所以需要大家学习的同时也要保持一个“宽容”的心态,多学习,不要偏信。但总体上这个图还是能很好的概括入门的童鞋所需要涉及的东西。有很好的借鉴意义。
欢迎大家关注DataLearner官方微信,接受最新的AI技术推送
