機器學習​

徹底掌握機器學習的發展、趨勢、以及商業應用​​

分享在 linkedin
分享在 facebook
分享在 twitter
分享在 email
機器學習 – 定義、演算法、以及商業應用
訂閱OOSGA洞見與研究

機器學習是整個人工智慧領域中為商業產出最大價值的技術,其中監督式學習尤其重要。雖然機器學習的概念早在半個世紀前就存在了,然而只有在海量數據每分每秒產生、以及飛快的運算速度的現代,機器學習才有辦法在各個產業中被廣泛的應用。

美國的一家媒體公司Netflix更是在一次研究中指出,他們利用機器學習技術以在平台上提供用戶更好的搜選結果,其成效讓他們因此賺下額外的10億美金。各大科技公司也在積極的在機器學習的領域中投資與發展 ,其中百度和Google更是在2017年時,投資了200~300億美金於人工智慧。麥肯錫更是預估機器學習等技術(不包括深度學習與其他更先進的技術)將會對19大產業創造9.5兆美金的價值。

什麼是機器學習​

機器學習,一種人工智慧的技術,不同於傳統程序,是通過處理並學習龐大的數據後,利用歸納推理的方式來解決問題,所以當新的數據出現,機器學習模型即能更新自己對於這個世界的理解,並改變他對於原本問題的認知。 

假設現在有一個人對於美醜沒有概念,那麼你把他帶到一群人面前,並指著其中一個說是美、一個是醜、另一個是美等等…隨著這位本無審美觀的人看到更多資訊後,他也會開始對審美這個觀念有一定的想法。 而關鍵在於,數據的量一定要足夠大且數據的質一定要好,才能讓機器學習模型更好的判斷問題的答案。  

機器學習

以上所描述的機器學習技術稱為監督式學習,就如同有一位老師在監督著學生學習一般,每一個輸入的數據都是已經被標記的。

然而,在真實世界中,我們往往無法取得如此完整且乾淨的數據,而這就是其他技術能夠派上用場的地方了。

相反於監督式學習,非監督式學習所使用的數據是沒有被標記的,例如一群貓咪的照片但卻沒有被標記種類或是健康程度等,或是一堆交易紀錄,但卻沒有標記正常或是異常。半監督式則是兩者的重疊,利用小組的已標記數據參進未標記數據中以提升準確性以及效能。強化學習則是利用獎勵機制來讓演算法達到最好的表現。

監督式學習與非監督式學習的差異為何?

監督式與非監督式學習根本的差異在於數據本身是否有標籤 (Labeled),也就是說資料本身是否有被定義。 我們在這篇監督式學習與非監督式學習的差異當中進一步的探討了兩者的差異與一些企業應用的真實案例,點擊以閱讀更多。

監督式學習(Supervised Learning)​

監督式學習利用已被標記的數據來訓練模型,想像成老師在一旁指導著學生,告訴他每一個問題的答案,隨著學生問題越做越多,他對於這類型問題的理解也會越來越深,正確性也會變高。完整標記的數據組代表著機器學習模型所收到的數據是有輸入(input)與輸出(output)的。

所以,假設要建立一個圖像識別模型來分辨0~9這十個數字,那麼模型就會收到一堆數字的圖片(input)以及這些圖片分別為什麼數字(output),在模型處理完(學習完)這些數據後,當模型看到新的圖片,它就能利用原本所受的訓練,來推斷新的圖片代表著哪一個數字。

在真實世界中,監督式學習是最頻繁被產業使用的,不僅是因為現在世界所具備的龐大數據量,更是因為其演算法的簡單性。 例如團隊可以從顧客的消費歷史紀錄,來訓練模型,並建立推薦系統或是行銷個人化與自動化等。又或是製造商能通過導入AIoT來取得產線數據,並以此訓練模型讓演算法能夠提前判斷機器失能的可能,以提高整體設備效率(OEE)。

常見的演算法及其商業應用

線性迴歸
Linear Regression
線性迴歸

