目录
1.如何成为一个IDO?
2.为什么企业在采用人工智能方面进展缓慢?
3.机器学习的推广只有自动ML(AutoML)工具是不够的
4.分解机器学习过程
5.将ML与应用程序集成
6.自助机器学习/智能数据库?
挑战#1:复杂的数据集成和ETL管道
挑战#2:ML模型与应用程序的集成
解决方案:在数据库中嵌入AutoML
7.如何实现自助式ML将模型作为虚拟数据库表
8.使用AI Tables
9.AI Tables工作示例
(1)训练AI Tables
(2)批量预测
(3)实际运用
译者介绍
首页 科技周边 人工智能 ​基于智能数据库的自助式机器学习

​基于智能数据库的自助式机器学习

Apr 09, 2023 pm 04:31 PM
数据库 机器学习 自助式

​基于智能数据库的自助式机器学习

译者 | 张怡

审校 | 梁策 孙淑娟

1.如何成为一个IDO?

IDO(insight-driven organization)指洞察力驱动(以信息为导向)的组织。要成为一个IDO,首先需要数据以及操作和分析数据的工具;其次是具有适当经验的数据分析师或数据科学家;最后还需要找到一种技术或者方法,从而在整个公司实施洞察力驱动的决策过程。

机器学习是能最大限度发挥数据优势的技术。ML流程首先使用数据训练预测模型,训练成功之后来解决与数据相关的问题。其中,人工神经网络是最有效的技术,它的设计源自我们目前对人类大脑工作方式的理解。考虑到人们目前拥有的巨大计算资源,它通过大量数据训练可以产生令人难以置信的模型。

企业可以使用各种自助化软件和脚本完成不同的任务,从而避免人为错误的情况。同样,你也完全可以基于数据进行决策来避免当中的人为错误。

2.为什么企业在采用人工智能方面进展缓慢?

使用人工智能或机器学习来处理数据的企业仅是少数。美国人口普查局(US Census Bureau)表示,截至2020年,只有不到10%的美国企业采用了机器学习(主要是大公司)。

采用ML的障碍包括:

  • 人工智能在取代人类之前还有大量工作尚未完成。首先是许多企业缺乏且请不起专业人员。数据科学家在这一领域备受推崇,但他们的雇佣成本也是最高的。
  • 缺乏可用数据、数据安全性以及耗时的ML算法实现。
  • 企业很难创造一个环境,从而让数据及其优势得到发挥。这种环境需要相关的工具、过程和策略。

3.机器学习的推广只有自动ML(AutoML)工具是不够的

自动ML平台虽然有着很光明的未来,但其覆盖面目前还相当有限,同时关于自动ML能否很快取代数据科学家的说法也有争论。

如果想要在公司成功部署自助化机器学习,AutoML工具确实是至关重要的,但过程、方法和策略也必须重视。AutoML平台只是工具,大多数ML专家认为这是不够的。

4.分解机器学习过程

​基于智能数据库的自助式机器学习

任何ML进程都从数据开始。人们普遍认为,数据准备是ML过程中最重要的环节,建模部分只是整个数据管道的一部分,同时通过AutoML工具得到简化。完整的工作流仍需要大量的工作来转换数据并将其提供给模型。数据准备和数据转换可谓工作中最耗时、最令人不愉快的部分。

此外,用于训练ML模型的业务数据也会定期更新。因此,它要求企业构建能够掌握复杂的工具和流程的复杂ETL管道,因此确保ML流程的连续和实时性也是一项具有挑战性的任务。

5.将ML与应用程序集成

假设现在我们已经构建了ML模型,然后需要将其部署。经典的部署方法将其视为应用层组件,如下图所示:

​基于智能数据库的自助式机器学习

它的输入是数据,输出是我们得到的预测。通过集成这些应用程序的API来使用ML模型的输出。仅从开发者的角度来看,这一切似乎很容易,但在考虑流程时就不是那么回事了。在一个庞大的组织中,与业务应用程序的任何集成和维护都相当麻烦。即使公司精通技术,任何代码更改请求都必须通过多级部门的特定审查和测试流程。这会对灵活性产生负面影响,并增加整个工作流的复杂性。

如果在测试各种概念和想法方面有足够的灵活性,那么基于ML的决策就会容易得多,因此人们会更喜欢具有自助服务功能的产品。

6.自助机器学习/智能数据库?

正如我们上面看到的,数据是ML进程的核心,现有的ML工具获取数据并返回预测结果,而这些预测也是数据的形式。

现在问题来了:

  • 为什么我们要把ML作为一个独立的应用程序,并在ML模型、应用程序和数据库之间实现复杂的集成呢?
  • 为什么不让ML成为数据库的核心功能呢?
  • 为什么不让ML模型通过标准的数据库语法(如SQL)可用呢?

让我们分析上述问题及其面临的挑战,从而找到ML解决方案。

挑战#1:复杂的数据集成和ETL管道

维护ML模型和数据库之间的复杂数据集成和ETL管道,是ML流程面临的最大挑战之一。

SQL是极佳的数据操作工具,所以我们可以通过将ML模型引入数据层来解决这个问题。换句话说,ML模型将在数据库中学习并返回预测。

挑战#2:ML模型与应用程序的集成

通过API将ML模型与业务应用程序集成是面临的另一个挑战。

业务应用程序和BI工具与数据库紧密耦合。因此,如果AutoML工具成为数据库的一部分,我们就可以使用标准SQL语法进行预测。接下来,ML模型和业务应用程序之间不再需要API集成,因为模型驻留在数据库中。

解决方案:在数据库中嵌入AutoML

在数据库中嵌入AutoML工具会带来很多好处,比如:

  • 任何使用数据并了解SQL的人(数据分析师或数据科学家)都可以利用机器学习的力量。
  • 软件开发人员可以更有效地将ML嵌入到业务工具和应用程序中。
  • 数据和模型之间以及模型和业务应用程序之间不需要复杂的集成。

这样一来,上述相对复杂的集成图表变更如下:

​基于智能数据库的自助式机器学习

它看起来更简单,也使ML过程更流畅高效。

7.如何实现自助式ML将模型作为虚拟数据库表

找到解决方案的下一步是来实施它。

为此,我们使用了一个叫做AI Tables的结构。它以虚拟表的形式将机器学习引入数据平台。它可以像其他数据库表一样创建,然后向应用程序、BI工具和DB客户端开放。我们通过简单地查询数据来进行预测。

​基于智能数据库的自助式机器学习

AI Tables最初由MindsDB开发,可以作为开源或托管云服务使用。他们集成了传统的SQL和NoSQL数据库,如Kafka和Redis。

8.使用AI Tables

AI Tables的概念使我们能够在数据库中执行ML过程,这样ML过程的所有步骤(即数据准备、模型训练和预测)都可以通过数据库进行。

  • 训练AI Tables

首先,用户要根据自己的需求创建一个AI Table,它类似于一个机器学习模型,包含了与源表的列等价的特征;然后通过AutoML引擎自助完成剩余的建模任务。后文还将举例说明。

  • 做预测

一旦创建了AI Table,它不需要任何进一步的部署就可以使用了。要进行预测,只需要在AI Table上运行一个标准SQL查询。

你可以逐个或分批地进行预测。AI Tables可以处理许多复杂的机器学习任务,如多元时间序列、检测异常等。

9.AI Tables工作示例

对于零售商来说,在适当的时间保证产品都有适当的库存是一项复杂的任务。当需求增长时,供给随之增加。基于这些数据和机器学习,我们可以预测给定的产品在给定的日期应该有多少库存,从而为零售商带来更多收益。

首先你需要跟踪以下信息,建立一张AI Table:

  • 产品售出日期(date_of_sale)
  • 产品售出店铺(shop)
  • 具体售出产品(product_code)
  • 产品售出数量(amount)

