关于机器学习我们所要知道的
编程小独行侠
2024-04-23 23:12
欢迎各位阅读本篇,机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。本篇文章讲述了关于机器学习我们所要知道的。
我已经在学术界和工业界进行了许多年的机器学习建模工作,在看了一系列讨论“大数据”实用性问题的优秀视频 Scalable ML 后,我开始思考总结一些在学习机器学习时,我希望能够尽早明白的事情。视频来源于 Mikio Braun,介绍了 Scala 和 Spark 相关的知识。
我希望在学习机器学习时能够尽早明白的事情有三项:
将模型应用到产品中并不是一件简单的小事;
在课本中我们很难学习到真正的特征选择和特征提取技巧;
模型评估阶段非常重要。
下面让我一个一个地介绍它们。
1. 将模型应用到产品中并不是一件简单的小事:
我在 Data-Product 上有一场介绍如何将常微分方程应用到产品中的演讲。之后我花了好一段时间才意识到,自己一个人来处理包括模型衰退、产品中模型评价、开发与运维沟通等事务是多么的困难。Yhat 的 ScienceOPS 是针对这个问题的一个解决方案。一开始我并没有意识到它有多棒,现在我发现我很难在市场中找到该产品的直接竞争者,我真的觉得他们正在解决这个非常重要的问题。渐渐地,我意识到我没有聪明到可以处理运维成员负责的事务——所以我很乐意将这项工作外包。
2. 在课本中我们很难学习到真正的特征选择和特征提取技巧:
特征选择和提取方法和技巧常常无法从课本中学习。这些技巧只能从像 Kaggle 竞赛或现实世界中的项目中学习,甚至有时候需要实际应用这些技巧和方法才能学会它们。而这些工作在整个数据科学项目流程中占据了相当一部分比重。
3. 模型评估阶段非常重要:
除非你已经将模型应用到测试集数据上了,否则你都不能说已经进入到预测分析阶段。像交叉验证、评估指标等评估技巧都是非常宝贵的,因为它们只需将你的数据分离成测试集和训练集。但是实际生活通常并不会将已经定义好测试集、训练集的数据给你,所以将真实世界中的数据划分为测试数据和训练数据,是一项充满创造性的工作,其中可能包含许多情感因素。在 Dato 上有许多讨论模型评估的优秀文章。
我认为 Mikio Braun 对训练集和测试集的解释值得一读。我也很喜欢他画的图并将其包含在文中,方便不熟悉训练集和测试集概念的读者理解。
我们在论文、会议甚至在讨论我们解决问题时所用的方法的时候,经常忽略了模型评价。“我们在其中使用了 SVM ”这句话并没有告诉我任何信息,这没有告诉我你的数据来源,你选择的特征,你的模型评估方法,你如何将其应用到产品中,以及你在其中如何使用交叉验证或模型查错。我认为我们需要更多关于机器学习中这些“肮脏”的方面问题的讨论。
我的朋友 Ian 在 Data Science Delivered 上有一个很好的笔记,适合需要为真实情况建立机器学习模型的任何层次的人员阅读。同时也适合希望雇佣数据科学家的招聘人员或者与数据科学团队打交道的经理阅读——如果你正在找人询问“你是如何处理这些肮脏的数据的”。
1)机械学习 (Rote learning):
学习者无需任何推理或其它的知识转换,直接吸取环境所提供的信息。如塞缪尔的跳棋程序,纽厄尔和西蒙的LT系统。这类学习系统主要考虑的是如何索引存贮的知识并加以利用。系统的学习方法是直接通过事先编好、构造好的程序来学习,学习者不作任何工作,或者是通过直接接收既定的事实和数据进行学习,对输入信息不作任何的推理。
2)示教学习 (Learning from instruction或Learning by being told):
学生从环境(教师或其它信息源如教科书等)获取信息,把知识转换成内部可使用的表示形式,并将新的知识和原有知识有机地结合为一体。所以要求学生有一定程度的推理能力,但环境仍要做大量的工作。教师以某种形式提出和组织知识,以使学生拥有的知识可以不断地增加。这种学习方法和人类社会的学校教学方式相似,学习的任务就是建立一个系统,使它能接受教导和建议,并有效地存贮和应用学到的知识。不少专家系统在建立知识库时使用这种方法去实现知识获取。示教学习的一个典型应用例是FOO程序。
3)演绎学习 (Learning by deduction):
学生所用的推理形式为演绎推理。推理从公理出发,经过逻辑变换推导出结论。这种推理是"保真"变换和特化(specialization)的过程,使学生在推理过程中可以获取有用的知识。这种学习方法包含宏操作(macro-operation)学习、知识编辑和组块(Chunking)技术。演绎推理的逆过程是归纳推理。
4)类比学习 (Learning by analogy):
利用二个不同领域(源域、目标域)中的知识相似性,可以通过类比,从源域的知识(包括相似的特征和其它性质)推导出目标域的相应知识,从而实现学习。类比学习系统可以使一个已有的计算机应用系统转变为适应于新的领域,来完成原先没有设计的相类似的功能。
小结:其中尤其典型的是专家系统中的知识获取瓶颈问题,人们一直在努力试图采用机器学习的方法加以克服。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341