首頁  >  文章  >  科技週邊  >  基於智慧型資料庫的自助式機器學習

基於智慧型資料庫的自助式機器學習

WBOY
WBOY轉載
2023-04-09 16:31:081713瀏覽

基於智慧型資料庫的自助式機器學習

譯者| 張怡

審校| 梁策孫淑娟

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中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除