注:本文內容資源來自 Andrew Ng 在 Coursera上的 Machine Learning 課程,在此向 Andrew Ng 致敬。函數
對於要買房子的人,充分的市場調研能夠充分的瞭解市場行情。假設你想買一棟 750 feet2 的房子,而在其餘方面沒有太大的要求,現已收集了許多房屋的尺寸極其對應的價格的信息,如圖所示:學習
若是你想買一個750 feet2 的房子,大概要多少錢呢?爲了讓你的估價更加準確,咱們最好能求出一個函數,這個函數表明的線最好能表明房價的走勢,這樣咱們就能輕鬆計算了。若是咱們選擇了一條直線,如圖所示:spa
如今咱們能夠估計,750 feet2 的房子大概值 $150,000 了。可是,從咱們的直觀感受來看,房價的走勢更像是一條曲線。那麼,咱們如今選擇一條曲線來近似這些數據:code
咱們發現選擇的這條曲線更加地接近數據了。不幸的是,750 feet2 的房子原來要 $220,000。ci
在這裏,就要講到兩個概念:資源
監督學習(Supervised Learning)io
對於給定的樣例輸入,都有特定的輸出。 例如房價問題,輸入房屋尺寸(Size),輸出價值(Price)都是已知的。 換句話說,它們都在你的監督範圍內。
迴歸(Regression)ast
找到一條曲線,以預測連續的輸出。 例如房價問題,找到一條尺寸-價格曲線,對於任意房屋尺寸都能對其價格進行推測。 迴歸是解決預測連續輸出的一種途徑。
與迴歸相對應的一個概念,就是分類。下面看一個分類問題的例子。import
假設要預測一我的的乳腺癌(Breast Canser)是良性(benign)的仍是惡性(malignant)的。如今有了腫瘤大小(Tumor Size)和對應是否爲惡性(Malignant)的數據,如圖所示:sed
圖中,藍色的 X 表明良性,紅色的X表明惡性,那麼,橙色的箭頭所指,表明的是什麼呢?這就是一個兩類分類問題。
分類(Classification)
對於輸入,它們的輸出值能夠分爲多個離散的類。 例如這個問題中,將輸出分爲了惡性與良性兩類,還能夠根據癌症類型分爲多個類。 分類的目的就是將數據進行有效的區分。
以上,咱們還只討論了輸出僅爲一個元素的狀況。房價問題上,咱們只考慮了房屋的尺寸。癌症問題上,咱們只考慮了腫瘤的尺寸。
爲確切地進行預測,每每要考慮多方面的因素。例如癌症問題,除了腫瘤尺寸(Tumor Size),還應考慮患者的年齡(Age)、腫塊厚度(Clump Thickness),這樣才能更加準確地診斷。咱們把年齡這一重要元素加入進來:
根據腫瘤和患者年齡,進行病情推測,相比只有一個元素時要更加準確。
這裏,咱們所說的元素,即輸入的屬性,稱爲 特徵,全部的特徵構成的一個向量稱做 特徵向量。
上圖中右側所羅列的,都是可選的特徵,關於特徵,將在後面作詳細介紹。
在上面監督學習中,對於給定的輸入,都有特定的輸出,以下圖所示。咱們能夠明確的看出,哪一個樣例輸出是 O ,哪一個樣例輸出是 X :
可是,在非監督學習中,狀況就不大同樣了。對於給定的樣例,咱們對於它屬於哪一類並不明確,以下圖所示:
那麼,如何進行分類?到底要分紅幾個類?對於新來的輸入,要把它分在哪個類中?
這一問題要由非監督學習方法來解決。
非監督學習
對於給定的樣例,輸出並不明確。換句話說,並不在你的掌控之中。 對於一堆混雜的數據,如何利用有效的方法,分出幾個類來。
非監督學習的例子有不少,例如Google News,須要對新聞進行篩選,而後分紅Business、Sci/Tech、Health、Sports等類別: