機器學習初學者必須知道的十大算法

摘要: 還在為不知道學什麼算法入門機器學習感到頭疼?本文作者通過自身的學習向初學者介紹十大機器學習(ML)算法,並附有數字和實例以便於理解。

摘要: 還在為不知道學什麼算法入門機器學習感到頭疼?本文作者通過自身的學習向初學者介紹十大機器學習(ML)算法,並附有數字和實例以便於理解。

機器學習初學者必須知道的十大算法

哈佛商業評論稱數據科學家是21世紀最性感的工作。所以,對於那些ML剛剛開始的人來說,這篇博客機器學習算法工程師需要知道的十大算法是非常有用的。

ML算法是可以從數據中學習並從中改進的算法,無需人工干預。學習任務可能包括將輸入映射到輸出,在未標記的數據中學習隱藏的結構,或者“基於實例的學習”,其中通過將新實例與來自存儲在存儲器中的訓練數據的實例進行比較來為新實例生成類標籤。

ML算法的類型

有三種ML算法:

1.監督學習:

監督學習可以理解為:使用標記的訓練數據來學習從輸入變量(X)到輸出變量(Y)的映射函數。

Y = f(X)

監督學習問題可以有兩種類型:

分類:預測輸出變量處於類別形式的給定樣本的結果。例如男性和女性,病態和健康等標籤。

迴歸:預測給定樣本的輸出變量的實值結果。例子包括表示降雨量和人的身高的實值標籤。

在這篇博客中介紹的前5個算法——線性迴歸,Logistic迴歸,CART,樸素貝葉斯,KNN都是監督學習。

人工智能領域的大牛吳恩達曾在他的公開課中提到,目前機器學習帶來的經濟價值全部來自監督學習。

2.無監督學習:

無監督學習問題只有輸入變量(X),但沒有相應的輸出變量。它使用無標籤的訓練數據來模擬數據的基本結構。

無監督學習問題可以有兩種類型:

1.關聯:發現數據集合中的相關數據共現的概率。它廣泛用於市場籃子分析。例如:如果顧客購買麵包,他有80%的可能購買雞蛋。

2.群集:對樣本進行分組,使得同一個群集內的對象彼此之間的關係比另一個群集中的對象更為相似。

3.維度降低:維度降低意味著減少數據集的變量數量,同時確保重要的信息仍然傳達。可以使用特徵提取方法和特徵選擇方法來完成維度降低。特徵選擇選擇原始變量的一個子集。特徵提取執行從高維空間到低維空間的數據轉換。例如:PCA算法是一種特徵提取方法。

Apriori,K-means,PCA是無監督學習的例子。

3.強化學習:

強化學習是一種機器學習算法,它允許代理根據當前狀態決定最佳的下一個動作。

強化算法通常通過反覆試驗來學習最佳行為。它們通常用於機器人的訓練,機器人可以通過在碰到障礙物後接收負面反饋來學習避免碰撞。近期的alphago zero就是採用的強化學習的方法,來完成實驗的。

監督學習算法

1.線性迴歸

在ML中,我們有一組輸入變量(x)用於確定輸出變量(y)。輸入變量和輸出變量之間存在某種關係,ML的目標是量化這種關係。

摘要: 還在為不知道學什麼算法入門機器學習感到頭疼?本文作者通過自身的學習向初學者介紹十大機器學習(ML)算法,並附有數字和實例以便於理解。

機器學習初學者必須知道的十大算法

哈佛商業評論稱數據科學家是21世紀最性感的工作。所以,對於那些ML剛剛開始的人來說,這篇博客機器學習算法工程師需要知道的十大算法是非常有用的。

ML算法是可以從數據中學習並從中改進的算法,無需人工干預。學習任務可能包括將輸入映射到輸出,在未標記的數據中學習隱藏的結構,或者“基於實例的學習”,其中通過將新實例與來自存儲在存儲器中的訓練數據的實例進行比較來為新實例生成類標籤。

ML算法的類型

有三種ML算法:

1.監督學習:

監督學習可以理解為:使用標記的訓練數據來學習從輸入變量(X)到輸出變量(Y)的映射函數。

Y = f(X)

監督學習問題可以有兩種類型:

分類:預測輸出變量處於類別形式的給定樣本的結果。例如男性和女性,病態和健康等標籤。

迴歸:預測給定樣本的輸出變量的實值結果。例子包括表示降雨量和人的身高的實值標籤。

在這篇博客中介紹的前5個算法——線性迴歸,Logistic迴歸,CART,樸素貝葉斯,KNN都是監督學習。

人工智能領域的大牛吳恩達曾在他的公開課中提到,目前機器學習帶來的經濟價值全部來自監督學習。

2.無監督學習:

無監督學習問題只有輸入變量(X),但沒有相應的輸出變量。它使用無標籤的訓練數據來模擬數據的基本結構。

無監督學習問題可以有兩種類型:

1.關聯:發現數據集合中的相關數據共現的概率。它廣泛用於市場籃子分析。例如:如果顧客購買麵包,他有80%的可能購買雞蛋。

2.群集:對樣本進行分組,使得同一個群集內的對象彼此之間的關係比另一個群集中的對象更為相似。

3.維度降低:維度降低意味著減少數據集的變量數量,同時確保重要的信息仍然傳達。可以使用特徵提取方法和特徵選擇方法來完成維度降低。特徵選擇選擇原始變量的一個子集。特徵提取執行從高維空間到低維空間的數據轉換。例如:PCA算法是一種特徵提取方法。

Apriori,K-means,PCA是無監督學習的例子。

3.強化學習:

強化學習是一種機器學習算法,它允許代理根據當前狀態決定最佳的下一個動作。

強化算法通常通過反覆試驗來學習最佳行為。它們通常用於機器人的訓練,機器人可以通過在碰到障礙物後接收負面反饋來學習避免碰撞。近期的alphago zero就是採用的強化學習的方法,來完成實驗的。

監督學習算法

1.線性迴歸

在ML中,我們有一組輸入變量(x)用於確定輸出變量(y)。輸入變量和輸出變量之間存在某種關係,ML的目標是量化這種關係。

機器學習初學者必須知道的十大算法

圖一

在線性迴歸中,輸入變量(x)和輸出變量(y)之間的關係表示為形式為y = ax + b的方程。因此,線性迴歸的目標是找出係數a和b的值。這裡,a是截距,b是線的斜率。

圖1顯示了數據集的繪製x和y值。目標是擬合最接近大部分點的線。

2. Logistic迴歸

邏輯迴歸最適合二進制分類(y = 0或1的數據集,其中1表示默認類)例如:在預測事件是否發生時,發生的事件被分類為1。在預測人會生病或不生病,生病的實例記為1)。它是以其中使用的變換函數命名的,稱為邏輯函數h(x)= 1 /(1 + e ^ x),它是一個S形曲線。

在邏輯迴歸中,輸出是以缺省類別的概率形式出現的。因為這是一個概率,所以輸出在0——1的範圍內。輸出(y值)通過對數轉換x值,使用對數函數h(x)= 1 /(1 + e ^ -x)來生成。然後應用一個閾值來強制這個概率進入二元分類。

摘要: 還在為不知道學什麼算法入門機器學習感到頭疼?本文作者通過自身的學習向初學者介紹十大機器學習(ML)算法,並附有數字和實例以便於理解。

機器學習初學者必須知道的十大算法

哈佛商業評論稱數據科學家是21世紀最性感的工作。所以,對於那些ML剛剛開始的人來說,這篇博客機器學習算法工程師需要知道的十大算法是非常有用的。

ML算法是可以從數據中學習並從中改進的算法,無需人工干預。學習任務可能包括將輸入映射到輸出,在未標記的數據中學習隱藏的結構,或者“基於實例的學習”,其中通過將新實例與來自存儲在存儲器中的訓練數據的實例進行比較來為新實例生成類標籤。

ML算法的類型

有三種ML算法:

1.監督學習:

監督學習可以理解為:使用標記的訓練數據來學習從輸入變量(X)到輸出變量(Y)的映射函數。

Y = f(X)

監督學習問題可以有兩種類型:

分類:預測輸出變量處於類別形式的給定樣本的結果。例如男性和女性,病態和健康等標籤。

迴歸:預測給定樣本的輸出變量的實值結果。例子包括表示降雨量和人的身高的實值標籤。

在這篇博客中介紹的前5個算法——線性迴歸,Logistic迴歸,CART,樸素貝葉斯,KNN都是監督學習。

人工智能領域的大牛吳恩達曾在他的公開課中提到,目前機器學習帶來的經濟價值全部來自監督學習。

2.無監督學習:

無監督學習問題只有輸入變量(X),但沒有相應的輸出變量。它使用無標籤的訓練數據來模擬數據的基本結構。

無監督學習問題可以有兩種類型:

1.關聯:發現數據集合中的相關數據共現的概率。它廣泛用於市場籃子分析。例如:如果顧客購買麵包,他有80%的可能購買雞蛋。

2.群集:對樣本進行分組,使得同一個群集內的對象彼此之間的關係比另一個群集中的對象更為相似。

3.維度降低:維度降低意味著減少數據集的變量數量,同時確保重要的信息仍然傳達。可以使用特徵提取方法和特徵選擇方法來完成維度降低。特徵選擇選擇原始變量的一個子集。特徵提取執行從高維空間到低維空間的數據轉換。例如:PCA算法是一種特徵提取方法。

Apriori,K-means,PCA是無監督學習的例子。

3.強化學習:

強化學習是一種機器學習算法,它允許代理根據當前狀態決定最佳的下一個動作。

強化算法通常通過反覆試驗來學習最佳行為。它們通常用於機器人的訓練,機器人可以通過在碰到障礙物後接收負面反饋來學習避免碰撞。近期的alphago zero就是採用的強化學習的方法,來完成實驗的。

監督學習算法

1.線性迴歸

在ML中,我們有一組輸入變量(x)用於確定輸出變量(y)。輸入變量和輸出變量之間存在某種關係,ML的目標是量化這種關係。

機器學習初學者必須知道的十大算法

圖一

在線性迴歸中,輸入變量(x)和輸出變量(y)之間的關係表示為形式為y = ax + b的方程。因此,線性迴歸的目標是找出係數a和b的值。這裡,a是截距,b是線的斜率。

圖1顯示了數據集的繪製x和y值。目標是擬合最接近大部分點的線。

2. Logistic迴歸

邏輯迴歸最適合二進制分類(y = 0或1的數據集,其中1表示默認類)例如:在預測事件是否發生時,發生的事件被分類為1。在預測人會生病或不生病,生病的實例記為1)。它是以其中使用的變換函數命名的,稱為邏輯函數h(x)= 1 /(1 + e ^ x),它是一個S形曲線。

在邏輯迴歸中,輸出是以缺省類別的概率形式出現的。因為這是一個概率,所以輸出在0——1的範圍內。輸出(y值)通過對數轉換x值,使用對數函數h(x)= 1 /(1 + e ^ -x)來生成。然後應用一個閾值來強制這個概率進入二元分類。

機器學習初學者必須知道的十大算法

圖二

在圖2中,為了確定腫瘤是否是惡性的,默認變量是y = 1(腫瘤=惡性);x變量可以是腫瘤的量度,例如腫瘤的大小。如圖所示,邏輯函數將數據集的各種實例的x值轉換成0到1的範圍。如果概率超過閾值0.5(由水平線示出),則將腫瘤分類如惡性。

邏輯迴歸的目標是使用訓練數據來找到係數b0和b1的值,以使預測結果與實際結果之間的誤差最小化。這些係數是使用最大似然估計技術估計的。

3. CART

分類和迴歸樹(CART)是決策樹的一個實現方式。

非終端節點是根節點和內部節點,終端節點是葉節點。每個非終端節點表示單個輸入變量(x),葉節點表示輸出變量(y)。該模型用於做出如下預測:遍歷樹的分裂到達一個葉節點,並輸出葉節點上存在的值。

圖3中的決策樹根據年齡和婚姻狀況分類是否購買跑車或小型貨車。如果這個人30多年沒有結婚,我們可以如下預測:“30多年? - >是 - >'已婚? - >不。因此,該模型輸出一個跑車。

摘要: 還在為不知道學什麼算法入門機器學習感到頭疼?本文作者通過自身的學習向初學者介紹十大機器學習(ML)算法,並附有數字和實例以便於理解。

機器學習初學者必須知道的十大算法

哈佛商業評論稱數據科學家是21世紀最性感的工作。所以,對於那些ML剛剛開始的人來說,這篇博客機器學習算法工程師需要知道的十大算法是非常有用的。

ML算法是可以從數據中學習並從中改進的算法,無需人工干預。學習任務可能包括將輸入映射到輸出,在未標記的數據中學習隱藏的結構,或者“基於實例的學習”,其中通過將新實例與來自存儲在存儲器中的訓練數據的實例進行比較來為新實例生成類標籤。

ML算法的類型

有三種ML算法:

1.監督學習:

監督學習可以理解為:使用標記的訓練數據來學習從輸入變量(X)到輸出變量(Y)的映射函數。

Y = f(X)

監督學習問題可以有兩種類型:

分類:預測輸出變量處於類別形式的給定樣本的結果。例如男性和女性,病態和健康等標籤。

迴歸:預測給定樣本的輸出變量的實值結果。例子包括表示降雨量和人的身高的實值標籤。

在這篇博客中介紹的前5個算法——線性迴歸,Logistic迴歸,CART,樸素貝葉斯,KNN都是監督學習。

人工智能領域的大牛吳恩達曾在他的公開課中提到,目前機器學習帶來的經濟價值全部來自監督學習。

2.無監督學習:

無監督學習問題只有輸入變量(X),但沒有相應的輸出變量。它使用無標籤的訓練數據來模擬數據的基本結構。

無監督學習問題可以有兩種類型:

1.關聯:發現數據集合中的相關數據共現的概率。它廣泛用於市場籃子分析。例如:如果顧客購買麵包,他有80%的可能購買雞蛋。

2.群集:對樣本進行分組,使得同一個群集內的對象彼此之間的關係比另一個群集中的對象更為相似。

3.維度降低:維度降低意味著減少數據集的變量數量,同時確保重要的信息仍然傳達。可以使用特徵提取方法和特徵選擇方法來完成維度降低。特徵選擇選擇原始變量的一個子集。特徵提取執行從高維空間到低維空間的數據轉換。例如:PCA算法是一種特徵提取方法。

Apriori,K-means,PCA是無監督學習的例子。

3.強化學習:

強化學習是一種機器學習算法,它允許代理根據當前狀態決定最佳的下一個動作。

強化算法通常通過反覆試驗來學習最佳行為。它們通常用於機器人的訓練,機器人可以通過在碰到障礙物後接收負面反饋來學習避免碰撞。近期的alphago zero就是採用的強化學習的方法,來完成實驗的。

監督學習算法

1.線性迴歸

在ML中,我們有一組輸入變量(x)用於確定輸出變量(y)。輸入變量和輸出變量之間存在某種關係,ML的目標是量化這種關係。

機器學習初學者必須知道的十大算法

圖一

在線性迴歸中,輸入變量(x)和輸出變量(y)之間的關係表示為形式為y = ax + b的方程。因此,線性迴歸的目標是找出係數a和b的值。這裡,a是截距,b是線的斜率。

圖1顯示了數據集的繪製x和y值。目標是擬合最接近大部分點的線。

2. Logistic迴歸

邏輯迴歸最適合二進制分類(y = 0或1的數據集,其中1表示默認類)例如:在預測事件是否發生時,發生的事件被分類為1。在預測人會生病或不生病,生病的實例記為1)。它是以其中使用的變換函數命名的,稱為邏輯函數h(x)= 1 /(1 + e ^ x),它是一個S形曲線。

