更新时间:2021-07-04 16:57:09
实时机器学习综述
相信本书的读者都已经接触过一点机器学习了,或者听说过各种新奇的机器学习方法,或者通过相关新闻了解过机器学习的应用场景。那么,大家是否了解机器学习的定义呢?事实上,对它的定义层出不穷,不同领域的大咖往往都会有一个从自己角度出发的特别“机灵”的定义。比如,吴恩达(Andrew Ng)是深度学习的先驱者之一,他对机器学习的定义是从计算机从业者的角度出发的,他的定义是:
机器学习是一门科学,它旨在让计算机自主化工作,而不需要刻意编程。
而从统计和数据分析的角度出发,世界领先的统计软件公司 SAS 对机器学习的定义是:
机器学习是一种方法,它旨在用数据分析自动化模型的建立。
笔者个人从学术和工业界应用的角度出发,认为机器学习的定义应该包括以下三个方面。
用数据说话:在常规计算机编程中,所有的逻辑都是人为设定的。而机器学习方法是试图让观测到的数据和现象成为编撰逻辑的依据,不同模型之间的衡量标准也试图尽量达到标准化,以使得人为干预最小化。
高度自动化:机器学习模型往往会在工业应用中不断重复更新,所以机器学习建模生存期中的每个步骤往往都是可以高度自动化的。
鲁棒性:虽然教科书中很少提及,但鲁棒性(又称稳定性,Robustness)确实是机器学习方法论中隐含的一个巨大要求。由于模型建立高度自动化,因此我们需要运用的机器学习模型在面对极端数据的时候只会受到较少影响,不需要人为排错。
根据笔者的经验,以上三点是一个组织成功运用机器学习的必要条件,但是一定要以用户体验为出发点来进行均衡。
在工业应用中,上面这三点的重要性总是在不断得到印证。下面就通过两个应用中的有名案例来体会一下。
通过这样的案例,我们可以意识到基本数据采集对机器学习模型的重要性。如果数据出现了问题,那么后面的模型、架构再强大也没有办法产生效益。