不如說機器學習是回歸。

機器學習演算法可以解決回歸問題、分類問題和排序問題,但通常情況下它本身應該只是回歸演算法。

回歸、分類還是排序應該取決於目標函數。例如某二分類問題以準確率評價,如果我們用LogLoss為目標函數來訓練模型,就屬於用回歸演算法解決分類問題。問題肯定是分類問題,訓練出的模型卻是回歸模型。

通常的目標函數都是回歸目標函數,這是因為那些分類評價函數(如準確率等)、排序評價函數(如AUC等)總是因為不可導而不適合做目標函數。理論上我們也可以用不可導的函數作為目標函數,比如我們以AUC作為目標函數,用指定步長和範圍遍歷的方式來訓練模型,只是因為複雜度太高而沒人採用。

至於無監督演算法,把它歸類為機器學習演算法是不合理的,因為「無監督」和「學習」是矛盾的。「學習」的含義大概就是「優化」,它一定需要目標函數。無監督演算法更像是「思考」而非「學習」。例如kmeans本質上是個拍腦袋想出的大規則。(當然通常大家還是把所謂的「無監督學習」算作機器學習,我反對這種觀點)

強化學習和半監督學習應該都屬於特殊的監督學習,本質上和監督學習沒有區別。

所以說,機器學習理論上可以是回歸、分類或是排序,實際上幾乎只會是回歸。


利益相關,現在正在做的一個項目就是,根據醫生給病人做的歷史診斷信息,來預測病人是否患有某一種疾病。這樣就可以在資源有限的情況下,快速篩選出患有該疾病的病人,並調配相關資源,實現整個醫療資源的合理分配。

(以下切入正題)

機器學習,其本質是利用數據來訓練計算機,並從數據中學習獲得一個模型的參數,這些參數是根據訓練數據中學習得到的,然後再對新的未知數據做預測。這就是讓機器從樣本中學會推理的過程。

機器學習的範圍很廣,包括監督學習,無監督學習,強化學習。分類和回歸都屬於監督學習,所以分類只是機器學習的一部分內容。

什麼是監督學習?

監督學習的特點就是,除了輸入數據外,輸出數據已經有了正確值,其目標是學習從輸入到輸出的映射關係;與之對應的是,非監督學習,沒有人告訴輸出數據是什麼,只有輸入數據,所以非監督學習的目標就是發現輸入數據中的關係。

而對於監督學習,假設輸入數據的向量 [公式] ,輸出為 [公式] ,監督學習的目的就是要學到 [公式] 中的映射關係 [公式] ,其判定標準就是利用某種誤差分析,來確定一個與目標數據擬合程度最好的映射關係。

比如說,預測某個地區的房屋價格問題。如果預測某個房子的價格,價格屬於連續變數,這屬於回歸問題;如果預測該房子是否適合投資(適合,不適合),就屬於二分類問題;如果預測該房子適合投資的等級(非常適合,一般,不適合),就屬於分類問題中的多分類問題

雖然價格和是否值得投資屬於不同的問題,但實際上兩個問題所用到的輸入數據[公式]可能是一樣的,都包括:

[公式]:房屋面積; [公式] :房屋戶型; [公式] :房屋所在樓層; [公式] :所在的區域郵政編碼...... [公式] :所在地區人均收入。

分類與回歸的區別

首先,分類與回歸的目標問題是不一樣的

  • 分類的目標是預測離散的類別:分類是將數據映射到預先定義好的不同類別,判定其屬於有限個類別(如上面提到的投資級別)。
  • 回歸的目標是預測連續變數:如預測房價。

另外,評價分類器的好壞,與評價回歸模型的好壞,所使用的判定標準不一樣。如分類器的評價,可以使用準確率、AUC(ROC曲線下方的面積大小)來評價,而回歸問題可以採用均方根誤差來評價。

但是,分類和回歸也有一些相同的地方:分類演算法也可以預測到一個連續的值,但是這些連續值對應的是不同類別的概率,以百分比表示,所有類別的概率之和為100%。

有一些演算法既可以用來做分類,也可以稍微調整之後,做回歸問題。比如決策樹就有回歸決策樹,也有分類決策樹;但有些演算法就比較適合單獨一種預測,比如邏輯回歸適合做分類器,線形回歸則是用於建立輸入與輸出之間的線形連續關係。

線形回歸與邏輯回歸