在邏輯迴歸中,輸出是以缺省類別的概率形式出現的。因為這是一個概率,所以輸出在0——1的範圍內。輸出(y值)通過對數轉換x值,使用對數函數h(x)= 1 /(1 + e ^ -x)來生成。然後應用一個閾值來強制這個概率進入二元分類。

機器學習初學者必須知道的十大算法

圖二

在圖2中,為了確定腫瘤是否是惡性的,默認變量是y = 1(腫瘤=惡性);x變量可以是腫瘤的量度,例如腫瘤的大小。如圖所示,邏輯函數將數據集的各種實例的x值轉換成0到1的範圍。如果概率超過閾值0.5(由水平線示出),則將腫瘤分類如惡性。

邏輯迴歸的目標是使用訓練數據來找到係數b0和b1的值,以使預測結果與實際結果之間的誤差最小化。這些係數是使用最大似然估計技術估計的。

3. CART

分類和迴歸樹(CART)是決策樹的一個實現方式。

非終端節點是根節點和內部節點,終端節點是葉節點。每個非終端節點表示單個輸入變量(x),葉節點表示輸出變量(y)。該模型用於做出如下預測:遍歷樹的分裂到達一個葉節點,並輸出葉節點上存在的值。

圖3中的決策樹根據年齡和婚姻狀況分類是否購買跑車或小型貨車。如果這個人30多年沒有結婚,我們可以如下預測:“30多年? - >是 - >'已婚? - >不。因此,該模型輸出一個跑車。

機器學習初學者必須知道的十大算法

圖三

4.樸素貝葉斯

為了計算事件發生的概率,假設已經發生了另一個事件,我們使用貝葉斯定理。為了計算給定某個變量值的結果的概率,也就是說,根據我們的先驗知識(d)計算假設(h)為真的概率,我們使用貝葉斯定理如下:

P(h | d)=(P(d | h)* P(h))/ P(d)

·P(h | d)=後驗概率。

·P(d | h)=可能性。數據d的概率假設h是真的。

·P(h)=類別先驗概率。假設h的可能性為真(不考慮數據)。

·P(d)=預測值先驗概率。數據的可能性(與假設無關)。

摘要: 還在為不知道學什麼算法入門機器學習感到頭疼?本文作者通過自身的學習向初學者介紹十大機器學習(ML)算法,並附有數字和實例以便於理解。

機器學習初學者必須知道的十大算法

哈佛商業評論稱數據科學家是21世紀最性感的工作。所以,對於那些ML剛剛開始的人來說,這篇博客機器學習算法工程師需要知道的十大算法是非常有用的。

ML算法是可以從數據中學習並從中改進的算法,無需人工干預。學習任務可能包括將輸入映射到輸出,在未標記的數據中學習隱藏的結構,或者“基於實例的學習”,其中通過將新實例與來自存儲在存儲器中的訓練數據的實例進行比較來為新實例生成類標籤。

ML算法的類型

有三種ML算法:

1.監督學習:

監督學習可以理解為:使用標記的訓練數據來學習從輸入變量(X)到輸出變量(Y)的映射函數。

Y = f(X)

監督學習問題可以有兩種類型:

分類:預測輸出變量處於類別形式的給定樣本的結果。例如男性和女性,病態和健康等標籤。

迴歸:預測給定樣本的輸出變量的實值結果。例子包括表示降雨量和人的身高的實值標籤。

在這篇博客中介紹的前5個算法——線性迴歸,Logistic迴歸,CART,樸素貝葉斯,KNN都是監督學習。

人工智能領域的大牛吳恩達曾在他的公開課中提到,目前機器學習帶來的經濟價值全部來自監督學習。

2.無監督學習:

無監督學習問題只有輸入變量(X),但沒有相應的輸出變量。它使用無標籤的訓練數據來模擬數據的基本結構。

無監督學習問題可以有兩種類型:

1.關聯:發現數據集合中的相關數據共現的概率。它廣泛用於市場籃子分析。例如:如果顧客購買麵包,他有80%的可能購買雞蛋。

2.群集:對樣本進行分組,使得同一個群集內的對象彼此之間的關係比另一個群集中的對象更為相似。

3.維度降低:維度降低意味著減少數據集的變量數量,同時確保重要的信息仍然傳達。可以使用特徵提取方法和特徵選擇方法來完成維度降低。特徵選擇選擇原始變量的一個子集。特徵提取執行從高維空間到低維空間的數據轉換。例如:PCA算法是一種特徵提取方法。

Apriori,K-means,PCA是無監督學習的例子。

3.強化學習:

強化學習是一種機器學習算法,它允許代理根據當前狀態決定最佳的下一個動作。

強化算法通常通過反覆試驗來學習最佳行為。它們通常用於機器人的訓練,機器人可以通過在碰到障礙物後接收負面反饋來學習避免碰撞。近期的alphago zero就是採用的強化學習的方法,來完成實驗的。

監督學習算法

1.線性迴歸

在ML中,我們有一組輸入變量(x)用於確定輸出變量(y)。輸入變量和輸出變量之間存在某種關係,ML的目標是量化這種關係。

機器學習初學者必須知道的十大算法

圖一

在線性迴歸中,輸入變量(x)和輸出變量(y)之間的關係表示為形式為y = ax + b的方程。因此,線性迴歸的目標是找出係數a和b的值。這裡,a是截距,b是線的斜率。

圖1顯示了數據集的繪製x和y值。目標是擬合最接近大部分點的線。

2. Logistic迴歸

邏輯迴歸最適合二進制分類(y = 0或1的數據集,其中1表示默認類)例如:在預測事件是否發生時,發生的事件被分類為1。在預測人會生病或不生病,生病的實例記為1)。它是以其中使用的變換函數命名的,稱為邏輯函數h(x)= 1 /(1 + e ^ x),它是一個S形曲線。

在邏輯迴歸中,輸出是以缺省類別的概率形式出現的。因為這是一個概率,所以輸出在0——1的範圍內。輸出(y值)通過對數轉換x值,使用對數函數h(x)= 1 /(1 + e ^ -x)來生成。然後應用一個閾值來強制這個概率進入二元分類。

機器學習初學者必須知道的十大算法

圖二

在圖2中,為了確定腫瘤是否是惡性的,默認變量是y = 1(腫瘤=惡性);x變量可以是腫瘤的量度,例如腫瘤的大小。如圖所示,邏輯函數將數據集的各種實例的x值轉換成0到1的範圍。如果概率超過閾值0.5(由水平線示出),則將腫瘤分類如惡性。

邏輯迴歸的目標是使用訓練數據來找到係數b0和b1的值,以使預測結果與實際結果之間的誤差最小化。這些係數是使用最大似然估計技術估計的。

3. CART

分類和迴歸樹(CART)是決策樹的一個實現方式。

非終端節點是根節點和內部節點,終端節點是葉節點。每個非終端節點表示單個輸入變量(x),葉節點表示輸出變量(y)。該模型用於做出如下預測:遍歷樹的分裂到達一個葉節點,並輸出葉節點上存在的值。

圖3中的決策樹根據年齡和婚姻狀況分類是否購買跑車或小型貨車。如果這個人30多年沒有結婚,我們可以如下預測:“30多年? - >是 - >'已婚? - >不。因此,該模型輸出一個跑車。

機器學習初學者必須知道的十大算法

圖三

4.樸素貝葉斯

為了計算事件發生的概率,假設已經發生了另一個事件,我們使用貝葉斯定理。為了計算給定某個變量值的結果的概率,也就是說,根據我們的先驗知識(d)計算假設(h)為真的概率,我們使用貝葉斯定理如下:

P(h | d)=(P(d | h)* P(h))/ P(d)

·P(h | d)=後驗概率。

·P(d | h)=可能性。數據d的概率假設h是真的。

·P(h)=類別先驗概率。假設h的可能性為真(不考慮數據)。

·P(d)=預測值先驗概率。數據的可能性(與假設無關)。

機器學習初學者必須知道的十大算法

圖四

