机器学习作为人工智能的一种最重要的实现方式,其历史可以追溯到20世纪50年代。
只不过,早期受制于计算机的算力,基本没有什么能够落地的实际应用,更多的是各类算法的研究和发展。
之后,随着硬件的飞速发展,终于迎来了人工智能的春天,各种机器学习的算法在我们的日常生活中得到了广泛应用(很多情况甚至我们都没有感觉到)。
比如,小到各种的个性化推荐,语音控制,人脸识别等我们平时经常接触的应用,
大的方面有医疗领域,机器学习的成果在这些领域帮助医生进行疾病诊断、辅助手术和治疗,以及提供个性化的健康管理方案;
还有交通领域,未来的自动驾驶会给我们的出行方式带来革命性的变化。
此外,机器学习还渗透到很多其他的方方面面,这里不再一一列举,
本文主要想讨论的是机器学习在“小数据”上的应用前景。
介绍“小数据”之前,先从大数据的概念谈起。
如今,我们早已进入大数据时代,当初大数据带来的新奇之感早已不在,
大家对大数据概念的认知也日趋成熟,一致。
大数据的“大”不仅仅是指数据量的“多”,更多的是指数据的复杂。
这里的复杂是多方面的,包括:
与之相对,我们今天讨论的“小数据”,一方面是数据量“少”,“少”到可以单机处理;
另一方面,数据简单,也就是来源单一,属性不多,格式固定。
举例来说,围绕我们个人的各种健康数据,消费数据就是“小数据”;
对某个特定企业来说,它的销售数据,运营数据也是“小数据”;
还有,在科研上,针对某个领域的各类实验数据其实也是“小数据”。
概括起来,“小数据”一般有下面三个特点:
大数据让机器学习在不知不觉中影响我们,在大数据时代,我们享受大厂通过机器学习训练出的模型带来的便利。
而小数据则让我们有机会亲自去实践机器学习,让机器学习成为个人和小企业手上的称手工具,而不只是大厂的专有权利。
“小数据”降低了机器学习的门槛,这里的门槛是我们实践机器学习的门槛,不再迷信只有在大数据基础上训练出来的模型才是可靠和精准的模型。
也就是说,没有海量的数据也无妨,没有超高的算力也无妨,我们依然可以在自己的“小数据”上利用机器学习利用分析和决策。
“小数据”虽然量少,但是数据的精度和可靠性很高,训练出来的模型绝不是粗糙和低劣的。
挑两个我自己的实际经验来举例,一个是销售数据分析的项目;一个是量化交易相关的项目。
销售数据分析那个项目中,数据是客户从数据库中导出的,大约6千多万条,数据主要就是订单和物流两类,
数据字段和结构非常规整,符合“小数据”的特征。
在这个项目中,应用机器学习,得到了比传统分析更多的信息,比如:
此外,还使用了一些异常数据检测的算法,用来分析销售额的突然下降和高退货率的情况。
另一个量化交易的项目,这个项目的数据结构更加简单,
基础的数据其实就5个字段(交易时间,最高价,最低价,开盘价,收盘价,交易量),也就是K线图上放映的内容。
在这个简单的数据结构之上,可以构建各式各样的分析指标,然后通过机器学习算法来验证各种指标或指标组合的收益情况。
通过上面两个实际的项目,可以看到,没有用大数据和大数据平台,机器学习依然对我们大有用处。
我刚开始了解机器学习之前,先去学了很多大数据相关的知识,还搭建了一些简易的大数据平台,去了解hadoop和spark之类的框架。
那时候,我觉得离开大数据,机器学习的模型只能当成“玩具”,但是,接触和管理大数据是有门槛的,别说个人,即使是中小型规模的企业,也没有时间和精力去维护一个大数据平台。
如今,经历了一些在“小数据”上的机器学习应用,我已经不再认为大数据和机器学习是密不可分的了。
离开大数据,机器学习应用的门槛不再高不可攀,“小数据”可以让更多的程序员加入到开发机器学习应用的队伍中来。
之前学习大数据相关知识的时候,有一本书的作者提到,在大数据的项目中,数据的采集和清洗所占的工作量高达整个项目的80%以上。
在“小数据”项目中,这个工作量可以大大减少,我们可以把时间和精力更多的用在机器学习模型的调优中,而不是单纯的数据管理上。
未来,随着各种智能设备越来越多,围绕我们个人的各种数据也会越来越多,基于这些针对个人的极端个性化的数据,细致的去分析各种结果。就是“小数据”机器学习的应用前景之一。
此外,随着信息化越来越普及,企业中也会产生各种各样分门别类的“小数据”,比如财务数据,客户数据,市场数据,运营数据,销售数据等等。这些也会成为“小数据”机器学习的应用场景。
在科研中,各种实验数据也是“小数据”,也可以通过机器学习来发掘这些数据中可能存在的创新契机。
总之,摆脱“机器学习模型必须要大数据支撑才能更精确”的固有思维,我们也许可以让机器学习在“小数据”上再次大放异彩。