機器學習

menu icon

機器學習

機器學習著重於從經驗中學習,並隨著時間改善其決策或預測準確性的應用程式。

何謂機器學習?

機器學習是人工智慧 (AI) 的一個分支,著重於建置從資料中學習並隨著時間改善其準確性的應用程式,而且無需進行程式設計就能達成目的。 

在資料科學中,演算法是一連串的統計處理步驟。 在機器學習中,演算法「經過訓練」,目標是從大量資料找出型樣和特性,以便根據新資料做出決策與預測。 演算法越完善,隨著處理的資料越多,決策與預測就會越精確。

如今,機器學習的例子無所不在。 數位助理可根據我們的語音指令搜尋 Web 並播放音樂。 網站可根據我們之前購買、觀看或聆聽的內容,來推薦產品以及電影和歌曲。 機器人會清掃地板,好讓我們能夠更妥善地運用我們的時間。 垃圾郵件偵測器可阻擋不必要的電子郵件,讓它們無法進入我們的信箱。 醫學影像分析系統可協助醫生發現他們可能錯過的腫瘤。 而且,第一批自動駕駛汽車也已經上路了。

我們可以有更多的期待。 隨著大數據不斷增長、運算功能變得越來越強大又經濟實惠,以及資料科學家不斷開發具備更多功能的演算法,機器學習將為我們的個人和工作生活帶來越來越高的效率。 

機器學習的運作方式

建置機器學習應用程式(或模型)有四個基本步驟。 這些步驟通常是由資料科學家與正在開發該模型的商業專業人員密切合作來進行。

步驟 1: 選取並準備訓練資料集

訓練資料是一個資料集,它代表機器學習模型為解決其目標問題而汲取的資料。 在某些情況下,訓練資料是指已標示的資料(已加上標籤),目的是找出模型需要識別的特性和分類。 其他資料則是未標示的資料,模型需要擷取那些特性並自行指派分類。

無論是哪一種情況,都需要正確地準備訓練資料;將資料隨機排列、刪除重複的資料,並檢查是否有可能會影響訓練的不平衡或偏差情況。 它還應該分成兩個子集: 訓練子集用來訓練應用程式,評估子集用來進行測試及修正。

步驟 2: 選擇要在訓練資料集上執行的演算法 

再次重申,演算法是一組統計處理步驟。 演算法的類型取決於訓練資料集的資料類型(已標示或未標示)和資料量,以及要解決的問題類型。

已標示的資料搭配使用的一般機器學習演算法類型包括下列幾種:

  • 迴歸演算法:線性迴歸和邏輯迴歸是用來瞭解資料當中關係的迴歸演算法範例。 線性迴歸則用於根據自變數的值來預測應變數的值。 當應變數本質上是二進位時,可使用邏輯迴歸: A 或 B。 例如,可根據其與銷售人員的教育程度或年資(自變數)的關係,訓練線性迴歸演算法來預測銷售人員的年銷售額(應變數)。在應變數難以分類時,另一種稱為支援向量機的迴歸演算法則十分有用。
  • 決策樹狀結構:決策樹狀結構使用已分類的資料,並根據一組決策規則提出建議。 例如,建議投注特定馬匹以獲勝、得名或展示的決策樹狀結構,可使用有關該馬匹的資料(例如,年齡、獲勝百分比、血統書),並將規則套用至這些因素以提供動作或決策建議。
  • 實例型演算法:實例型演算法的理想範例是 K-近鄰演算法 (K-Nearest Neighbor) 或 k-nn 演算法。 它使用分類並根據其與其他資料點的接近程度,來預估該資料點成為某個群組成員或是另一個群組成員的可能性。