線性迴歸是最為原始的機器學習模型,也是在找出自變數(Independent variable)與依變數(Independent variable)之間的關係中,最為最常見的模型。 線性迴歸不僅可以幫助業者建立消費者洞見、理解影響獲利性的因素,回歸分析更是能讓業者評估市場趨勢,並以此為基準去做商業決策。

  • 預測未來機會以及風險,如需求分析、轉換率分析
  • 優化營運效能,將數據驅動的決策能力導入組職文化當中
  • 優化定價策略、預估價格彈性、以及市場動態
  • 通過回歸分析發現新的市場洞見
羅輯回歸​​
Logistic Regression​​

相似於線性迴歸,同樣是找出自變數(Independent variable)與依變數(Independent variable)之間的關係,然而不同於線性迴歸,羅輯回歸的輸出(output)是二進位的,不是1即是0。羅輯回歸為最頻繁被使用的分類演算法,時常被應用於風險評估或判斷異常。

  • 基於客戶償還貸款的可能性做客群分類
  • 通過交易行為模式判斷是否詐欺
  • 通過多項數據點判斷腫瘤是否為惡性
  • 通過消費行為以及旅程分析判斷顧客是否會轉換
單純貝氏​​
Naive Bayes​​
單純貝式

建立於貝氏定理的一種機器學習分類演算法,能夠基於其他因素的影響來計算某個事件的機率。而之所以單純,是因為不同於貝氏統計,單純貝氏在欲訓練的數據組裡建立條件獨立(Conditional Independent)的假設。這也讓此演算法的速度非常之快,適合建立實時的預測模型。

  • 通過社群媒體做語法分析來判斷市場對於產品的感知為何
  • 建立垃圾郵件的分類器
  • 通過資料採礦來建立推薦系統以判斷用戶是否會喜歡某種類型的產品
  • 通過回歸分析發現新的市場洞見
決策樹​​
Decision Tree​​
演算法 - 決策樹

決策樹利用不同數據特性的值分成不同的分支,像一棵樹上的樹枝一般。 如同銀行在決定是否要貸款給某客戶時,行員會透過一系列的問題以判斷最終決策。決策樹利用同樣的架構,不斷地拆分數據的特性(遞迴區分),直到持續分出分枝將不會提供任何價值為止。此種特性也讓決策數在面對高維數據時,依然有可觀的正確率。

  • 提供決策框架:讓管理階層能夠利用數據驅動的分法做決策
  • 挖掘消費者洞見:了解消費者購買(或不購買)背後的動機
  • 幫助組織評估替代方案的可行性與風險
隨機森林​​
Random Forest​​
演算法 - 隨機森林

隨機森林利用建立多個不同的決策樹,並賦予每一顆不同的決策樹其分類選項,並讓各個決策樹自己產生答案,以提高準確性。當在做分類問題時,此演算法的整體輸出即是利用投票方式選出最多票數的決策數,而在處理回歸分析時,森林的輸出則是所有決策樹輸出的平均值。

  • 預測整個電網的用量
  • 優化都市計畫的效能
  • 預先判斷產品品質
支援向量機​
Support Vector Machine​​
支援向量機 SVM

SVM大多時候被使用於分類中,然而,其演算法分割的特性讓他能夠被轉換成做回歸,在高維的空間中構造平面或是超平面集合。假設是二維的情況下,SVM就能夠根據輸出值去尋找區分輸入值的最適線。

  • 判斷照片中臉的位置
  • 預測網站、廣告、以及其他渠道的轉換率
  • 識別字體
自適應增強​​
AdaBoost​​

通過整合多種不同的模型來做分類或回歸分析,最後再根據其正確率去判斷每一個不同的輸出所佔的比重為何。AdaBoost以及其他增強(Boosting)模型,在提高準確率上非常有效。

  • 通過交易的行為模式判斷是否詐欺
  • 低成本的方式來做圖片識別(相較於深度學習)
  • 用於預測客戶流失或是品牌黏性
GDBT​​
Gradient Boosting Trees​​

GDBT能夠序列性的產生出決策樹,並讓每一次的決策樹專注於修復前面的樹所犯的錯,而其輸出則是所有決策樹的結合。對於主要的數據特性非常明確的數據來說,業者能夠過特徵工程來排列最相關的數據特性,並以此作訓練。

  • 預測需求以及存貨來提供供需匹配
  • 根據市場動態與產品特性以判斷定價
  • 提供決策框架,讓管理階層能夠用數據驅動的方法做決策

