廣受企業採用的Oracle資料庫系統也積極發揮專長,讓既有用戶基於In-Database機器學習演算技術,簡化AI應用複雜的程序,其最新增添的AutoML操作介面,更可讓資料科學家提升建構模型效率。
甲骨文(Oracle)台灣區技術總監黃久安指出,機器學習蒐集的大數據來源必定會包含應用系統內的資料,比如說得有ERP系統後端資料庫內容,才能夠做到價格預測;或者是有CRM系統存放的客戶消費資料,才能夠推論喜好與推薦。企業這類應用系統,後端大部分是甲骨文提供的資料庫,若直接在資料庫環境中納入機器學習演算法,則資料便無須離開資料庫。但若採用獨立的資料科學工具,勢必得到各個應用系統後端資料庫中撈取資料,經過彙整後再進行判斷、解讀,再執行演算模型分析,才產生出最終結果。
「甲骨文基於擅長的資料庫技術,持續研發現代企業營運所需的技術,讓客戶得以運用資料庫實作應用,以熟悉的PL/SQL程式語言開發預存程序(Stored Procedure),讓機器學習演算法在資料庫系統中直接運行,無須再搬動資料,即可達到分析的目的。」黃久安說。
滿足業務層面即時回應需求
前述的In-Database機器學習演算機制不僅可降低技術上的負擔,更重要的是業務層面可達到即時性。在既有的ERP、CRM系統的後端資料庫建立演算模型,更有助於簡化部署的複雜度,可直接把機器學習嵌入到應用系統整合運行,如此一來,即時性的效果更加顯著。
黃久安舉例,當顧客點選網頁查詢產品品項,背後執行程序皆為呼叫資料庫查詢,當顧客把產品放入購物車,直到完成結帳,該筆訂單的所有交易資料都存放在甲骨文資料庫,此外,滑鼠點選滾動查詢的行為記錄也予以保留,可在顧客點選切換至下一頁時,根據購買歷史記錄、網頁操作軌跡、個人資料特徵等資訊,運用演算模型判斷該用戶可能感興趣的產品,立刻在到達網頁上投放相關廣告。此應用模式現今已相當成熟,只是若基於資料庫來實作,更容易達到即時性的廣告放送。
換言之,若非In-Database的應用場景,欲達到前述的即時性,需要更多整合運行的程序,讓資料庫產生的資料可即時撈取,借助學習式演算法分析完成後再透過API介接存放回到資料庫,得耗費更多資源與成本才可符合業務層面需求。
預存程序撰寫演算法運行分析
分析模型本身是數學運算式的集合,預存程序則是資料庫程式語言,近年來資料科學家大多基於Python或R語言,來開發機器學習模型。Oracle Database Enterprise Edition系統核心,本就已提供Oracle Advanced Analytics免費機制,只要有資料庫授權即可使用,不需要額外費用,此即為預存程序撰寫完成的演算法。例如決策樹(Decision Tree)、類神經網路(Artificial Neural Network)等,商務應用常見的演算法早在Oracle 8版時就已經提供,文字探勘(Text Mining)則是在Oracle 11版時加入。
甲骨文設計的操作方式有兩種,其一是透過資料庫管理者慣用的SQL Developer圖形化介面,執行資料探勘(Data Mining)功能。另一種是基於Python或R語言的整合開發環境自行撰寫,加入Oracle提供的函式庫(Library),有助於提升建模的效率。
目前機器學習的應用,大多是非即時性分析,再依據結論執行調整,甲骨文基於In-Database來實作,不僅可簡化複雜技術達到相同目標,更重要的是具備即時性。黃久安進一步說明,現代的ERP、CRM等應用系統採用機器學習演算模型已相當普遍,尤其是即時性分析,大眾皆已理解其效益,在顧客瀏覽網頁的當下可立即反應,甚至可基於網路蒐集取得的資料,運用現有模型來判斷惡意攻擊行為並加以阻斷。這類成熟的應用在Oracle資料庫系統即可實現,無須採用額外工具,即可達到相同目的。除非Oracle提供的商業演算法皆不適用,或者是必須整合多種類別演算法來處理特定問題,則可運用Python或R語言自行撰寫,再整合Oracle資料庫中內建的演算法來建立。
以往為了提供機器學習演算分析,資料通常需要經過蒐集與整理,若商業應用場景規模得大量處理,必須先在資料倉儲彙整相關應用系統後端資料庫,以及非結構化的資料,過去資料倉儲主要是離線分析,也就是在彙整資料後才開始運行分析,輔助高階管理層商業決策。如今則可在運算完成當下立即拋送到前端應用,快速地反應用戶需求。
AutoML Pipeline提升建模效率
近來資料科學領域相當關注AutoML,不僅提高資料科學家建模效率,亦有機會讓非專家級用戶也可充分利用機器學習的優勢。黃久安說明,資料科學家建立機器學習模型的程序,首要必須先了解商業營運的問題本質與尋找解決方法,其次是理解企業應用系統產生的資料內容,第三是準備所需的資料,接下來著手建立機器學習模型、評估有效性、部署到線上應用系統。
為了簡化程序,整個AutoML Pipeline把耗時且重複的建模過程予以自動化,包含四個主要步驟,演算法選擇(Algorithm Selection)、自適應採樣(Adaptive Sampling)、特徵值選擇(Feature Selection)以及超參數調整(Hyperparameter Tuning)。「Oracle資料庫中內建決策樹、貝氏、類神經、迴歸等演算模型,皆為預測性質,直接套用即可運行分析。資料表中的許多欄位關聯性不大,理應要有排除機制降低噪音,再依據應用場景所需分析的特徵,從Dataset篩選欄位,套用範本篩選三次以上才可確認取樣的代表性,最後進行超參數調整優化模型的預測分析。」黃久安說。
過去整個AutoML執行是以天為單位,如今搭配運算力強大的硬體,已經可降低到以小時為單位,甚至更短時間,讓資料科學家可以有更充裕的時間專注在解決特定問題。他舉例,SVM(Support Vector Machine)是在分類與迴歸分析中,分析資料的監督式學習模型與相關學習演算法,得到的分數愈高則無須再驗證,可以有更多時間了解實際應用部門的資料特性,研究處理問題的方式與準確度。