如下图所示:

​基于智能数据库的自助式机器学习

(1)训练AI Tables

要创建和训练AI Tables,你首先要允许MindsDB访问数据。详细说明可参考MindsDB文档( MindsDB documentation)。

AI Tables就像ML模型,需要使用历史数据来训练它们。

下面使用一个简单的SQL命令,训练一个AITable:

​基于智能数据库的自助式机器学习

让我们分析这个查询:

  • 使用MindsDB中的CREATE PREDICTOR语句。
  • 根据历史数据定义源数据库。
  • 根据历史数据表(historical_table)训练AI Table,所选列(column_1和column_2)是用来进行预测的特征。
  • AutoML自动完成剩下的建模任务。
  • MindsDB会识别每一列的数据类型,对其进行归一化和编码,并构建和训练ML模型。

同时,你可以看到每个预测的总体准确率和置信度,并估计哪些列(特征)对结果更重要。

在数据库中,我们经常需要处理涉及高基数的多元时间序列数据的任务。如果使用传统的方法,需要相当大的力气来创建这样的ML模型。我们需要对数据进行分组,并根据给定的时间、日期或时间戳数据字段对其进行排序。

例如,我们预测五金店卖出的锤子数量。那么,数据按商店和产品分组,并对每个不同的商店和产品组合作出预测。这就给我们带来了为每个组创建时间序列模型的问题。

这听起来工程浩大,但MindsDB提供了使用GROUP BY语句创建单个ML模型,从而一次性训练多元时间序列数据的方法。让我们看看仅使用一个SQL命令是如何完成的:

​基于智能数据库的自助式机器学习

创建的stock_forecaster预测器可以预测某个特定商店未来将销售多少商品。数据按销售日期排序,并按商店分组。所以我们可以为每个商店预测销售金额。

(2)批量预测

通过使用下面的查询将销售数据表与预测器连接起来,JOIN操作将预测的数量添加到记录中,因此我们可以一次性获得许多记录的批量预测。

​基于智能数据库的自助式机器学习

如想了解更多关于在BI工具中分析和可视化预测的知识,请查看这篇文章。

(3)实际运用

传统方法将ML模型视为独立的应用程序,需要维护到数据库的ETL管道和到业务应用程序的API集成。AutoML工具尽管使建模部分变得轻松而直接,但完整的ML工作流也仍然需要经验丰富的专家管理。其实数据库已经是数据准备的优选工具,因此将ML引入到数据库而非将数据引入ML中是更有意义的。由于AutoML工具驻留在数据库中,来自MindsDB的AI Tables构造能够为数据从业者提供自助AutoML并让机器学习工作流得以简化。

原文链接:https://dzone.com/articles/self-service-machine-learning-with-intelligent-dat

译者介绍

张怡,51CTO社区编辑,中级工程师。主要研究人工智能算法实现以及场景应用,对机器学习算法和自动控制算法有所了解和掌握,并将持续关注国内外人工智能技术的发展动态,特别是人工智能技术在智能网联汽车、智能家居等领域的具体实现及其应用。

​基于智能数据库的自助式机器学习

以上是​基于智能数据库的自助式机器学习的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

使用C++实现机器学习算法:常见挑战及解决方案 使用C++实现机器学习算法:常见挑战及解决方案 Jun 03, 2024 pm 01:25 PM

C++中机器学习算法面临的常见挑战包括内存管理、多线程、性能优化和可维护性。解决方案包括使用智能指针、现代线程库、SIMD指令和第三方库,并遵循代码风格指南和使用自动化工具。实践案例展示了如何利用Eigen库实现线性回归算法,有效地管理内存和使用高性能矩阵操作。

你所不知道的机器学习五大学派 你所不知道的机器学习五大学派 Jun 05, 2024 pm 08:51 PM

