天天看點

思邁特軟體Smartbi:機器學習高深難懂?本文深入淺出給你講明白!

人工智能(Artificial Intelligence,縮寫為AI)是對人的意識、思維過程進行模拟的一門新學科。如今,人工智能從虛無缥缈的科學幻想變成了現實。計算機科學家們在人工智能的技術核心--機器學習(Machine Learning)和深度學習(Deep Learning)領域上已經取得重大的突破,機器被賦予強大的認知和預測能力。回顧曆史,在1997年,IBM深藍戰勝國際象棋冠軍卡斯帕羅夫;在2011年,具備機器學習能力的IBM Waston參加綜藝節目赢得100萬美金;在2016年,利用深度學習訓練的Aplphago成功擊敗人類世界冠軍。種種事件表明機器也可以像人類一樣思考,甚至比人類做得更好。

目前,人工智能在金融、醫療、制造等行業得到了廣泛應用。其中,機器學習是人工智能技術發展的主要方向。

一、機器學習與人工智能、深度學習的關系

在介紹機器學習之前,先需要對人工智能、機器學習和深度學習三者之間的關系進行梳理。目前業界最常見的劃分是:

人工智能

是使用與傳統計算機系統完全不同的工作模式,它可以依據通用的學習政策,讀取海量的大資料,并從中發現規律、聯系和洞見,是以人工智能能夠根據新資料自動調整,而無需重設程式。

機器學習

是人工智能研究的核心技術,在大資料的支撐下,通過各種算法讓機器對資料進行深層次的統計分析以進行自學;利用機器學習,人工智能系統獲得了歸納推理和決策能力;而深度學習更将這一能力推向了更高的層次。

深度學習

是機器學習算法的一種,隸屬于人工神經網絡體系,現在很多應用領域中性能最佳的機器學習都是基于模仿人類大腦結構的神經網絡設計而來的,這些計算機系統能夠完全自主地學習、發現并應用規則。相比較其他方法,在解決更複雜的問題上表現更優異,深度學習是可以幫助機器實作獨立思考的一種方式。

總而言之,人工智能是社會發展的重要推動力,而機器學習,尤其是深度學習技術就是人工智能發展的核心,它們三者之間是包含與被包含的關系。如下圖:

思邁特軟體Smartbi:機器學習高深難懂?本文深入淺出給你講明白!

二、機器學習:實作人工智能的高效方法

從廣義上來說,機器學習是一種能夠賦予機器學習的能力,以此讓它完成直接程式設計無法完成的功能的方法。但從實踐的意義上來說,機器學習是通過經驗或資料來改進算法的研究,通過算法讓機器從大量曆史資料中學習規律,得到某種模式并利用此模型預測未來,機器在學習的過程中,處理的資料越多,預測結果就越精準。

機器學習在人工智能的研究中具有十分重要的地位。它是人工智能的核心,是使計算機具有智能的根本途徑,其應用遍及人工智能的各個領域。從20世紀50年代人們就開始了對機器學習的研究,從最初的基于神經元模型以及函數逼近論的方法研究,到以符号演算為基礎的規則學習和決策樹學習的産生,以及之後的認知心理學中歸納、解釋、類比等概念的引入,至最新的計算學習理論和統計學習的興起,機器學習一直都在相關學科的實踐應用中起着主導作用。現在已取得了不少成就,并分化出許多研究方向,主要有符号學習、連接配接學習和統計學習等。

1.機器學習的結構模型

機器學習的本質就是算法,算法是用于解決問題的一系列指令。程式員開發的用于指導計算機進行新任務的算法是我們今天看到的先進數字世界的基礎。計算機算法根據某些指令和規則,将大量資料組織到資訊和服務中。機器學習向計算機發出指令,允許計算機從資料中學習,而不需要程式員做出新的分步指令。

機器學習的基本過程是給學習算法提供訓練資料。然後,學習算法基于資料的推論生成一組新的規則。這本質上就是生成一種新的算法,稱之為機器學習模型。通過使用不同的訓練資料,相同的學習算法可以生成不同的模型。從資料中推理出新的指令是機器學習的核心優勢。它還突出了資料的關鍵作用:用于訓練算法的可用資料越多,算法學習到的就越多。事實上,AI 的許多最新進展并不是由于學習算法的激進創新,而是現在積累了大量的可用資料。

2.機器學習的工作流程

 Step1選擇資料

首先将原始資料分成三組:訓練資料、驗證資料和測試資料;

Step2資料模組化

再使用訓練資料來建構使用相關特征的模型;

Step3驗證模型

使用驗證資料輸入到已經建構的資料模型中;

Step4測試模型

使用測試資料檢查被驗證的模型的性能表現;

Step5使用模型