以圖4為例,如果天氣=“陽光”,結果如何?

為了確定結果play ='yes'或'no',給定變量weather ='sunny'的值,計算P(是| sunny)和P(no | sunny),並選擇結果的概率較高。

P(是|晴天)=(P(晴天|是)* P(是))/ P(晴天)

=(3/9 * 9/14)/(5/14)

= 0.60

P(no | sunny)=(P(晴天)* P(no))/ P(晴天)

=(2/5 * 5/14)/(5/14)

= 0.40

因此,如果天氣=“晴天”,結果是play ='是'。

5. KNN

K鄰近算法使用整個數據集作為訓練集,而不是將數據集分成訓練集和測試集。

當新的數據實例需要結果時,KNN算法遍歷整個數據集,以找到新實例的k個最近的實例,或者與新記錄最相似的k個實例,然後對於分類問題的結果(對於迴歸問題)或模式輸出均值。

實例之間的相似度使用歐幾里德距離和Hamming距離等度量來計算。

無監督學習算法:

6. Apriori

Apriori算法用於事務數據庫挖掘,然後生成關聯規則。它在市場籃子分析中被廣泛使用,在這個分析中,檢查數據庫中經常出現的產品組合。一般來說,我們寫出如果一個人購買項目X,然後他購買項目Y的關聯規則為:X - > Y。

摘要: 還在為不知道學什麼算法入門機器學習感到頭疼?本文作者通過自身的學習向初學者介紹十大機器學習(ML)算法,並附有數字和實例以便於理解。

機器學習初學者必須知道的十大算法

哈佛商業評論稱數據科學家是21世紀最性感的工作。所以,對於那些ML剛剛開始的人來說,這篇博客機器學習算法工程師需要知道的十大算法是非常有用的。

ML算法是可以從數據中學習並從中改進的算法,無需人工干預。學習任務可能包括將輸入映射到輸出,在未標記的數據中學習隱藏的結構,或者“基於實例的學習”,其中通過將新實例與來自存儲在存儲器中的訓練數據的實例進行比較來為新實例生成類標籤。

ML算法的類型

有三種ML算法:

1.監督學習:

監督學習可以理解為:使用標記的訓練數據來學習從輸入變量(X)到輸出變量(Y)的映射函數。

Y = f(X)

監督學習問題可以有兩種類型:

分類:預測輸出變量處於類別形式的給定樣本的結果。例如男性和女性,病態和健康等標籤。

迴歸:預測給定樣本的輸出變量的實值結果。例子包括表示降雨量和人的身高的實值標籤。

在這篇博客中介紹的前5個算法——線性迴歸,Logistic迴歸,CART,樸素貝葉斯,KNN都是監督學習。

人工智能領域的大牛吳恩達曾在他的公開課中提到,目前機器學習帶來的經濟價值全部來自監督學習。

2.無監督學習:

無監督學習問題只有輸入變量(X),但沒有相應的輸出變量。它使用無標籤的訓練數據來模擬數據的基本結構。

無監督學習問題可以有兩種類型:

1.關聯:發現數據集合中的相關數據共現的概率。它廣泛用於市場籃子分析。例如:如果顧客購買麵包,他有80%的可能購買雞蛋。

2.群集:對樣本進行分組,使得同一個群集內的對象彼此之間的關係比另一個群集中的對象更為相似。

3.維度降低:維度降低意味著減少數據集的變量數量,同時確保重要的信息仍然傳達。可以使用特徵提取方法和特徵選擇方法來完成維度降低。特徵選擇選擇原始變量的一個子集。特徵提取執行從高維空間到低維空間的數據轉換。例如:PCA算法是一種特徵提取方法。

Apriori,K-means,PCA是無監督學習的例子。

3.強化學習:

強化學習是一種機器學習算法,它允許代理根據當前狀態決定最佳的下一個動作。

強化算法通常通過反覆試驗來學習最佳行為。它們通常用於機器人的訓練,機器人可以通過在碰到障礙物後接收負面反饋來學習避免碰撞。近期的alphago zero就是採用的強化學習的方法,來完成實驗的。

監督學習算法

1.線性迴歸

在ML中,我們有一組輸入變量(x)用於確定輸出變量(y)。輸入變量和輸出變量之間存在某種關係,ML的目標是量化這種關係。

機器學習初學者必須知道的十大算法

圖一

在線性迴歸中,輸入變量(x)和輸出變量(y)之間的關係表示為形式為y = ax + b的方程。因此,線性迴歸的目標是找出係數a和b的值。這裡,a是截距,b是線的斜率。

圖1顯示了數據集的繪製x和y值。目標是擬合最接近大部分點的線。

2. Logistic迴歸

邏輯迴歸最適合二進制分類(y = 0或1的數據集,其中1表示默認類)例如:在預測事件是否發生時,發生的事件被分類為1。在預測人會生病或不生病,生病的實例記為1)。它是以其中使用的變換函數命名的,稱為邏輯函數h(x)= 1 /(1 + e ^ x),它是一個S形曲線。

在邏輯迴歸中,輸出是以缺省類別的概率形式出現的。因為這是一個概率,所以輸出在0——1的範圍內。輸出(y值)通過對數轉換x值,使用對數函數h(x)= 1 /(1 + e ^ -x)來生成。然後應用一個閾值來強制這個概率進入二元分類。

機器學習初學者必須知道的十大算法

圖二

在圖2中,為了確定腫瘤是否是惡性的,默認變量是y = 1(腫瘤=惡性);x變量可以是腫瘤的量度,例如腫瘤的大小。如圖所示,邏輯函數將數據集的各種實例的x值轉換成0到1的範圍。如果概率超過閾值0.5(由水平線示出),則將腫瘤分類如惡性。

邏輯迴歸的目標是使用訓練數據來找到係數b0和b1的值,以使預測結果與實際結果之間的誤差最小化。這些係數是使用最大似然估計技術估計的。

3. CART

分類和迴歸樹(CART)是決策樹的一個實現方式。

非終端節點是根節點和內部節點,終端節點是葉節點。每個非終端節點表示單個輸入變量(x),葉節點表示輸出變量(y)。該模型用於做出如下預測:遍歷樹的分裂到達一個葉節點,並輸出葉節點上存在的值。

圖3中的決策樹根據年齡和婚姻狀況分類是否購買跑車或小型貨車。如果這個人30多年沒有結婚,我們可以如下預測:“30多年? - >是 - >'已婚? - >不。因此,該模型輸出一個跑車。

機器學習初學者必須知道的十大算法

圖三

4.樸素貝葉斯

為了計算事件發生的概率,假設已經發生了另一個事件,我們使用貝葉斯定理。為了計算給定某個變量值的結果的概率,也就是說,根據我們的先驗知識(d)計算假設(h)為真的概率,我們使用貝葉斯定理如下:

P(h | d)=(P(d | h)* P(h))/ P(d)

·P(h | d)=後驗概率。

·P(d | h)=可能性。數據d的概率假設h是真的。

·P(h)=類別先驗概率。假設h的可能性為真(不考慮數據)。

·P(d)=預測值先驗概率。數據的可能性(與假設無關)。

機器學習初學者必須知道的十大算法

圖四

以圖4為例,如果天氣=“陽光”,結果如何?

為了確定結果play ='yes'或'no',給定變量weather ='sunny'的值,計算P(是| sunny)和P(no | sunny),並選擇結果的概率較高。

P(是|晴天)=(P(晴天|是)* P(是))/ P(晴天)

=(3/9 * 9/14)/(5/14)

= 0.60

P(no | sunny)=(P(晴天)* P(no))/ P(晴天)

=(2/5 * 5/14)/(5/14)

= 0.40

因此,如果天氣=“晴天”,結果是play ='是'。

5. KNN

K鄰近算法使用整個數據集作為訓練集,而不是將數據集分成訓練集和測試集。

當新的數據實例需要結果時,KNN算法遍歷整個數據集,以找到新實例的k個最近的實例,或者與新記錄最相似的k個實例,然後對於分類問題的結果(對於迴歸問題)或模式輸出均值。

