1. 程式人生 > >監督式和非監督式機器學習演算法

監督式和非監督式機器學習演算法

什麼是監督式機器學習,它與和非監督式機器學習有什麼關聯呢?

本文中你將瞭解到監督式學習,非監督式學習和半監督式學習在閱讀本文之後你將知道如下知識:

  • 有關分類和迴歸的監督式學習問題
  • 關於聚類和關聯非監督式學習問題
  • 用於監督式和非監督式問題的Example演算法案例
  • 半監督式學習介於監督式和非監督式學習之間

讓我們開始吧。

監督式機器學習

實際應用中的機器學習在大部分情況下我們都會使用監督式學習。

監督式學習指的是你擁有一個輸入變數(x)(x)和一個輸出變數(Y)(Y),使用某種演算法去學習從輸入到輸出的對映函式

Y=f(X)Y=f(X)

我們的目標是足夠好的近似對映函式,以便當我們在新的資料$(x)$上可以預測輸出變數(Y)(Y)。

這種學習方式就稱之為監督式學習,因為演算法學習從訓練資料集學習的過程可以被看成類似於一名教師在監督學習學習的過程。我們已經知道了正確的答案,而演算法不斷迭代來對訓練資料做出預測同時不斷被一名教師修正。當演算法達到一個可接受程度的表現時學習過程停止。

監督式學習問題可以進一步被分為迴歸和分類問題

  • 分類:分類問題指的是當輸出變數屬於一個範疇,比如“紅色”和“藍色”或者“生病”和“未生病”。
  • 迴歸:迴歸問題指的是輸出變數是一個實值,比如“價格”和“重量”

還有一些種類的問題建立在分類和迴歸之上,包括推薦問題和時序預測

一些流形的監督式機器學習演算法的例子:

迴歸問題中的線性迴歸
分類和迴歸問題中的隨機森林
分類問題中的支援向量機

非監督式機器學習

非監督式學習指的是我們只擁有(X)(X)但是沒有相關的輸出變數。

非監督式學習的目標是對資料中潛在的結構和分佈建模,以便對資料作更進一步的學習。

這種學習方式就稱為非監督式學習,因為其和監督式學習不同,對於學習並沒有確切的答案和學習過程也沒有教師監督。演算法獨自執行以發現和表達資料中的有意思的結構。

非監督式學習問題可以進一步分為聚類問題和關聯問題

  • 聚類問題:聚類學習問題指的是我們想在資料中發現內在的分組,比如以購買行為對顧客進行分組。
  • 關聯問題:關聯問題學習問題指的是我們想發現數據的各部分之間的聯絡和規則,例如購買X物品的顧客也喜歡購買Y物品。

一些流形的非監督式學習演算法的例子:

  • 聚類問題的k-means演算法
  • 關聯規則學習問題中的Apriori演算法

半監督式機器學習

當我們擁有大部分的輸入資料(X)(X)但是隻有少部分的資料擁有標籤(Y)(Y),這種情形稱為半監督式學習問題

半監督式學習問題介於監督式和非監督式學習之間。這裡有一個好例子如:照片分類,但是隻有部分照片帶有標籤(如,狗、貓和人),但是大部分照片都沒有標籤。

許多現實中的機器學習問題都可以歸納為這一類。因為對資料打標籤需要專業領域的知識,這是費時費力的。相反無標籤的資料和收集和儲存起來都是方便和便宜的。

我們可以使用非監督式學習的技術來發現和學習輸入變數的結構。

我們也可以使用監督式學習技術對無標籤的資料進行標籤的預測,把這些資料傳遞給監督式學習演算法作為訓練資料,然後使用這個模型在新的資料上進行預測。

總結

從本文你可以瞭解到監督式,非監督式和半監督式學習的不同之處。你現在直到如下:

  • 監督式學習:所有的資料都有標籤並且演算法從輸入資料學習如何預測輸
  • 非監督式學習:所有的資料都是無標籤的並且演算法從輸入資料中學習資料固有的結構
  • 半監督式學習:部分資料是有標籤的,但大部分沒有標籤,是一種監督式和非監督式學習的手段都可以使用的學習方法。