为什么你的数据库需要一个机器学习的大脑

135 阅读7分钟

为什么你的数据库需要一个机器学习的大脑

了解在数据库中使用ML是如何使其更容易创建关于该数据未来的预测的。

在过去的10-15年里,企业投入了大量的资源来创建数据库,让他们更好地了解自己的业务,更早地发现趋势,并更有效地管理任务。

事实上,现在整个行业已经围绕着它成长起来,不仅有像Clickhouse、DataStax、MariaDB、MongoDB、MySQL、PostgreSQL、SingleStore或Snowflake这样的数据库公司,而且还有一大批开发商业智能(BI)工具的公司,如Tableau,以便从数据库中的数据中获得洞察力。

这些数据库历来擅长使用历史数据来发现趋势,但预测(或者说,准确的预测)就有点难以捉摸了。人工智能改变了这一点,随着机器学习能力的提高,越来越有可能做出更准确的预测--在某些情况下,可以按小时进行业务预测。

因此,人工智能的采用正在加速,特别是在COVID-19大流行之后。根据普华永道,大多数已经完全接受人工智能的公司已经报告看到了重大的好处。

哪些预测是可能的

现在,数据库收集和保存了企业中几乎每一个职能部门的信息,企业正在转向ML,以更有效地使用这些数据。事实上,最近关于ML的公告来自不同的组织,如温哥华的公共汽车公司TransLink,它使用ML来改善到达时间的预测,并警告可能拥挤的公共汽车;以及慕尼黑白血病实验室,研究人员正在使用ML来预测基因变异可能是良性还是致病的。

从商业智能的角度来看,ML可以被用于,例如,零售业,以优化促销展示、及时库存控制和人员配置水平。它可以用于能源生产,以预测需求和停电,或用于金融,以获得更好的信用评分和风险分析。

一个很好的例子是,组织如何在他们现有的数据上使用ML的预测能力,可以从我们最近展示的一个数据集中看到,该数据集使用了纽约市出租车的数据和Creative Mobile Technologies(CMT)的支付系统应用程序。

这是一个非常复杂的系统,车费的分配不仅在一天中对一个出租车供应商来说是不同的,而且在出租车供应商本身之间也是不同的。更加复杂的是,有多个供应商,每个都有自己的时间序列。

图1:每组数据的时间动态如何变化 - 使用纽约市出租车数据

然而,一旦这些数据被清理,就可以使用数据库中的历史数据,并使用SQL查询和MindsDB来训练一个多变量的时间序列预测器,该预测器能够准确预测未来7个小时的需求,而且只用三个变量就能做到:供应商、接客时间和出租车价格。

图2:纽约市出租车公司的票价预测--MindsDB的预测(蓝色),与现实(黄色)相比

正如我们所看到的,在预测反映现实之前,大约需要10次预测,在前15次预测之后,偏差很小,这使得出租车和司机可以在特定的和城市的特定部门更好地分配。

所以,数据库需要一个大脑--把它放在哪里才是最好的?

正如我们所看到的,在加入ML后,数据库中的信息可以用来进行非常准确的预测,这可以用于大量的商业应用,从预测客户行为到改善员工的保留,到改善工业流程....。

而这给了我们两个选择:将数据导出到大脑,或者将大脑导入到数据。

目前,大多数ML系统使用与下面类似的一系列步骤导出存放在数据库中的数据。

  1. 提取数据
  2. 预处理(例如,把它变成一个平面文件)
  3. 将其加载到BI工具中
  4. 将数据从BI工具中导出到ML扩展中
  5. 创建一个模型
  6. 训练ML
  7. 通过AutoML扩展运行预测
  8. 把这些预测结果装回BI工具中
  9. 在BI工具中准备可视化

这种方法并不理想。它不仅需要时间,而且还需要将数据从一个系统提取、转换和加载到另一个系统,这可能是一个挑战,特别是在处理高度敏感的数据的复杂性时,如在金融服务、零售、制造或医疗保健方面。

事实上,CrowdFlower的一项小规模调查发现,80%的数据科学家的时间被数据准备工作所占用,四分之三的数据科学家认为这种准备工作是工作中最不愉快的部分。

通过将ML保持在数据库层面,你能够消除几个最耗时的步骤--这样做,确保敏感数据可以在数据库的治理模式下进行分析。同时,你能够减少项目的时间表,减少潜在的失败点。

此外,通过将ML放在数据层,它可以被用于实验和简单的假设测试,而不会成为一个需要时间和资源才能签署的小型项目。这意味着你可以在飞行中尝试,不仅增加洞察力的数量,而且增加业务规划的敏捷性。

通过将ML模型整合为虚拟数据库表,与常见的商业智能工具一起,甚至大型数据集也可以用简单的SQL语句进行查询。这项技术将预测层纳入数据库,允许任何受过SQL培训的人解决与时间序列、回归或分类模型有关的复杂问题。从本质上讲,这种方法使获得预测性数据驱动的经验 "民主化"。

在预测的同时增加信任

即使有最聪明的数据库,ML技术的应用也不仅仅是机器的预测。需要Nuance,使用这种预测的人需要解释预测并推动可靠的业务成果。

当模型得到人类决策过程的协助时,优化往往会发生。然而,即使如此,模型仍然可以显示出明显的偏差,研究发现,模型的输出也可以给人类带来认知偏差。

因此,一个关键的方面是要能够理解模型,并能够相信准确性和价值。

为了帮助商业分析师理解为什么ML模型会做出某些预测,最好是部署一个ML工具,用可视化和可解释的人工智能(XAI)功能来生成预测结果。这不仅建立了所需的信任,还为负责解释结果的分析师提供了一个机会,以快速查看是否存在任何数据清洁问题或可能歪曲模型输出的人为偏见。

那么,你的数据库需要一个大脑吗?

当然需要。虽然传统上ML与数据层是分开的,但这正在改变。你的数据库容纳了你的业务的几乎每一个重要部分的伟大历史,通过在数据库中使用ML,创建关于这些数据在未来会是什么样子的预测正变得越来越简单,运行查询只需使用标准的数据库命令。