机器学习是人工智能的重要分支,它赋予计算机从数据中学习的能力,并能够在无需明确编程的情况下改进自身能力。机器学习在各个领域都有着广泛的应用,从图像识别和自然语言处理到推荐系统和欺诈检测,它正在改变我们的生活方式。机器学习领域存在着多种不同的方法和理论,其中最具影响力的五种方法被称为“机器学习五大派”。这五大派分别为符号派、联结派、进化派、贝叶斯派和类推学派。1.符号学派符号学(Symbolism),又称为符号主义,强调利用符号进行逻辑推理和表达知识。该学派认为学习是一种逆向演绎的过程,通过已有的

可解释性人工智能:解释复杂的AI/ML模型 可解释性人工智能:解释复杂的AI/ML模型 Jun 03, 2024 pm 10:08 PM

译者|李睿审校|重楼人工智能(AI)和机器学习(ML)模型如今变得越来越复杂,这些模型产生的输出是黑盒——无法向利益相关方解释。可解释性人工智能(XAI)致力于通过让利益相关方理解这些模型的工作方式来解决这一问题,确保他们理解这些模型实际上是如何做出决策的,并确保人工智能系统中的透明度、信任度和问责制来解决这个问题。本文探讨了各种可解释性人工智能(XAI)技术,以阐明它们的基本原理。可解释性人工智能至关重要的几个原因信任度和透明度:为了让人工智能系统被广泛接受和信任,用户需要了解决策是如何做出的

C++技术中的机器学习:使用C++实现常见机器学习算法的指南 C++技术中的机器学习:使用C++实现常见机器学习算法的指南 Jun 03, 2024 pm 07:33 PM

在C++中,机器学习算法的实施方式包括:线性回归:用于预测连续变量,步骤包括加载数据、计算权重和偏差、更新参数和预测。逻辑回归:用于预测离散变量,流程与线性回归类似,但使用sigmoid函数进行预测。支持向量机:一种强大的分类和回归算法,涉及计算支持向量和预测标签。

iOS 18 新增'已恢复”相册功能 可找回丢失或损坏的照片 iOS 18 新增'已恢复”相册功能 可找回丢失或损坏的照片 Jul 18, 2024 am 05:48 AM

苹果公司最新发布的iOS18、iPadOS18以及macOSSequoia系统为Photos应用增添了一项重要功能,旨在帮助用户轻松恢复因各种原因丢失或损坏的照片和视频。这项新功能在Photos应用的"工具"部分引入了一个名为"已恢复"的相册,当用户设备中存在未纳入其照片库的图片或视频时,该相册将自动显示。"已恢复"相册的出现为因数据库损坏、相机应用未正确保存至照片库或第三方应用管理照片库时照片和视频丢失提供了解决方案。用户只需简单几步

在PHP中使用MySQLi建立数据库连接的详尽教程 在PHP中使用MySQLi建立数据库连接的详尽教程 Jun 04, 2024 pm 01:42 PM

如何在PHP中使用MySQLi建立数据库连接:包含MySQLi扩展(require_once)创建连接函数(functionconnect_to_db)调用连接函数($conn=connect_to_db())执行查询($result=$conn->query())关闭连接($conn->close())

如何在PHP中处理数据库连接错误 如何在PHP中处理数据库连接错误 Jun 05, 2024 pm 02:16 PM

PHP中处理数据库连接报错,可以使用以下步骤:使用mysqli_connect_errno()获取错误代码。使用mysqli_connect_error()获取错误消息。通过捕获并记录这些错误信息,可以轻松识别并解决数据库连接问题,确保应用程序的顺畅运行。

如何用 Golang 连接远程数据库? 如何用 Golang 连接远程数据库? Jun 01, 2024 pm 08:31 PM

通过Go标准库database/sql包,可以连接到MySQL、PostgreSQL或SQLite等远程数据库:创建包含数据库连接信息的连接字符串。使用sql.Open()函数打开数据库连接。执行SQL查询和插入操作等数据库操作。使用defer关闭数据库连接以释放资源。

See all articles