書名: MATLAB機器學習作者名: (意)朱塞佩·恰布羅本章字數: 1674字更新時間: 2020-05-21 10:46:52
1.1 機器學習基礎
定義機器學習不是一件簡單的事情。我們先來看看機器學習領域的大牛們(見圖1.1)是如何定義的。

圖1.1 機器學習歷史
機器學習:研究如何讓計算機在未被明確編寫指令的情形下能夠自主學習的領域。
——亞瑟·L. 塞繆爾(Arthur L. Samuel),1959
另一個定義為:
“機器學習”是指使系統能夠在下一次更有效地執行同一任務(或采樣于同一總體的任務)的自我適應和自我調整的能力。
——赫伯特·亞歷山大·西蒙(Herbert Alexander Simon),1984
還有一種定義為:
假設對于任務T,有相對應的經驗E以及評價指標P,那么機器學習指的是能夠在執行任務T時通過學習經驗E可以提高評價指標P的一種程序。
——湯姆·M. 米切爾(Tom M. Mitchell),1998
這些定義的共同點是,它們都指向了一種在沒有任何外界幫助的情況下,從經驗中學習的能力。這正是許多情況下人類學習的方式,那為何我們不能讓機器也具有同樣的能力呢?
機器學習是一門由計算機科學、統計學、神經生物學和控制理論衍生出的交叉學科。它在一些領域中扮演了至關重要的角色,并且已經徹底地改變了人們對編程的理解。如果之前我們要解決的問題是“如何給計算機編寫程序”,那么現在我們的問題是“如何讓計算機自己給自己編寫程序”?
因此,機器學習可以被視為賦予計算機“智能”的基礎理論。
與大多數人的直覺一致,機器學習的發展與對人類學習方式的研究緊密相關。人類直覺、智能的基礎是大腦及其中的神經元,相應地,計算機進行決策的基礎可以是人工神經網絡(Artificial Neural Network,ANN)。
機器學習使我們能夠從數據集中找到描述此數據集的模型。例如,給定一個系統,我們可以從中自動建立輸入變量到輸出變量的對應關系。其中一種方法是首先假設數據的產生是遵循某種由參數指定的機制的,只是參數的具體值是未知的。
這一過程參考的統計學方法有歸納(induction)、演繹(deduction)和回溯(abduction),它們的關系如圖1.2所示。

圖1.2 皮爾斯三角,關于3種推理方法的推理模式關系
從已觀測到的數據集中抽象出通用的法則稱為歸納;與之相反,演繹是指應用通用的法則預測一組變量的值。歸納是科學研究中的基本方法,它能夠從觀測到的現象中總結出通用的法則(這些法則通常用數學語言來描述)。
觀測結果包含一組變量值,這組數據能夠描述觀測到的現象。總結出的模型
可以繼續對新觀察到的數據進行預測。從一組觀測結果到總結模型,再到使用模型對新觀察到的數據進行預測的過程,稱為推斷
。
因此,歸納學習的精髓在于從已觀測數據中尋找可被泛化(generalization)到未觀測數據集(新加入的數據),以預測模型。例如,基于過往股票價格數據以及漲跌情況,我們可以對一個線性分類方程進行參數優化,并將優化后的模型用于預測未來股票的漲跌情況。泛化性能的好壞取決于從歷史數據中得到的模型,并在新數據上預測結果的優劣。這種預測并非總能奏效,但至少有希望得到好的結果。
歸納學習可被簡單地分為如下兩類。
(1)基于樣本學習:例如,通過學習正樣本(positive sample)——即屬于某分類的樣本,以及負樣本(negative sample),能夠獲得關于這個二分類問題的知識(即模型或參數)。
(2)學習規律:此類方法的目標是在給定數據集中尋找樣本間的“規律”(即共同特征)。
圖1.3展示了歸納學習的分類。

圖1.3 歸納學習的分類
讀者可能會有這個疑問:為什么機器學習算法要優于傳統算法和模型呢?傳統算法和模型失敗的原因有很多,其中代表性的原因如下所示。
(1)人類對許多問題的本身已很難描述:例如,我們很容易識別出自己熟悉的人的聲音,但是應該沒人能夠描述出識別這些聲音所經過的一系列的運算步驟。
(2)實踐中大量的未知變量(參數):例如,當你面臨從文檔中識別字符這一任務時,為模型指定所有相關的參數是特別復雜的。除此之外,同樣的參數表達在同樣的上下文環境中是成立的,但是在不同的方言中,僅用一個參數來表達是不夠的。(因此需要更多的參數。)
(3)缺乏理論:例如,當你面臨需要準確預測金融市場表現這一任務時,就會有這個問題,而這類問題是缺乏對應的數學理論支撐的。
(4)個性化定制的需求:在實際應用中,能否選取數據中有用的特征在很大程度上取決于個人對問題的理解程度。
圖1.4展示了歸納學習和演繹學習的異同。

圖1.4 歸納學習和演繹學習的異同
- Mastering Matplotlib 2.x
- Cinema 4D R13 Cookbook
- 走入IBM小型機世界
- 圖形圖像處理(Photoshop)
- 自動化控制工程設計
- 大數據平臺異常檢測分析系統的若干關鍵技術研究
- Salesforce Advanced Administrator Certification Guide
- 基于ARM9的小型機器人制作
- Mastering Predictive Analytics with scikit:learn and TensorFlow
- 漢字錄入技能訓練
- Deep Learning Essentials
- PostgreSQL 10 High Performance
- 軟件測試設計
- 單片機原理、應用與仿真
- Network Science with Python and NetworkX Quick Start Guide