天天看點

深度之眼《機器學習》作業班:初識機器學習為什麼要學習機器學習什麼是機器學習監督學習與無監督學習總結

提要:深度之眼贈送了一門基礎入門課,趁此機會,我可以鞏固自己的基礎,并且培養一下寫部落格的能力和習慣。

為什麼要學習機器學習

在傳統程式設計中,我們可以用if-else來編寫各種邏輯,來完成如一個銀行轉賬系統的程式等。我們也可以制作一個井字棋小程式,規定每種棋局的情況下,我們的PC應該下哪步棋。但是,在很多情況下,比如在吳恩達參與的直升機飛行研究中,人類根本沒有那個精力和能力去寫一個覆寫所有情況的寫死(hard coding)自動判斷系統,是以,我們需要讓機器來自己學習相應的規則,這就是機器學習(Machine Learning)所幹的事。

現在有許許多多的應用使用了機器學習技術,比如人像美顔,Google搜尋引擎(Search Engine),百度機器翻譯(Machine Translation)等等,諸如資料挖掘、非結構化資料的處理、個性化定制的程式如推薦系統等等應用領域也使得人工智能非常流行,而機器學習就是人工智能的一個重要技術。

什麼是機器學習

機器學習的一個正規的定義是:一個程式從經驗E中學習,用來解決任務T,達到性能路徑成本P,當且僅當有了經驗E後,經過P評判,程式在解決T時的性能有所提升。(A computer program is said to learn from Exerience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.)

這個定義很抽象,我們用一個具體的例子來了解:在一個下棋的AI程式中,曆史的棋局是經驗,程式的任務是下棋取勝,而性能路徑成本就是勝率,通過不斷地嘗試學習下棋,程式最終能達到一個較好的勝率。

機器學習有幾個分支,包括:

  • 監督學習
  • 無監督學習
  • 半監督學習
  • 弱監督學習
  • 強化學習
  • 推薦系統等

    這些分支即有互補,也可能互相交叉,不一定嚴格區分開。

在吳恩達的這門課中,他不僅僅隻教授線性回歸、邏輯回歸等這些算法工具,也教導了機器學習中的實踐經驗,他覺得教會學生怎麼使用工具才是最重要的。

監督學習與無監督學習

首先,假設我們有一些關于要處理的任務的資料,比如這個任務是預測房價,那麼這些資料就是和房子相關的一些特性如面積、卧室數量等等,我們用表格将資料列出來:

面積 卧室
80 3
120 4

這個簡易的表可以繼續擴充更多的列和行,每個列我們稱之為一個屬性(atrribute)或特征(feature),每個行我們就稱為一條資料。我們将所有資料統稱為資料集(dataset)。每一條資料可表示為如(80,3, …)這樣的向量。

監督學習

在監督學習(supervised learning) 中,資料集中的每一條資料是有确定的答案的,也就是對于一條特定的房屋資料,會給定該房屋的價格,這個價格就被稱為标簽(label),即我們在預測時的目标,此時,我們的資料長這樣:

面積 卧室 價格
80 3 1000000
120 4 1500000

用向量來表示一條資料:(80, 3, 1000000),即(x1, x2, y)。

監督學習的模型通過拟合标簽和輸入資料之間的關系,來得到預測能力,比如在這樣的一個資料上:

深度之眼《機器學習》作業班:初識機器學習為什麼要學習機器學習什麼是機器學習監督學習與無監督學習總結

标簽是房價,而輸入資料隻有一個特征,即面積。模型就能通過學習資料的分布來拟合資料。這個學習的過程我們稱為訓練(training),我們也能通過訓練好的模型對輸入進行預測,得到相應的輸出。這個過程我們稱為推理(inference)。如圖,拟合好的模型可以是一個二次函數或者一個線性函數。

監督學習主要分為兩類任務,一類是預測輸出為連續值的任務,稱為回歸(regression),比如預測房價,房價可以是從0到很大的一個數中的任意值。一類是預測輸出為離散值的任務,稱為分類(classification),比如判斷一個人是否生病,隻能存在是或者否共兩種情況。

無監督學習

在無監督學習(unsupervised learning) 中,資料集沒有标簽而隻有特征。

無監督學習要做的就是從資料中發現一些模式和關聯,挖掘資料中的潛在價值。常見的應用比如有通過聚類算法來将新聞自動分類,算法并不知道自己分出來的文章屬于時尚類别還是軍事類别,它所做的就是将相似的文章聚類到一起。又比如在市場營銷中将相似的客戶聚類到一起,由此來判斷細分市場的使用者類型等。

總結

本次課程主要是介紹了機器學習及其相關的幾個概念,為今後的理論學習進行預熱~

繼續閱讀