實例之間的相似度使用歐幾里德距離和Hamming距離等度量來計算。

無監督學習算法:

6. Apriori

Apriori算法用於事務數據庫挖掘,然後生成關聯規則。它在市場籃子分析中被廣泛使用,在這個分析中,檢查數據庫中經常出現的產品組合。一般來說,我們寫出如果一個人購買項目X,然後他購買項目Y的關聯規則為:X - > Y。

機器學習初學者必須知道的十大算法

例如:如果一個人購買牛奶和糖,那麼他很可能會購買咖啡粉。這可以寫成關聯規則的形式:{牛奶,糖} - >咖啡粉。

7. K-means

K-means是一種迭代算法,將相似的數據分組到簇中。計算k個簇的質心,並將一個數據點分配給質心和數據點之間距離最小的簇。

摘要: 還在為不知道學什麼算法入門機器學習感到頭疼?本文作者通過自身的學習向初學者介紹十大機器學習(ML)算法,並附有數字和實例以便於理解。

機器學習初學者必須知道的十大算法

哈佛商業評論稱數據科學家是21世紀最性感的工作。所以,對於那些ML剛剛開始的人來說,這篇博客機器學習算法工程師需要知道的十大算法是非常有用的。

ML算法是可以從數據中學習並從中改進的算法,無需人工干預。學習任務可能包括將輸入映射到輸出,在未標記的數據中學習隱藏的結構,或者“基於實例的學習”,其中通過將新實例與來自存儲在存儲器中的訓練數據的實例進行比較來為新實例生成類標籤。

ML算法的類型

有三種ML算法:

1.監督學習:

監督學習可以理解為:使用標記的訓練數據來學習從輸入變量(X)到輸出變量(Y)的映射函數。

Y = f(X)

監督學習問題可以有兩種類型:

分類:預測輸出變量處於類別形式的給定樣本的結果。例如男性和女性,病態和健康等標籤。

迴歸:預測給定樣本的輸出變量的實值結果。例子包括表示降雨量和人的身高的實值標籤。

在這篇博客中介紹的前5個算法——線性迴歸,Logistic迴歸,CART,樸素貝葉斯,KNN都是監督學習。

人工智能領域的大牛吳恩達曾在他的公開課中提到,目前機器學習帶來的經濟價值全部來自監督學習。

2.無監督學習:

無監督學習問題只有輸入變量(X),但沒有相應的輸出變量。它使用無標籤的訓練數據來模擬數據的基本結構。

無監督學習問題可以有兩種類型:

1.關聯:發現數據集合中的相關數據共現的概率。它廣泛用於市場籃子分析。例如:如果顧客購買麵包,他有80%的可能購買雞蛋。

2.群集:對樣本進行分組,使得同一個群集內的對象彼此之間的關係比另一個群集中的對象更為相似。

3.維度降低:維度降低意味著減少數據集的變量數量,同時確保重要的信息仍然傳達。可以使用特徵提取方法和特徵選擇方法來完成維度降低。特徵選擇選擇原始變量的一個子集。特徵提取執行從高維空間到低維空間的數據轉換。例如:PCA算法是一種特徵提取方法。

Apriori,K-means,PCA是無監督學習的例子。

3.強化學習:

強化學習是一種機器學習算法,它允許代理根據當前狀態決定最佳的下一個動作。

強化算法通常通過反覆試驗來學習最佳行為。它們通常用於機器人的訓練,機器人可以通過在碰到障礙物後接收負面反饋來學習避免碰撞。近期的alphago zero就是採用的強化學習的方法,來完成實驗的。

監督學習算法

1.線性迴歸

在ML中,我們有一組輸入變量(x)用於確定輸出變量(y)。輸入變量和輸出變量之間存在某種關係,ML的目標是量化這種關係。

機器學習初學者必須知道的十大算法

圖一

在線性迴歸中,輸入變量(x)和輸出變量(y)之間的關係表示為形式為y = ax + b的方程。因此,線性迴歸的目標是找出係數a和b的值。這裡,a是截距,b是線的斜率。

圖1顯示了數據集的繪製x和y值。目標是擬合最接近大部分點的線。

2. Logistic迴歸

邏輯迴歸最適合二進制分類(y = 0或1的數據集,其中1表示默認類)例如:在預測事件是否發生時,發生的事件被分類為1。在預測人會生病或不生病,生病的實例記為1)。它是以其中使用的變換函數命名的,稱為邏輯函數h(x)= 1 /(1 + e ^ x),它是一個S形曲線。

在邏輯迴歸中,輸出是以缺省類別的概率形式出現的。因為這是一個概率,所以輸出在0——1的範圍內。輸出(y值)通過對數轉換x值,使用對數函數h(x)= 1 /(1 + e ^ -x)來生成。然後應用一個閾值來強制這個概率進入二元分類。

機器學習初學者必須知道的十大算法

圖二

在圖2中,為了確定腫瘤是否是惡性的,默認變量是y = 1(腫瘤=惡性);x變量可以是腫瘤的量度,例如腫瘤的大小。如圖所示,邏輯函數將數據集的各種實例的x值轉換成0到1的範圍。如果概率超過閾值0.5(由水平線示出),則將腫瘤分類如惡性。

邏輯迴歸的目標是使用訓練數據來找到係數b0和b1的值,以使預測結果與實際結果之間的誤差最小化。這些係數是使用最大似然估計技術估計的。

3. CART

分類和迴歸樹(CART)是決策樹的一個實現方式。

非終端節點是根節點和內部節點,終端節點是葉節點。每個非終端節點表示單個輸入變量(x),葉節點表示輸出變量(y)。該模型用於做出如下預測:遍歷樹的分裂到達一個葉節點,並輸出葉節點上存在的值。

圖3中的決策樹根據年齡和婚姻狀況分類是否購買跑車或小型貨車。如果這個人30多年沒有結婚,我們可以如下預測:“30多年? - >是 - >'已婚? - >不。因此,該模型輸出一個跑車。

機器學習初學者必須知道的十大算法

圖三

4.樸素貝葉斯

為了計算事件發生的概率,假設已經發生了另一個事件,我們使用貝葉斯定理。為了計算給定某個變量值的結果的概率,也就是說,根據我們的先驗知識(d)計算假設(h)為真的概率,我們使用貝葉斯定理如下:

P(h | d)=(P(d | h)* P(h))/ P(d)

·P(h | d)=後驗概率。

·P(d | h)=可能性。數據d的概率假設h是真的。

·P(h)=類別先驗概率。假設h的可能性為真(不考慮數據)。

·P(d)=預測值先驗概率。數據的可能性(與假設無關)。

機器學習初學者必須知道的十大算法

圖四

以圖4為例,如果天氣=“陽光”,結果如何?

為了確定結果play ='yes'或'no',給定變量weather ='sunny'的值,計算P(是| sunny)和P(no | sunny),並選擇結果的概率較高。

P(是|晴天)=(P(晴天|是)* P(是))/ P(晴天)

=(3/9 * 9/14)/(5/14)

= 0.60

P(no | sunny)=(P(晴天)* P(no))/ P(晴天)

=(2/5 * 5/14)/(5/14)

= 0.40

因此,如果天氣=“晴天”,結果是play ='是'。

5. KNN

K鄰近算法使用整個數據集作為訓練集,而不是將數據集分成訓練集和測試集。

當新的數據實例需要結果時,KNN算法遍歷整個數據集,以找到新實例的k個最近的實例,或者與新記錄最相似的k個實例,然後對於分類問題的結果(對於迴歸問題)或模式輸出均值。

實例之間的相似度使用歐幾里德距離和Hamming距離等度量來計算。

無監督學習算法:

6. Apriori

Apriori算法用於事務數據庫挖掘,然後生成關聯規則。它在市場籃子分析中被廣泛使用,在這個分析中,檢查數據庫中經常出現的產品組合。一般來說,我們寫出如果一個人購買項目X,然後他購買項目Y的關聯規則為:X - > Y。

機器學習初學者必須知道的十大算法

例如:如果一個人購買牛奶和糖,那麼他很可能會購買咖啡粉。這可以寫成關聯規則的形式:{牛奶,糖} - >咖啡粉。

7. K-means

K-means是一種迭代算法,將相似的數據分組到簇中。計算k個簇的質心,並將一個數據點分配給質心和數據點之間距離最小的簇。

機器學習初學者必須知道的十大算法

步驟1:k-means初始化:

a)選擇k的值。在這裡,讓我們取k = 3。

b)將每個數據點隨機分配到3個群集中的任何一個。

c)為每個集群計算集群質心。紅色,藍色和綠色星星表示3個星團中的每一個的質心。

步驟2:將每個觀察結果與群集相關聯:

將每個點重新分配到最近的集群質心。這裡,上面的5個點被分配到具有藍色質心的簇。按照相同的步驟將點分配給包含紅色和綠色質心的群集。

第3步:重新計算質心:

計算新簇的質心。舊的質心由灰色星星表示,而新的質心是紅色,綠色和藍色星星。

第4步:迭代,然後退出,如果不變。

重複步驟2-3,直到沒有從一個群集切換到另一個群集。一旦連續兩個步驟沒有切換,退出k-means算法。

8. PCA

主成分分析(PCA)用於通過減少變量的數量來使數據易於探索和可視化。這是通過將數據中的最大方差捕獲到一個稱為“主要成分”的軸上的新的座標系來完成的。每個組件是原始變量的線性組合,並且彼此正交。組件之間的正交性表明這些組件之間的相關性為零。

摘要: 還在為不知道學什麼算法入門機器學習感到頭疼?本文作者通過自身的學習向初學者介紹十大機器學習(ML)算法,並附有數字和實例以便於理解。

機器學習初學者必須知道的十大算法

哈佛商業評論稱數據科學家是21世紀最性感的工作。所以,對於那些ML剛剛開始的人來說,這篇博客機器學習算法工程師需要知道的十大算法是非常有用的。

ML算法是可以從數據中學習並從中改進的算法,無需人工干預。學習任務可能包括將輸入映射到輸出,在未標記的數據中學習隱藏的結構,或者“基於實例的學習”,其中通過將新實例與來自存儲在存儲器中的訓練數據的實例進行比較來為新實例生成類標籤。

ML算法的類型

有三種ML算法:

1.監督學習:

監督學習可以理解為:使用標記的訓練數據來學習從輸入變量(X)到輸出變量(Y)的映射函數。

Y = f(X)

監督學習問題可以有兩種類型:

分類:預測輸出變量處於類別形式的給定樣本的結果。例如男性和女性,病態和健康等標籤。

迴歸:預測給定樣本的輸出變量的實值結果。例子包括表示降雨量和人的身高的實值標籤。

在這篇博客中介紹的前5個算法——線性迴歸,Logistic迴歸,CART,樸素貝葉斯,KNN都是監督學習。

人工智能領域的大牛吳恩達曾在他的公開課中提到,目前機器學習帶來的經濟價值全部來自監督學習。

2.無監督學習:

無監督學習問題只有輸入變量(X),但沒有相應的輸出變量。它使用無標籤的訓練數據來模擬數據的基本結構。

無監督學習問題可以有兩種類型:

1.關聯:發現數據集合中的相關數據共現的概率。它廣泛用於市場籃子分析。例如:如果顧客購買麵包,他有80%的可能購買雞蛋。

2.群集:對樣本進行分組,使得同一個群集內的對象彼此之間的關係比另一個群集中的對象更為相似。

3.維度降低:維度降低意味著減少數據集的變量數量,同時確保重要的信息仍然傳達。可以使用特徵提取方法和特徵選擇方法來完成維度降低。特徵選擇選擇原始變量的一個子集。特徵提取執行從高維空間到低維空間的數據轉換。例如:PCA算法是一種特徵提取方法。

Apriori,K-means,PCA是無監督學習的例子。

3.強化學習:

強化學習是一種機器學習算法,它允許代理根據當前狀態決定最佳的下一個動作。

強化算法通常通過反覆試驗來學習最佳行為。它們通常用於機器人的訓練,機器人可以通過在碰到障礙物後接收負面反饋來學習避免碰撞。近期的alphago zero就是採用的強化學習的方法,來完成實驗的。

監督學習算法

1.線性迴歸

在ML中,我們有一組輸入變量(x)用於確定輸出變量(y)。輸入變量和輸出變量之間存在某種關係,ML的目標是量化這種關係。

機器學習初學者必須知道的十大算法

圖一

在線性迴歸中,輸入變量(x)和輸出變量(y)之間的關係表示為形式為y = ax + b的方程。因此,線性迴歸的目標是找出係數a和b的值。這裡,a是截距,b是線的斜率。

圖1顯示了數據集的繪製x和y值。目標是擬合最接近大部分點的線。

2. Logistic迴歸

邏輯迴歸最適合二進制分類(y = 0或1的數據集,其中1表示默認類)例如:在預測事件是否發生時,發生的事件被分類為1。在預測人會生病或不生病,生病的實例記為1)。它是以其中使用的變換函數命名的,稱為邏輯函數h(x)= 1 /(1 + e ^ x),它是一個S形曲線。

在邏輯迴歸中,輸出是以缺省類別的概率形式出現的。因為這是一個概率,所以輸出在0——1的範圍內。輸出(y值)通過對數轉換x值,使用對數函數h(x)= 1 /(1 + e ^ -x)來生成。然後應用一個閾值來強制這個概率進入二元分類。

機器學習初學者必須知道的十大算法

圖二

在圖2中,為了確定腫瘤是否是惡性的,默認變量是y = 1(腫瘤=惡性);x變量可以是腫瘤的量度,例如腫瘤的大小。如圖所示,邏輯函數將數據集的各種實例的x值轉換成0到1的範圍。如果概率超過閾值0.5(由水平線示出),則將腫瘤分類如惡性。

邏輯迴歸的目標是使用訓練數據來找到係數b0和b1的值,以使預測結果與實際結果之間的誤差最小化。這些係數是使用最大似然估計技術估計的。

3. CART

分類和迴歸樹(CART)是決策樹的一個實現方式。

非終端節點是根節點和內部節點,終端節點是葉節點。每個非終端節點表示單個輸入變量(x),葉節點表示輸出變量(y)。該模型用於做出如下預測:遍歷樹的分裂到達一個葉節點,並輸出葉節點上存在的值。

圖3中的決策樹根據年齡和婚姻狀況分類是否購買跑車或小型貨車。如果這個人30多年沒有結婚,我們可以如下預測:“30多年? - >是 - >'已婚? - >不。因此,該模型輸出一個跑車。

機器學習初學者必須知道的十大算法

圖三

4.樸素貝葉斯

為了計算事件發生的概率,假設已經發生了另一個事件,我們使用貝葉斯定理。為了計算給定某個變量值的結果的概率,也就是說,根據我們的先驗知識(d)計算假設(h)為真的概率,我們使用貝葉斯定理如下:

P(h | d)=(P(d | h)* P(h))/ P(d)

·P(h | d)=後驗概率。

·P(d | h)=可能性。數據d的概率假設h是真的。

·P(h)=類別先驗概率。假設h的可能性為真(不考慮數據)。

·P(d)=預測值先驗概率。數據的可能性(與假設無關)。

機器學習初學者必須知道的十大算法

圖四

以圖4為例,如果天氣=“陽光”,結果如何?

為了確定結果play ='yes'或'no',給定變量weather ='sunny'的值,計算P(是| sunny)和P(no | sunny),並選擇結果的概率較高。

P(是|晴天)=(P(晴天|是)* P(是))/ P(晴天)

=(3/9 * 9/14)/(5/14)

= 0.60

P(no | sunny)=(P(晴天)* P(no))/ P(晴天)

=(2/5 * 5/14)/(5/14)

= 0.40

因此,如果天氣=“晴天”,結果是play ='是'。

5. KNN

K鄰近算法使用整個數據集作為訓練集,而不是將數據集分成訓練集和測試集。

當新的數據實例需要結果時,KNN算法遍歷整個數據集,以找到新實例的k個最近的實例,或者與新記錄最相似的k個實例,然後對於分類問題的結果(對於迴歸問題)或模式輸出均值。

實例之間的相似度使用歐幾里德距離和Hamming距離等度量來計算。

無監督學習算法:

6. Apriori

Apriori算法用於事務數據庫挖掘,然後生成關聯規則。它在市場籃子分析中被廣泛使用,在這個分析中,檢查數據庫中經常出現的產品組合。一般來說,我們寫出如果一個人購買項目X,然後他購買項目Y的關聯規則為:X - > Y。

機器學習初學者必須知道的十大算法

例如:如果一個人購買牛奶和糖,那麼他很可能會購買咖啡粉。這可以寫成關聯規則的形式:{牛奶,糖} - >咖啡粉。

7. K-means

K-means是一種迭代算法,將相似的數據分組到簇中。計算k個簇的質心,並將一個數據點分配給質心和數據點之間距離最小的簇。

機器學習初學者必須知道的十大算法

步驟1:k-means初始化:

a)選擇k的值。在這裡,讓我們取k = 3。

b)將每個數據點隨機分配到3個群集中的任何一個。

c)為每個集群計算集群質心。紅色,藍色和綠色星星表示3個星團中的每一個的質心。

步驟2:將每個觀察結果與群集相關聯:

將每個點重新分配到最近的集群質心。這裡,上面的5個點被分配到具有藍色質心的簇。按照相同的步驟將點分配給包含紅色和綠色質心的群集。

第3步:重新計算質心:

計算新簇的質心。舊的質心由灰色星星表示,而新的質心是紅色,綠色和藍色星星。

第4步:迭代,然後退出,如果不變。

重複步驟2-3,直到沒有從一個群集切換到另一個群集。一旦連續兩個步驟沒有切換,退出k-means算法。

8. PCA

主成分分析(PCA)用於通過減少變量的數量來使數據易於探索和可視化。這是通過將數據中的最大方差捕獲到一個稱為“主要成分”的軸上的新的座標系來完成的。每個組件是原始變量的線性組合,並且彼此正交。組件之間的正交性表明這些組件之間的相關性為零。

機器學習初學者必須知道的十大算法

第一個主成分捕捉數據中最大變化的方向。第二個主要組件捕獲數據中的剩餘變量,但變量與第一個組件不相關。

9.隨機森林裝袋

隨機森林是對袋裝決策樹(bagged decision trees)改進。

裝袋(Bagging):裝袋的第一步是創建多個模型,使用Bootstrap Sampling方法創建數據集。在Bootstrap Sampling中,每個生成的訓練集由來自原始數據集的隨機子樣本組成。這些訓練集中的每一個與原始數據集大小相同,但有些記錄會重複多次,有些記錄根本不會出現。然後,整個原始數據集被用作測試集。因此,如果原始數據集的大小為N,那麼每個生成的訓練集的大小也是N,測試集的大小也是N。

裝袋的第二步是在不同的生成的訓練集上使用相同的算法創建多個模型。在這種情況下,讓我們討論隨機森林。與決策樹不同的是,每個節點被分割成最小化誤差的最佳特徵,在隨機森林中,我們選擇隨機選擇的特徵來構建最佳分割。在每個分割點處要搜索的特徵的數量被指定為隨機森林算法的參數。

因此,在用隨機森林裝袋時,每棵樹都是使用記錄的隨機樣本構建的,每個分叉是使用預測變量的隨機樣本構建的。

10. Boosting with AdaBoost

套袋(Bagging)是一個平行的集合,因為每個模型都是獨立建立的。另一方面,boosting是一個連續的集合,每個模型的建立是基於糾正前一個模型的錯誤分類。

Adaboost代表Adaptive Boosting。

摘要: 還在為不知道學什麼算法入門機器學習感到頭疼?本文作者通過自身的學習向初學者介紹十大機器學習(ML)算法,並附有數字和實例以便於理解。

機器學習初學者必須知道的十大算法

哈佛商業評論稱數據科學家是21世紀最性感的工作。所以,對於那些ML剛剛開始的人來說,這篇博客機器學習算法工程師需要知道的十大算法是非常有用的。

ML算法是可以從數據中學習並從中改進的算法,無需人工干預。學習任務可能包括將輸入映射到輸出,在未標記的數據中學習隱藏的結構,或者“基於實例的學習”,其中通過將新實例與來自存儲在存儲器中的訓練數據的實例進行比較來為新實例生成類標籤。

ML算法的類型

有三種ML算法:

1.監督學習:

監督學習可以理解為:使用標記的訓練數據來學習從輸入變量(X)到輸出變量(Y)的映射函數。

Y = f(X)

監督學習問題可以有兩種類型:

分類:預測輸出變量處於類別形式的給定樣本的結果。例如男性和女性,病態和健康等標籤。

迴歸:預測給定樣本的輸出變量的實值結果。例子包括表示降雨量和人的身高的實值標籤。

在這篇博客中介紹的前5個算法——線性迴歸,Logistic迴歸,CART,樸素貝葉斯,KNN都是監督學習。

人工智能領域的大牛吳恩達曾在他的公開課中提到,目前機器學習帶來的經濟價值全部來自監督學習。

2.無監督學習:

無監督學習問題只有輸入變量(X),但沒有相應的輸出變量。它使用無標籤的訓練數據來模擬數據的基本結構。

無監督學習問題可以有兩種類型:

1.關聯:發現數據集合中的相關數據共現的概率。它廣泛用於市場籃子分析。例如:如果顧客購買麵包,他有80%的可能購買雞蛋。

2.群集:對樣本進行分組,使得同一個群集內的對象彼此之間的關係比另一個群集中的對象更為相似。

3.維度降低:維度降低意味著減少數據集的變量數量,同時確保重要的信息仍然傳達。可以使用特徵提取方法和特徵選擇方法來完成維度降低。特徵選擇選擇原始變量的一個子集。特徵提取執行從高維空間到低維空間的數據轉換。例如:PCA算法是一種特徵提取方法。

Apriori,K-means,PCA是無監督學習的例子。

3.強化學習:

強化學習是一種機器學習算法,它允許代理根據當前狀態決定最佳的下一個動作。

強化算法通常通過反覆試驗來學習最佳行為。它們通常用於機器人的訓練,機器人可以通過在碰到障礙物後接收負面反饋來學習避免碰撞。近期的alphago zero就是採用的強化學習的方法,來完成實驗的。

監督學習算法

1.線性迴歸

在ML中,我們有一組輸入變量(x)用於確定輸出變量(y)。輸入變量和輸出變量之間存在某種關係,ML的目標是量化這種關係。

機器學習初學者必須知道的十大算法

圖一

在線性迴歸中,輸入變量(x)和輸出變量(y)之間的關係表示為形式為y = ax + b的方程。因此,線性迴歸的目標是找出係數a和b的值。這裡,a是截距,b是線的斜率。

圖1顯示了數據集的繪製x和y值。目標是擬合最接近大部分點的線。

2. Logistic迴歸

邏輯迴歸最適合二進制分類(y = 0或1的數據集,其中1表示默認類)例如:在預測事件是否發生時,發生的事件被分類為1。在預測人會生病或不生病,生病的實例記為1)。它是以其中使用的變換函數命名的,稱為邏輯函數h(x)= 1 /(1 + e ^ x),它是一個S形曲線。

在邏輯迴歸中,輸出是以缺省類別的概率形式出現的。因為這是一個概率,所以輸出在0——1的範圍內。輸出(y值)通過對數轉換x值,使用對數函數h(x)= 1 /(1 + e ^ -x)來生成。然後應用一個閾值來強制這個概率進入二元分類。

機器學習初學者必須知道的十大算法