搭配未標示的資料一起使用的演算法包括下列幾種:

  • 叢集分析演算法:將叢集視為群組。 叢集分析著重於識別有類似記錄的群組,並根據其所屬的群組來標示記錄。 不需要事先瞭解群組及其特徵,即可完成此操作。 叢集分析演算法的類型包括 K-means、TwoStep 及 Kohonen 叢集分析。
  • 關聯演算法:關聯演算法會尋找資料中的型樣與關係,並識別頻繁的 'if-then' 關係(稱為關聯規則)。 這些規則類似於資料採礦中使用的規則。
  • 神經網路:神經網路是一種定義了分層計算網路的演算法。該分層計算網路具有一個輸入層,其用來汲取資料;至少一個隱藏層,用來在該層中進行計算,並對輸入做出不同的結論;以及一個輸出層,其可為每個結論指派一個機率。 深度神經網路定義了一個具有多個隱藏層的網路,每一層都逐步修正上一層的結果。(如需相關資訊,請參閱下文中的「深度學習」一節。)

步驟 3: 訓練演算法以建立模型

訓練演算法是一個反覆進行的過程,它涉及透過演算法執行變數,將輸出與其應該產生的結果進行比較,調整演算法內的加權和偏差(可能會產生更精確的結果),然後重新執行變數,直到演算法在大多數情況下都傳回正確的結果為止。 所產生之經過訓練的精確演算法即為機器學習模型,需要注意的重要區別是,即使是機器學習專家也會錯誤地交互使用「演算法」與「模型」。

步驟 4: 使用及改善模型 

最後一步是搭配新資料使用模型,在最佳情況下,可隨著時間提高準確性和有效性。 新資料的來源將取決於待解決的問題。 例如,設計用來識別垃圾郵件的機器學習模型,會汲取電子郵件訊息,而驅動機器人吸塵器的機器學習模型,則會汲取與房間內移動傢俱或新物件進行的實際互動所產生的資料。

機器學習方法 

機器學習方法(也稱為機器學習樣式)分為三個主要種類。 

若要深入瞭解這些方法之間的差異,請查看「受監督與未受監督學習:有何差別?

受監督的機器學習       

受監督的機器學習會在已標示的資料集上進行自我訓練。  也就是說,資料已標示資訊,所建置的機器學習模型利用這些資訊來進行判斷,甚至可以按照模型應使用的資料分類方式來進行分類。 例如,設計用來識別純種德國牧羊犬的電腦視覺模型,可以在各種標示狗影像的資料集中進行訓練。

相較於其他機器學習方法,受監督的機器學習需要的訓練資料比較少,而且因為可以將模型的結果與實際標示的結果進行比較,這使得訓練更加容易。 但是,正確標示資料的準備成本高昂,並且存在過度擬合的風險,或是會建立與訓練資料緊密相關且有偏差的模型,以致無法正確處理新資料的變化。

進一步瞭解受監督學習。  

未受監督的機器學習

未受監督的機器學習會汲取大量未標示的資料,並使用演算法來擷取即時標示、排序及分類資料所需的有意義特性,完全無需人為介入。 未受監督學習與自動執行決策和預測較不相關,而與識別人類會錯過的資料當中型樣和關係較為有關。 以垃圾郵件偵測為例,人們所產生的電子郵件數量超過資料科學家團隊希望在其一生中進行標示或分類的電子郵件數量。 未受監督學習演算法可以分析大量的電子郵件,並揭露垃圾郵件的特性和型樣(隨著時間的推移,越來越容易標記垃圾郵件)。

進一步瞭解未受監督學習。

半監督學習 

半監督學習在受監督與未受監督學習之間提供了一個令人滿意的媒介。 在訓練期間,它使用較小的已標示資料集來引導分類,並從大型未標示的資料集中擷取特性。半監督學習可以解決沒有足夠已標示資料(或無法負擔足夠的資料標示)可用來訓練受監督學習演算法的問題。 

強化機器學習

強化機器學習是一種行為機器學習模式,與受監督學習類似,但演算法不會使用範例資料進行訓練。該模型透過反覆試驗來學習。 加強一系列成功的結果,以針對特定問題制定最佳建議或原則。

2011 年贏得 Jeopardy! 挑戰的 IBM Watson® 系統就是一個很好的例子。 該系統運用強化學習來決定是否嘗試回答(或提出問題)、在棋盤上選取哪個方塊,以及要下注多少(尤其是在每日兩場連賭中)。

進一步瞭解強化學習。   

深度學習

深度學習是機器學習的子集(所有深度學習都是機器學習,但並非所有機器學習都是深度學習)。 深度學習演算法定義人工神經網路,目的是學習人類大腦的學習方式。 深度學習模型需要通過多層計算的大量資料,並在每個連續層中套用加權和偏差,以不斷地調整及改善成果。

深度學習模型通常是未受監督或半監督學習。 強化學習模型也可以是深度學習模型。 某些類型的深度學習模型(包括卷積神經網路 (CNN) 和循環神經網路 (RNN))正在推動電腦視覺、自然語言處理(包括語音辨識)和自動駕駛汽車等領域的進步。 

請參閱部落格文章「AI、機器學習、深度學習與神經網路:有何差別?」,並仔細觀察不同概念之間的關係。

進一步瞭解深度學習。                                

現實世界的機器學習使用案例

正如一開始指出的,機器學習無所不在。 以下是您每天可能會遇到的幾個機器學習範例:

  • 數位助理:Apple Siri、Amazon Alexa、Google Assistant 及其他採用自然語言處理 (NLP) 技術的數位助理,這是一種機器學習應用程式,讓電腦可以處理文字和語音資料,並以人類在做的方式來「理解」人類語言。 自然語言處理也可以驅動語音驅動的應用程式,例如 GPS 和語音辨識(語音轉文字)軟體。
  • 建議:深度學習模型可驅動 Amazon、Netflix、Spotify 和其他零售業、娛樂、旅行、求職及新聞服務所提供的「其他人也喜歡」和「您專屬」的建議。
  • 個人化網路線上廣告:機器學習與深度學習模型可以評估網頁的內容(不僅是主題,還可以評估作者的意見或態度之類的細微差別),並可以根據訪客的興趣量身定製廣告。
  • 聊天機器人:聊天機器人可使用型樣辨識、自然語言處理與深度神經網路的組合,來解讀輸入文字並提供適當的回應。
  • 詐騙偵測:機器學習迴歸與分類模型已取代規則型詐騙偵測系統,該系統在標記被盜信用卡使用時會產生大量誤判,並且很少能成功偵測到被盜或外洩財務資料的違法使用。
  • 網路安全:機器學習可以從事件報告、警示、部落格文章等擷取情報,以識別潛在的威脅、向安全分析師提供建議並加速回應。
  • 醫學影像分析:數位醫學影像資料的類型和數量激增,進而帶來了更多支援診斷的可用資訊,但也引發更多在讀取資料時出現人為錯誤的機會。卷積神經網路 (CNN)、循環神經網路 (RNN) 及其他深度學習模型已獲得證明,在從醫學影像擷取特徵和資訊以協助支援準確診斷方面越來越成功。
  • 自動駕駛汽車:自動駕駛汽車需要機器學習的力量,它們必須不斷地識別環境中汽車周圍的物體,預測它們會如何變化或移動,以引導汽車繞過物體並朝向駕駛員的目的地行駛。實際上,上述各種形式的機器學習和深度學習運算法在實現自動駕駛汽車方面都扮演了一定的角色。

機器學習與 IBM Cloud

IBM Watson Machine Learning 支援端對端的機器學習生命週期。 它提供了一系列供應項目,可讓您在資料所處的任何地方建置機器學習模型,並將它們部署在混合多雲環境中的任何位置。 

IBM Cloud Pak for Data 上的 IBM Watson Machine Learning,可協助企業資料科學與 AI 團隊在雲端原生資料與 AI 平台上的任何位置加速 AI 開發及部署。 若要將模型從桌面試驗移至正式作業工作負載部署,最快的方法是使用 IBM Watson Machine Learning Cloud(IBM Cloud 環境中的受管理服務)。 對於希望擴充機器學習部署的小型團隊,IBM Watson Machine Learning Server 提供了可在任何私有或公有雲上執行的簡單安裝。

若要開始使用,請註冊 IBMid 並建立您的 IBM Cloud 帳戶