使用完全訓練好的模型在新資料上做預測;

Step6選擇資料

使用更多資料、不同的特征或調整過的參數來提升算法的性能表現。

3.機器學習發展的關鍵基石

海量資料

人工智能的能量來源是穩定的資料流。機器學習隻有通過海量資料來訓練自己,才能開發新規則來完成日益複雜的任務。目前我們時刻都在産生大量的資料,而資料存儲成本的降低,使得這些資料易于被使用。

超強計算

強大的計算機和通過網際網路連接配接遠端處理能力使可以處理海量資料的機器學習技術成為可能。ALPHGO之是以能在與對李世石的對決中取得曆史性的勝利,這與它硬體配置的1920個CPU和280個GPU超強運算系統密不可分,可見計算能力對于機器學習是至關重要的。

優秀算法

在機器學習中,學習算法(learning algorithms)建立了規則,允許計算機從資料中學習,進而推論出新的指令(算法模型),這也是機器學習的核心優勢。新的機器學習技術,特别是分層神經網絡,也被稱為深度學習,啟發了新的服務,刺激了對人工智能這一領域其他方面的投資和研究。

4.機器學習的算法分類

機器學習基于學習形式的不同通常可分為三類:

監督學習(Supervised Learning)

給學習算法提供标記的資料和所需的輸出,對于每一個輸入,學習者都被提供了一個回應的目标。監督學習主要被應用于快速高效地教熟AI現有的知識,被用于解決分類和回歸的問題。常見的算法有決策樹(Decision Trees)、Adaboost算法、人工神經網絡(ArTIficial Neural Network-ANN)算法、SVM(Support Vector Machine)算法等。

無監督學習(Unsupervised Learning)

給學習算法提供的資料是未标記的,并且要求算法識别輸入資料中的模式,主要是建立一個模型,用其試着對輸入的資料進行解釋,并用于下次輸入。現實情況下往往很多資料集都有大量的未标記樣本,有标記的樣本反而比較少。如果直接棄用,很大程度上會導緻模型精度低。這種情況解決的思路往往是結合有标記的樣本,通過估計的方法把未标記樣本變為僞的有标記樣本,是以無監督學習比監督學習更難掌握。主要用于解決聚類和降維問題,常見的算法有聚類算法、K-means算法、Expectation Maximisation(EM)算法、Affinity Propagation聚類算法、層次聚類算法等。

強化學習(Reinforcement Learning)

該算法與動态環境互相作用,把環境的回報作為輸入,通過學習選擇能達到其目标的最優動作。強化學習這一方法背後的數學原理與監督/非監督學習略有差異。監督/非監督學習更多地應用了統計學,而強化學習更多地結合了離散數學、随機過程這些數學方法。常見的算法有TD(λ)算法、Q-learning算法等。

三、機器學習在BI的應用:自然語言分析

随着機器學習的普及,對話型使用者互動接口逐漸成為業界的熱門話題。Natural Language to SQL( NL2SQL)就是這樣的一項技術,它将使用者的自然語句轉為可以執行的SQL語句,進而免除業務使用者學習SQL語言的煩惱,成功将自然語言應用于BI領域。

Smartbi的自然語言分析就是利用了NL2SQL技術,将自然語言通過神經網絡轉化為計算機可以識别的資料庫查詢語言。使用者通過語音或者鍵盤輸入後,“AI智能小麥”會将輸入的自然語言轉為語言元模型的形式,通過小麥内置的知識抽取算法,經過深度學習模型将元模型轉化為機器可以了解的資料庫語言。最後通過Smartbi預置的查詢引擎和圖形引擎,快速準确的找到使用者想要的查詢結果,自動生成圖形輸出,也可以在Smartbi中對查詢結果進行組合和進一步分析。

思邁特軟體Smartbi:機器學習高深難懂?本文深入淺出給你講明白!

四、機器學習在BI的應用:資料挖掘

資料挖掘利用機器學習技術從大量資料中挖掘出有價值的資訊。對比傳統的資料分析,資料挖掘揭示資料之間未知的關系,可以做一些預測性的分析,例如精準營銷、銷量預測、流失客戶預警等等。

雖然資料挖掘學習門檻較高,但是有越來越多的軟體工具支援機器學習模型的自動建構,這些模型可以嘗試許多不同的算法來找出最成功的算法。一旦通過訓練資料找到了能夠進行預測的最佳模型,就可以部署它,并對新的資料進行預測。例如Smartbi的資料挖掘平台在一個界面上通過可視化的操作實作資料預處理、算法應用、模型訓練、評估、部署等全生命周期的管理。同時,内置分類、聚類、關聯、回歸五大類數十個算法節點并支援自動推薦,參數也能實作自動調優。

繼續閱讀