圖二

在圖2中,為了確定腫瘤是否是惡性的,默認變量是y = 1(腫瘤=惡性);x變量可以是腫瘤的量度,例如腫瘤的大小。如圖所示,邏輯函數將數據集的各種實例的x值轉換成0到1的範圍。如果概率超過閾值0.5(由水平線示出),則將腫瘤分類如惡性。

邏輯迴歸的目標是使用訓練數據來找到係數b0和b1的值,以使預測結果與實際結果之間的誤差最小化。這些係數是使用最大似然估計技術估計的。

3. CART

分類和迴歸樹(CART)是決策樹的一個實現方式。

非終端節點是根節點和內部節點,終端節點是葉節點。每個非終端節點表示單個輸入變量(x),葉節點表示輸出變量(y)。該模型用於做出如下預測:遍歷樹的分裂到達一個葉節點,並輸出葉節點上存在的值。

圖3中的決策樹根據年齡和婚姻狀況分類是否購買跑車或小型貨車。如果這個人30多年沒有結婚,我們可以如下預測:“30多年? - >是 - >'已婚? - >不。因此,該模型輸出一個跑車。

機器學習初學者必須知道的十大算法

圖三

4.樸素貝葉斯

為了計算事件發生的概率,假設已經發生了另一個事件,我們使用貝葉斯定理。為了計算給定某個變量值的結果的概率,也就是說,根據我們的先驗知識(d)計算假設(h)為真的概率,我們使用貝葉斯定理如下:

P(h | d)=(P(d | h)* P(h))/ P(d)

·P(h | d)=後驗概率。

·P(d | h)=可能性。數據d的概率假設h是真的。

·P(h)=類別先驗概率。假設h的可能性為真(不考慮數據)。

·P(d)=預測值先驗概率。數據的可能性(與假設無關)。

機器學習初學者必須知道的十大算法

圖四

以圖4為例,如果天氣=“陽光”,結果如何?

為了確定結果play ='yes'或'no',給定變量weather ='sunny'的值,計算P(是| sunny)和P(no | sunny),並選擇結果的概率較高。

P(是|晴天)=(P(晴天|是)* P(是))/ P(晴天)

=(3/9 * 9/14)/(5/14)

= 0.60

P(no | sunny)=(P(晴天)* P(no))/ P(晴天)

=(2/5 * 5/14)/(5/14)

= 0.40

因此,如果天氣=“晴天”,結果是play ='是'。

5. KNN

K鄰近算法使用整個數據集作為訓練集,而不是將數據集分成訓練集和測試集。

當新的數據實例需要結果時,KNN算法遍歷整個數據集,以找到新實例的k個最近的實例,或者與新記錄最相似的k個實例,然後對於分類問題的結果(對於迴歸問題)或模式輸出均值。

實例之間的相似度使用歐幾里德距離和Hamming距離等度量來計算。

無監督學習算法:

6. Apriori

Apriori算法用於事務數據庫挖掘,然後生成關聯規則。它在市場籃子分析中被廣泛使用,在這個分析中,檢查數據庫中經常出現的產品組合。一般來說,我們寫出如果一個人購買項目X,然後他購買項目Y的關聯規則為:X - > Y。

機器學習初學者必須知道的十大算法

例如:如果一個人購買牛奶和糖,那麼他很可能會購買咖啡粉。這可以寫成關聯規則的形式:{牛奶,糖} - >咖啡粉。

7. K-means

K-means是一種迭代算法,將相似的數據分組到簇中。計算k個簇的質心,並將一個數據點分配給質心和數據點之間距離最小的簇。

機器學習初學者必須知道的十大算法

步驟1:k-means初始化:

a)選擇k的值。在這裡,讓我們取k = 3。

b)將每個數據點隨機分配到3個群集中的任何一個。

c)為每個集群計算集群質心。紅色,藍色和綠色星星表示3個星團中的每一個的質心。

步驟2:將每個觀察結果與群集相關聯:

將每個點重新分配到最近的集群質心。這裡,上面的5個點被分配到具有藍色質心的簇。按照相同的步驟將點分配給包含紅色和綠色質心的群集。

第3步:重新計算質心:

計算新簇的質心。舊的質心由灰色星星表示,而新的質心是紅色,綠色和藍色星星。

第4步:迭代,然後退出,如果不變。

重複步驟2-3,直到沒有從一個群集切換到另一個群集。一旦連續兩個步驟沒有切換,退出k-means算法。

8. PCA

主成分分析(PCA)用於通過減少變量的數量來使數據易於探索和可視化。這是通過將數據中的最大方差捕獲到一個稱為“主要成分”的軸上的新的座標系來完成的。每個組件是原始變量的線性組合,並且彼此正交。組件之間的正交性表明這些組件之間的相關性為零。

機器學習初學者必須知道的十大算法

第一個主成分捕捉數據中最大變化的方向。第二個主要組件捕獲數據中的剩餘變量,但變量與第一個組件不相關。

9.隨機森林裝袋

隨機森林是對袋裝決策樹(bagged decision trees)改進。

裝袋(Bagging):裝袋的第一步是創建多個模型,使用Bootstrap Sampling方法創建數據集。在Bootstrap Sampling中,每個生成的訓練集由來自原始數據集的隨機子樣本組成。這些訓練集中的每一個與原始數據集大小相同,但有些記錄會重複多次,有些記錄根本不會出現。然後,整個原始數據集被用作測試集。因此,如果原始數據集的大小為N,那麼每個生成的訓練集的大小也是N,測試集的大小也是N。

裝袋的第二步是在不同的生成的訓練集上使用相同的算法創建多個模型。在這種情況下,讓我們討論隨機森林。與決策樹不同的是,每個節點被分割成最小化誤差的最佳特徵,在隨機森林中,我們選擇隨機選擇的特徵來構建最佳分割。在每個分割點處要搜索的特徵的數量被指定為隨機森林算法的參數。

因此,在用隨機森林裝袋時,每棵樹都是使用記錄的隨機樣本構建的,每個分叉是使用預測變量的隨機樣本構建的。

10. Boosting with AdaBoost

套袋(Bagging)是一個平行的集合,因為每個模型都是獨立建立的。另一方面,boosting是一個連續的集合,每個模型的建立是基於糾正前一個模型的錯誤分類。

Adaboost代表Adaptive Boosting。

機器學習初學者必須知道的十大算法

圖9

在圖9中,步驟1,2,3涉及一個稱為決策殘缺的弱學習者(一個1級決策樹,僅基於1個輸入特徵的值進行預測)。步驟4結合了以前模型的3個決策樹(在決策樹中有3個分裂規則)。

步驟1:從1個決策樹開始,對1個輸入變量做出決定:

數據點的大小表明我們已經應用相同的權重將它們分類為一個圓或三角形。決策樹在上半部分產生了一條水平線來分類這些點。我們可以看到有2個圓圈錯誤地預測為三角形。因此,我們將為這兩個圈子分配更高的權重,並應用另一個決策樹樁。

步驟2:移動到另一個決策樹,以決定另一個輸入變量:

我們觀察到,上一步的兩個錯誤分類圈的大小大於其餘點。現在第二個決策樹會試圖正確預測這兩個圓。

步驟3:訓練另一個決策樹來決定另一個輸入變量。

來自上一步的3個錯誤分類圈大於其餘的數據點。現在,已經生成了一條垂直線,用於分類圓和三角形。

步驟4:合併決策樹:

我們已經結合了以前3個模型中的分隔符,並觀察到這個模型中的複雜規則與任何一個單獨的弱學習者相比,正確地分類了數據點。

作者信息

Dr. Jason Brownlee 是一名機器學習從業者,學術研究人員,致力於幫助開發人員從入門到精通機器學習。

本文由北郵愛可可-愛生活老師推薦,阿里云云棲社區組織翻譯。

文章原標題《top-10-machine-learning-algorithms-beginners》

作者:Reena Shaw 譯者:虎說八道

相關推薦

推薦中...