- Scikit-learn機器學習詳解(上)
- 潘風文 潘啟儒
- 1679字
- 2021-12-23 11:33:12
1.4 機器學習分類和應用
前面講過,機器學習是無須通過明確的編程就能讓計算機系統具有從歷史經驗中進行自主學習的能力,在這個廣義的定義中,“學習”是指基于經驗改善自身行為的能力。
Tom Mitchell(美國卡內基梅隆大學計算機科學學院院長,有“機器學習教父”之稱)給予了機器學習一個技術性的定義(如圖1-8所示):“對于某種任務T、性能指標P來說,如果一個計算機程序以歷史經驗E為基礎,實現以指標P進行度量的任務T后,性能指標P會有所提升,則認為這個程序具有從經驗E中學習的能力。”
在這個定義中,有三個要素:任務T、性能指標P和經驗E,即(T,P,E),計算機程序把這三者聯系在一起,決定了如何利用經驗E來解決任務T并且保證隨著經驗E的增加,能夠更好地解決任務(P提升),其中:
● 任務T是機器學習需要解決的工作內容,它可以是一個預測、分類或聚類的工作。
● 經驗E是訓練數據集或輸入數據,機器通過經驗E獲得學習能力。
● 性能指標P是影響任務T完成質量的因素,如精度等。

圖1-8 機器學習的從經驗中學習的示意圖
機器(計算機系統)本身包含兩個主要組件:學習機(learner)和推理機(reasoner)。
◇輸入/經驗(input/experience)提供給學習機(learner),學習機用來學習新技術。
◇背景知識(background knowledge)提供給學習機,幫助學習機更好地學習。
◇借助于輸入和背景知識,學習機可以生成模型,該模型包含從輸入和背景知識中學習到的信息。
◇任務/問題(problem/task)(例如預測、分類等)提供給推理機。
◇在訓練有素的模型(model)的幫助下,推理機(reasoner)嘗試給出任務/問題的解決方案(solution/answer)。
◇通過給予新的輸入和背景知識,提高該解決方案的性能。
◇依照上面步驟,循環繼續進行。
例如,垃圾郵件過濾器的任務T是根據歷史經驗E區分垃圾郵件,達到一定的準確率P。
根據所處理問題的性質、處理數據的類型和數量,機器學習可以分為以下類別。
① 有監督學習(Supervised learning),或直接稱監督學習。訓練數據集中帶有需要預測的屬性(字段、標簽數據),處理數據過程中,將以標簽數據為預測目標方向,進行模型創建。有監督學習可以分為下面兩類:
◇分類(classification):每個樣本屬于兩個或多個類別之一。分類試圖從已標記的數據中學習如何預測未標記數據的類別。比如手寫數字識別問題、車牌自動識別問題等都是將每個輸入數據(向量)分配給有限數量的離散類別之一。常用的算法包括邏輯回歸、決策樹、KNN、隨機森林樹、SVM等;
◇回歸預測(regression prediction):如果所需的輸出由一個或多個連續變量組成,則該算法稱為回歸。比如根據父母的身高去推測兒子的身高就是一個回歸問題。常用算法包括線性回歸、神經網絡等。
② 無監督學習(Unsupervised learning)。訓練數據集由一組輸入向量組成,不包含任何相應的目標值(標簽字段)。問題的目標可以是發現數據中的相類似的數據組,稱為聚類,或者試圖確定輸入空間內的數據分布,稱為密度估計,或者將高維數據空間縮小到兩維或三維,實現可視化。聚類、關聯規則、生存分析等都是無監督學習的模型。
③ 半監督學習(Semi-supervised learning)。是有監督學習和無監督學習的結合。
④ 強化學習(Reinforcement learning),又稱為增強學習。機器在環境中通過試錯法持續自我訓練,從過去的經驗中學習,并嘗試獲取盡可能好的知識,以便能夠做出最好的決策。試錯搜索和延遲獎勵是強化學習最明顯的特征。一個典型的例子就是馬爾科夫決策過程。
圖1-9簡要展示了上述的四種學習類型和應用示例。
隨著機器學習技術的不斷發展,近年來也出現了一些新的機器學習分支,如深度學習、遷移學習和元學習等等,這里不再贅述,感興趣的讀者可自行搜索相關內容。

圖1-9 機器學習類型和應用示例
對于一個特定的問題,可能存在多個機器學習算法可以使用,因此尋找最佳的機器學習模型需要極大的耐心和細致的試錯工作。圖1-10中展示了不同的機器學習模型對于同一個問題的不同處理方式。這個問題是:“Adam今天中午吃什么?”

圖1-10 同一個問題多種解決方式
機器學習的應用已經融入了我們的日常生活,從各個方面開始改變著我們的生活,小到智能手機,大到各種智能工業機器人,早已無聲無息地影響著我們的生活。在電商購物、智能交通、圖像識別、情緒分析、文本分類、視頻監控、語音識別、欺詐檢測、趨勢預測、智慧醫療等領域都活躍著機器學習的身影。