線形回歸與邏輯回歸經常會被弄混淆,線形回歸(Linear Regression)是預測連續的變數,屬於回歸問題;而邏輯回歸(Logistic Regression)則是屬於分類問題。

線形回歸的模型表達式為: [公式]

邏輯回歸的模型表達式,則可以看成是將線形回歸模型的表達式,輸入到sigmoid函數,然後得到類別0和類別1的概率。即邏輯回歸函數模型表達,可以用兩步表示:

  • 第一步為線形函數: [公式]
  • 第二步使用sigmoid函數: [公式]

從sigmoid函數圖像可以看出,對於輸入的值,會映射到(0,1)之間,作為兩個類別的概率。

綜上,分類和回歸都屬於監督學習,都是機器學習的一部分。

@知乎科技


理論上所有的問題都可以是分類問題,都可以通過分類解決。

事實上人腦也只會做分類。


機器學習(Machine Learning)是人工智慧的一個分支,裡面涉及到的演算法在基本模型的基礎上通過不斷的迭代來調整參數以尋求最優解,具有自動進化的屬性,而這些迭代進化又是通過計算機完成的,因此被統稱為機器學習演算法。根據進化程度的不同,這些演算法得出的解的最優程度也不同,因此這些解都屬於在這些演算法環境下的相對最優解,和絕對的最優解還有一定的距離。

這類演算法之所以會產生並得到廣泛的應用,主要是由計算機的計算能力決定的,傳統演算法可以通過枚舉的方式來得到確定性的最優解,但是需要大量的計算,隨著問題複雜度的提高,計算量可以呈指數規模的上升,很難在短時間內找到最優解,當數據規模增長到一定程度時,利用傳統演算法來尋求最優解就會變得不現實。而機器學習則不然,它主要是利用統計方法和優化演算法來尋求一定程度下的最優解,計算量相對來說沒那麼大,而得到的最優解也可以用來解決一些對解的精確度要求不是很高的問題,因此經常被拿來使用。

那麼哪些問題不要求絕對的最優解呢,通常都是我們無法解決的問題,由於無法解決,我們對解的準確度的容忍度也相對較高,比如大數據下面的分類,比如相關性,再比如預測,基本上和統計概率相關的問題都可以通過機器學習來解決。而統計概率方面都有哪些問題呢:

相關性分析

研究各個變數之間的相關性,找出自變數和因變數,刪除冗餘變數信息,提取主要變數,這裡面涉及到的機器學習演算法主要有:

  • Linear Regression
  • Non-Linear Regression

數據分類

根據數據的各個屬性填標籤,給數據進行分堆,這裡涉及到的機器學習演算法主要有:

  • Logistic Regression
  • Decision Tree
  • Random Forest
  • K-Means
  • KNN

預測

既可以對時間序列數據進行預測,也可以對數據屬性進行預測,還可以研究數據的季節性變化,可以用於預測的機器學習演算法有:

  • Linear Regression
  • Logistic Regression
  • Na?ve Bayes
  • CNN
  • LSTM

特徵提取

根據數據樣本信息自動提取數據相關特徵,這裡面的機器學習演算法有:

  • Principal Components Analysis
  • Independent Component Analysis
  • Linear Discriminant Analysis
  • Locally Linear Embedding
  • t-distributed Stochastic Neighbor Embedding

以上只是列舉了幾個方面,基本上需要用到統計概率的地方都可以利用機器學習。


通常機器學習可以分為下面兩類。

(1)有監督學習。通過已有的訓練樣本(即已知數據以及其對應的輸出)訓練得到一個最優模型,再利用這個模型將所有的輸入映射為相應的輸出,對輸出進行簡單的判斷從而實現分類的目的。如分類、回歸和推薦演算法都屬於有監督學習。分類是將一些實例數據分到合適的類別中,它的預測結果是離散的。回歸是將數據歸到一條「線」上,即為離散數據生產擬合曲線,因此其預測結果是連續的。

(2)無監督學習。針對類別未知(沒有被標記)的訓練樣本,需要直接對數據進行建模,人們無法知道要預測的答案。如聚類、降維和文本處理的某些特徵提取都屬於無監督學習。在聚類工作中,由於事先不知道數據類別,因此只能通過分析數據樣本在特徵空間中的分布,例如基於密度或基於統計學概率模型等,從而將不同數據分開,把相似數據聚為一類。降維是將數據的維度降低。


推薦閱讀:
相关文章