無監督式學習(Unsupervised Learning)​

在解決許多實務上的問題時,乾淨又標記完整的數據並非如此容易取得,而研究團隊時常問出自己也不知答案方向的問題,也就是說,當不知如何分類數據,或是需要演算法去尋找同樣模式時,無監督式學習將可以提供很大的幫助。

無監督式學習接收未被標記的數據,並通過演算法根據常見的模式、特色、或是其他因素將數據分類。例如,可能團隊手上有一大組的小狗圖片,然而這些圖片都沒有標記出各個小狗是什麼種類,這時,團隊即可帶入無監督式學習的演算法來做分類,輸出則是演算法根據不同特色的小狗所做的分類。 

其他常見的實務案例包括,顧客旅程分析(利用消費者在網頁上的顧顧客旅程做行為分析,並以此歸納出不同購買模式的消費者)、或是尋找異常值(銀行透過信用卡使用紀錄來判斷是否某筆交易為詐欺)。

常見的演算法及其商業應用

集群分析​​
K-means Clustering​​

將數據分成不同的群組當中(k個群組),而演算法會自動將具備像似特四的數據歸類為一組。在數據的維度相似、且是連續性的數值時,k-means會是非常合適的選擇。

  • 分類消費者以優化行銷活動或是避免客戶流失
  • 判斷信用交易、保險金融等活動是否異常(詐欺)
  • 幫助歸類IT技術建設內不同的警訊
混合模型​​
Gaussian Mixture Model​​

混合模型是一個可用來表示總體分佈中含有k個子分布的概率模型。也就是說,混合模型表示了數據在總體中的概率分佈,是個由k個子分佈所組成的混合分佈。 可以把它想成是k-menas的一般化,但在cluster的形狀以及大小中有更多的自由度。

  • 從語音數據中做特徵提取
  • 在影片檔案中,做多種物件的追蹤
  • 利用更不明顯的數據特徵,以區別客群,優化行銷活動
階層式分群​​
Hierarchical Clustering​​

將資料在一個階層式的樹狀上,反覆的利用拆分以及聚合的方式建立出一個分類系統。階層式分群的優勢在於它使用上的簡單性以及能夠在小數據上操作,然而卻非常難處理大型的資料。

  • 更細微的區分客群或用戶
  • 通過社群媒體分析來判斷產品使用程度

深度學習(Deep Learning)​

這個機器學習的分支利用多層次的人工神經網路透過數據學習,其中兩種最為主要的類別為卷積神經網路(CNN)以及遞歸神經網路(RNN)。

CNN較適合如圖片、影片等的空間數據類型,透過不同階級的特色來識別圖像,例如從一個鼻子的特徵、眼睛的特徵、嘴巴的特徵、三者彼此的關係為何、再到最後變成一張人臉。CNN的發展對於需要快速識別周圍環境的自動駕駛至關重要,同時圖像識別的技術,也是工業4.0的核心技術之一。 RNN則較適合如語音、文字等的序列型數據,不同於其他的神經網路,對於RNN,所有的input都是相連的,所有處理過的資訊都會在訓練的過程中被記住,而也是這特色,讓它非常適合處理自然語言。

雖然神經網路的技術早在數十年前就被研發出來了,但當時的環境不僅數據匱乏,運算速度以及成本都導致深度學習無法成功帶進商業環境。然而隨著運算速度大幅的提升、運算成本大幅的降低、以及演算法變得更加成熟,如深度學習一般的技術也開始被頻繁的應用在商業環境中。 

集成學習(Ensemble Learning)​

集成學習是為了降低模型偏見、變數、以及提高準確度而根據不同種類的數據,在各個階段應用不同的機器學習演算法來訓練模型的演算法。 集成學習在數據非常複雜,或是有多種潛在的假設時非常實用,因為它能夠根據不同的假設建立模型,以定義出更明確的方向。

Author: Masa Chen

Masa Chen為台北辦公室的資深合夥人,主要業務範疇為協助先進亞洲之企業轉型。