'新手必看的Top10個機器學習算法(這些都學會了你就是老手了)'

"
作者:James Le編譯:ronghuaiyang

導讀

總共有多少機器學習的模型?不知道,沒人統計過,如果加上各種變體的話,那就更加多了去了。想到這個,你頭大不大?那是不是所有都要去學,都要去了解呢?當然不是,不過,下面的這10個算法,如果你是新手的話,一定要去好好學學,搞懂了這些,其他的就是舉一反三的事情了。

在機器學習中,有一個叫做“沒有免費午餐”的定理。簡而言之,它指出,沒有一種算法對每一個問題都是最有效的,它尤其適用於監督學習(即預測建模)。

例如,你不能說神經網絡總是比決策樹好,反之亦然。有很多因素在起作用,比如數據集的大小和結構。

因此,你應該針對你的問題嘗試許多不同的算法,同時使用一組保留的“測試集”數據來評估性能並選擇獲勝者。

當然,你嘗試的算法必須適合你的問題,這就是選擇正確的機器學習任務的原因。打個比方,如果你需要打掃房子,你可以用吸塵器、掃帚或拖把,但你不會拿出鐵鍬開始挖。


大的原則

然而,所有用於預測建模的監督機器學習算法都有一個共同的原則。

機器學習算法被描述為學習一個目標函數(f),該目標函數將輸入變量(X)映射到輸出變量(Y): Y = f(X)

這是一個一般的學習任務,我們想在給定輸入變量(X)的新樣本下對未來的(Y)進行預測,我們不知道函數(f)是什麼樣子或它的形式,因為如果我們知道的話,我們就直接使用它就完了,我們就不需要使用機器學習算法從數據中學習它了。

最常見的機器學習類型是學習映射Y = f(X),對新的X做出Y的預測,這被稱為預測建模或預測分析,我們的目標是儘可能做出最準確的預測。

對於那些渴望瞭解機器學習基礎知識的機器學習新手來說,以下是數據科學家使用的十大機器學習算法的快速介紹。

1 — 線性迴歸

線性迴歸可能是統計學和機器學習中最著名和最容易理解的算法之一。

預測建模主要關注的是最小化模型的誤差,或者儘可能做出最準確的預測,可以犧牲掉一些可解釋性。我們將從許多不同的領域借用、重用和竊取算法,包括統計學,並將它們用於這些目的。

線性迴歸的表示是一個方程,它描述了一條最適合輸入變量(x)和輸出變量(y)之間的關係的直線,通過找出稱為係數(B)的輸入變量的特定權重。


"
作者:James Le編譯:ronghuaiyang

導讀

總共有多少機器學習的模型?不知道,沒人統計過,如果加上各種變體的話,那就更加多了去了。想到這個,你頭大不大?那是不是所有都要去學,都要去了解呢?當然不是,不過,下面的這10個算法,如果你是新手的話,一定要去好好學學,搞懂了這些,其他的就是舉一反三的事情了。

在機器學習中,有一個叫做“沒有免費午餐”的定理。簡而言之,它指出,沒有一種算法對每一個問題都是最有效的,它尤其適用於監督學習(即預測建模)。

例如,你不能說神經網絡總是比決策樹好,反之亦然。有很多因素在起作用,比如數據集的大小和結構。

因此,你應該針對你的問題嘗試許多不同的算法,同時使用一組保留的“測試集”數據來評估性能並選擇獲勝者。

當然,你嘗試的算法必須適合你的問題,這就是選擇正確的機器學習任務的原因。打個比方,如果你需要打掃房子,你可以用吸塵器、掃帚或拖把,但你不會拿出鐵鍬開始挖。


大的原則

然而,所有用於預測建模的監督機器學習算法都有一個共同的原則。

機器學習算法被描述為學習一個目標函數(f),該目標函數將輸入變量(X)映射到輸出變量(Y): Y = f(X)

這是一個一般的學習任務,我們想在給定輸入變量(X)的新樣本下對未來的(Y)進行預測,我們不知道函數(f)是什麼樣子或它的形式,因為如果我們知道的話,我們就直接使用它就完了,我們就不需要使用機器學習算法從數據中學習它了。

最常見的機器學習類型是學習映射Y = f(X),對新的X做出Y的預測,這被稱為預測建模或預測分析,我們的目標是儘可能做出最準確的預測。

對於那些渴望瞭解機器學習基礎知識的機器學習新手來說,以下是數據科學家使用的十大機器學習算法的快速介紹。

1 — 線性迴歸

線性迴歸可能是統計學和機器學習中最著名和最容易理解的算法之一。

預測建模主要關注的是最小化模型的誤差,或者儘可能做出最準確的預測,可以犧牲掉一些可解釋性。我們將從許多不同的領域借用、重用和竊取算法,包括統計學,並將它們用於這些目的。

線性迴歸的表示是一個方程,它描述了一條最適合輸入變量(x)和輸出變量(y)之間的關係的直線,通過找出稱為係數(B)的輸入變量的特定權重。


新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

線性迴歸

例如: y = B0 + B1 * x

我們要在給定輸入x的情況下預測y,線性迴歸學習算法的目標是找到係數B0和B1的值。

從數據中學習線性迴歸模型可以採用不同的技術,如普通最小二乘的線性代數解和梯度下降優化。

線性迴歸已有200多年的歷史,並得到了廣泛的研究。使用這種技術時,一些好的經驗法則是刪除非常相似(相關)的變量,如果可能的話,從數據中刪除噪聲。這是一種快速、簡單的技術,也是一種很好的首先嚐試的算法。

2 — 邏輯迴歸

邏輯迴歸是機器學習從統計學領域借用的另一種技術。它是二元分類問題(具有兩個類值的問題)的首選方法。

邏輯迴歸與線性迴歸相似,其目標是找到每個輸入變量權重係數的值。與線性迴歸不同,輸出的預測是使用一個稱為logistic函數的非線性函數進行轉換的。

logistic函數看起來像一個大S,它將把任何值轉換成0到1的範圍。這很有用,因為我們可以對logistic函數的輸出應用一個規則,將值限制到到0和1(例如,如果小於0.5,則輸出1)並預測一個類值。

"
作者:James Le編譯:ronghuaiyang

導讀

總共有多少機器學習的模型?不知道,沒人統計過,如果加上各種變體的話,那就更加多了去了。想到這個,你頭大不大?那是不是所有都要去學,都要去了解呢?當然不是,不過,下面的這10個算法,如果你是新手的話,一定要去好好學學,搞懂了這些,其他的就是舉一反三的事情了。

在機器學習中,有一個叫做“沒有免費午餐”的定理。簡而言之,它指出,沒有一種算法對每一個問題都是最有效的,它尤其適用於監督學習(即預測建模)。

例如,你不能說神經網絡總是比決策樹好,反之亦然。有很多因素在起作用,比如數據集的大小和結構。

因此,你應該針對你的問題嘗試許多不同的算法,同時使用一組保留的“測試集”數據來評估性能並選擇獲勝者。

當然,你嘗試的算法必須適合你的問題,這就是選擇正確的機器學習任務的原因。打個比方,如果你需要打掃房子,你可以用吸塵器、掃帚或拖把,但你不會拿出鐵鍬開始挖。


大的原則

然而,所有用於預測建模的監督機器學習算法都有一個共同的原則。

機器學習算法被描述為學習一個目標函數(f),該目標函數將輸入變量(X)映射到輸出變量(Y): Y = f(X)

這是一個一般的學習任務,我們想在給定輸入變量(X)的新樣本下對未來的(Y)進行預測,我們不知道函數(f)是什麼樣子或它的形式,因為如果我們知道的話,我們就直接使用它就完了,我們就不需要使用機器學習算法從數據中學習它了。

最常見的機器學習類型是學習映射Y = f(X),對新的X做出Y的預測,這被稱為預測建模或預測分析,我們的目標是儘可能做出最準確的預測。

對於那些渴望瞭解機器學習基礎知識的機器學習新手來說,以下是數據科學家使用的十大機器學習算法的快速介紹。

1 — 線性迴歸

線性迴歸可能是統計學和機器學習中最著名和最容易理解的算法之一。

預測建模主要關注的是最小化模型的誤差,或者儘可能做出最準確的預測,可以犧牲掉一些可解釋性。我們將從許多不同的領域借用、重用和竊取算法,包括統計學,並將它們用於這些目的。

線性迴歸的表示是一個方程,它描述了一條最適合輸入變量(x)和輸出變量(y)之間的關係的直線,通過找出稱為係數(B)的輸入變量的特定權重。


新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

線性迴歸

例如: y = B0 + B1 * x

我們要在給定輸入x的情況下預測y,線性迴歸學習算法的目標是找到係數B0和B1的值。

從數據中學習線性迴歸模型可以採用不同的技術,如普通最小二乘的線性代數解和梯度下降優化。

線性迴歸已有200多年的歷史,並得到了廣泛的研究。使用這種技術時,一些好的經驗法則是刪除非常相似(相關)的變量,如果可能的話,從數據中刪除噪聲。這是一種快速、簡單的技術,也是一種很好的首先嚐試的算法。

2 — 邏輯迴歸

邏輯迴歸是機器學習從統計學領域借用的另一種技術。它是二元分類問題(具有兩個類值的問題)的首選方法。

邏輯迴歸與線性迴歸相似,其目標是找到每個輸入變量權重係數的值。與線性迴歸不同,輸出的預測是使用一個稱為logistic函數的非線性函數進行轉換的。

logistic函數看起來像一個大S,它將把任何值轉換成0到1的範圍。這很有用,因為我們可以對logistic函數的輸出應用一個規則,將值限制到到0和1(例如,如果小於0.5,則輸出1)並預測一個類值。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

邏輯迴歸

由於模型的學習方式,通過邏輯迴歸所做的預測也可以用作給定數據實例屬於類0或類1的概率。這對於需要為預測提供更多解釋的問題非常有用。

與線性迴歸一樣,當你刪除與輸出變量無關的屬性以及彼此非常相似(相關)的屬性時,邏輯迴歸的效果更好。它是一種快速學習和有效解決二元分類問題的模型。

3 — 線性判別分析

邏輯迴歸是一種傳統上僅限於兩類分類問題的分類算法。如果你有兩個以上的類,那麼線性判別分析算法是首選的線性分類技術。

LDA的表示非常直接,它由數據的統計屬性組成,每個類都會計算。對於單個輸入變量,包括:

  1. 每個類的平均值。
  2. 所有類計算的方差。
"
作者:James Le編譯:ronghuaiyang

導讀

總共有多少機器學習的模型?不知道,沒人統計過,如果加上各種變體的話,那就更加多了去了。想到這個,你頭大不大?那是不是所有都要去學,都要去了解呢?當然不是,不過,下面的這10個算法,如果你是新手的話,一定要去好好學學,搞懂了這些,其他的就是舉一反三的事情了。

在機器學習中,有一個叫做“沒有免費午餐”的定理。簡而言之,它指出,沒有一種算法對每一個問題都是最有效的,它尤其適用於監督學習(即預測建模)。

例如,你不能說神經網絡總是比決策樹好,反之亦然。有很多因素在起作用,比如數據集的大小和結構。

因此,你應該針對你的問題嘗試許多不同的算法,同時使用一組保留的“測試集”數據來評估性能並選擇獲勝者。

當然,你嘗試的算法必須適合你的問題,這就是選擇正確的機器學習任務的原因。打個比方,如果你需要打掃房子,你可以用吸塵器、掃帚或拖把,但你不會拿出鐵鍬開始挖。


大的原則

然而,所有用於預測建模的監督機器學習算法都有一個共同的原則。

機器學習算法被描述為學習一個目標函數(f),該目標函數將輸入變量(X)映射到輸出變量(Y): Y = f(X)

這是一個一般的學習任務,我們想在給定輸入變量(X)的新樣本下對未來的(Y)進行預測,我們不知道函數(f)是什麼樣子或它的形式,因為如果我們知道的話,我們就直接使用它就完了,我們就不需要使用機器學習算法從數據中學習它了。

最常見的機器學習類型是學習映射Y = f(X),對新的X做出Y的預測,這被稱為預測建模或預測分析,我們的目標是儘可能做出最準確的預測。

對於那些渴望瞭解機器學習基礎知識的機器學習新手來說,以下是數據科學家使用的十大機器學習算法的快速介紹。

1 — 線性迴歸

線性迴歸可能是統計學和機器學習中最著名和最容易理解的算法之一。

預測建模主要關注的是最小化模型的誤差,或者儘可能做出最準確的預測,可以犧牲掉一些可解釋性。我們將從許多不同的領域借用、重用和竊取算法,包括統計學,並將它們用於這些目的。

線性迴歸的表示是一個方程,它描述了一條最適合輸入變量(x)和輸出變量(y)之間的關係的直線,通過找出稱為係數(B)的輸入變量的特定權重。


新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

線性迴歸

例如: y = B0 + B1 * x

我們要在給定輸入x的情況下預測y,線性迴歸學習算法的目標是找到係數B0和B1的值。

從數據中學習線性迴歸模型可以採用不同的技術,如普通最小二乘的線性代數解和梯度下降優化。

線性迴歸已有200多年的歷史,並得到了廣泛的研究。使用這種技術時,一些好的經驗法則是刪除非常相似(相關)的變量,如果可能的話,從數據中刪除噪聲。這是一種快速、簡單的技術,也是一種很好的首先嚐試的算法。

2 — 邏輯迴歸

邏輯迴歸是機器學習從統計學領域借用的另一種技術。它是二元分類問題(具有兩個類值的問題)的首選方法。

邏輯迴歸與線性迴歸相似,其目標是找到每個輸入變量權重係數的值。與線性迴歸不同,輸出的預測是使用一個稱為logistic函數的非線性函數進行轉換的。

logistic函數看起來像一個大S,它將把任何值轉換成0到1的範圍。這很有用,因為我們可以對logistic函數的輸出應用一個規則,將值限制到到0和1(例如,如果小於0.5,則輸出1)並預測一個類值。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

邏輯迴歸

由於模型的學習方式,通過邏輯迴歸所做的預測也可以用作給定數據實例屬於類0或類1的概率。這對於需要為預測提供更多解釋的問題非常有用。

與線性迴歸一樣,當你刪除與輸出變量無關的屬性以及彼此非常相似(相關)的屬性時,邏輯迴歸的效果更好。它是一種快速學習和有效解決二元分類問題的模型。

3 — 線性判別分析

邏輯迴歸是一種傳統上僅限於兩類分類問題的分類算法。如果你有兩個以上的類,那麼線性判別分析算法是首選的線性分類技術。

LDA的表示非常直接,它由數據的統計屬性組成,每個類都會計算。對於單個輸入變量,包括:

  1. 每個類的平均值。
  2. 所有類計算的方差。
新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

線性判別分析

預測是通過計算每個類的判別值並對最大的類進行預測來實現的。該技術假定數據具有高斯分佈(鐘形曲線),因此在處理之前從數據中刪除離群值是一個好主意。它是一種簡單而強大的分類預測建模方法。

4 — 分類和迴歸樹

決策樹是預測建模的一種重要算法。

決策樹模型的表示是一個二叉樹。這就是算法和數據結構的二叉樹,沒什麼特別的。每個節點表示單個輸入變量(x)和該變量上的分叉點(假設該變量是數值型的)。

"
作者:James Le編譯:ronghuaiyang

導讀

總共有多少機器學習的模型?不知道,沒人統計過,如果加上各種變體的話,那就更加多了去了。想到這個,你頭大不大?那是不是所有都要去學,都要去了解呢?當然不是,不過,下面的這10個算法,如果你是新手的話,一定要去好好學學,搞懂了這些,其他的就是舉一反三的事情了。

在機器學習中,有一個叫做“沒有免費午餐”的定理。簡而言之,它指出,沒有一種算法對每一個問題都是最有效的,它尤其適用於監督學習(即預測建模)。

例如,你不能說神經網絡總是比決策樹好,反之亦然。有很多因素在起作用,比如數據集的大小和結構。

因此,你應該針對你的問題嘗試許多不同的算法,同時使用一組保留的“測試集”數據來評估性能並選擇獲勝者。

當然,你嘗試的算法必須適合你的問題,這就是選擇正確的機器學習任務的原因。打個比方,如果你需要打掃房子,你可以用吸塵器、掃帚或拖把,但你不會拿出鐵鍬開始挖。


大的原則

然而,所有用於預測建模的監督機器學習算法都有一個共同的原則。

機器學習算法被描述為學習一個目標函數(f),該目標函數將輸入變量(X)映射到輸出變量(Y): Y = f(X)

這是一個一般的學習任務,我們想在給定輸入變量(X)的新樣本下對未來的(Y)進行預測,我們不知道函數(f)是什麼樣子或它的形式,因為如果我們知道的話,我們就直接使用它就完了,我們就不需要使用機器學習算法從數據中學習它了。

最常見的機器學習類型是學習映射Y = f(X),對新的X做出Y的預測,這被稱為預測建模或預測分析,我們的目標是儘可能做出最準確的預測。

對於那些渴望瞭解機器學習基礎知識的機器學習新手來說,以下是數據科學家使用的十大機器學習算法的快速介紹。

1 — 線性迴歸

線性迴歸可能是統計學和機器學習中最著名和最容易理解的算法之一。

預測建模主要關注的是最小化模型的誤差,或者儘可能做出最準確的預測,可以犧牲掉一些可解釋性。我們將從許多不同的領域借用、重用和竊取算法,包括統計學,並將它們用於這些目的。

線性迴歸的表示是一個方程,它描述了一條最適合輸入變量(x)和輸出變量(y)之間的關係的直線,通過找出稱為係數(B)的輸入變量的特定權重。


新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

線性迴歸

例如: y = B0 + B1 * x

我們要在給定輸入x的情況下預測y,線性迴歸學習算法的目標是找到係數B0和B1的值。

從數據中學習線性迴歸模型可以採用不同的技術,如普通最小二乘的線性代數解和梯度下降優化。

線性迴歸已有200多年的歷史,並得到了廣泛的研究。使用這種技術時,一些好的經驗法則是刪除非常相似(相關)的變量,如果可能的話,從數據中刪除噪聲。這是一種快速、簡單的技術,也是一種很好的首先嚐試的算法。

2 — 邏輯迴歸

邏輯迴歸是機器學習從統計學領域借用的另一種技術。它是二元分類問題(具有兩個類值的問題)的首選方法。

邏輯迴歸與線性迴歸相似,其目標是找到每個輸入變量權重係數的值。與線性迴歸不同,輸出的預測是使用一個稱為logistic函數的非線性函數進行轉換的。

logistic函數看起來像一個大S,它將把任何值轉換成0到1的範圍。這很有用,因為我們可以對logistic函數的輸出應用一個規則,將值限制到到0和1(例如,如果小於0.5,則輸出1)並預測一個類值。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

邏輯迴歸

由於模型的學習方式,通過邏輯迴歸所做的預測也可以用作給定數據實例屬於類0或類1的概率。這對於需要為預測提供更多解釋的問題非常有用。

與線性迴歸一樣,當你刪除與輸出變量無關的屬性以及彼此非常相似(相關)的屬性時,邏輯迴歸的效果更好。它是一種快速學習和有效解決二元分類問題的模型。

3 — 線性判別分析

邏輯迴歸是一種傳統上僅限於兩類分類問題的分類算法。如果你有兩個以上的類,那麼線性判別分析算法是首選的線性分類技術。

LDA的表示非常直接,它由數據的統計屬性組成,每個類都會計算。對於單個輸入變量,包括:

  1. 每個類的平均值。
  2. 所有類計算的方差。
新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

線性判別分析

預測是通過計算每個類的判別值並對最大的類進行預測來實現的。該技術假定數據具有高斯分佈(鐘形曲線),因此在處理之前從數據中刪除離群值是一個好主意。它是一種簡單而強大的分類預測建模方法。

4 — 分類和迴歸樹

決策樹是預測建模的一種重要算法。

決策樹模型的表示是一個二叉樹。這就是算法和數據結構的二叉樹,沒什麼特別的。每個節點表示單個輸入變量(x)和該變量上的分叉點(假設該變量是數值型的)。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

決策樹

樹的葉節點包含一個用於進行預測的輸出變量(y)。預測是通過遍歷樹的分割直到到達葉節點並在該葉節點輸出類值來完成的。

樹學起來很快,預測起來也很快。它們通常也適用於各種各樣的問題,不需要為數據做任何特別的準備。

5 —樸素貝葉斯

樸素貝葉斯算法是一種簡單但功能驚人的預測建模算法。

該模型由兩種概率組成,可以直接從訓練數據中計算出來:1)每個類的概率;2)給定每個x值的每個類的條件概率。概率模型一旦計算出來,就可以利用貝葉斯定理對新數據進行預測。當你的數據是實數時,通常會假設是高斯分佈(鐘形曲線),這樣你就可以很容易地估計這些概率。

"
作者:James Le編譯:ronghuaiyang

導讀

總共有多少機器學習的模型?不知道,沒人統計過,如果加上各種變體的話,那就更加多了去了。想到這個,你頭大不大?那是不是所有都要去學,都要去了解呢?當然不是,不過,下面的這10個算法,如果你是新手的話,一定要去好好學學,搞懂了這些,其他的就是舉一反三的事情了。

在機器學習中,有一個叫做“沒有免費午餐”的定理。簡而言之,它指出,沒有一種算法對每一個問題都是最有效的,它尤其適用於監督學習(即預測建模)。

例如,你不能說神經網絡總是比決策樹好,反之亦然。有很多因素在起作用,比如數據集的大小和結構。

因此,你應該針對你的問題嘗試許多不同的算法,同時使用一組保留的“測試集”數據來評估性能並選擇獲勝者。

當然,你嘗試的算法必須適合你的問題,這就是選擇正確的機器學習任務的原因。打個比方,如果你需要打掃房子,你可以用吸塵器、掃帚或拖把,但你不會拿出鐵鍬開始挖。


大的原則

然而,所有用於預測建模的監督機器學習算法都有一個共同的原則。

機器學習算法被描述為學習一個目標函數(f),該目標函數將輸入變量(X)映射到輸出變量(Y): Y = f(X)

這是一個一般的學習任務,我們想在給定輸入變量(X)的新樣本下對未來的(Y)進行預測,我們不知道函數(f)是什麼樣子或它的形式,因為如果我們知道的話,我們就直接使用它就完了,我們就不需要使用機器學習算法從數據中學習它了。

最常見的機器學習類型是學習映射Y = f(X),對新的X做出Y的預測,這被稱為預測建模或預測分析,我們的目標是儘可能做出最準確的預測。

對於那些渴望瞭解機器學習基礎知識的機器學習新手來說,以下是數據科學家使用的十大機器學習算法的快速介紹。

1 — 線性迴歸

線性迴歸可能是統計學和機器學習中最著名和最容易理解的算法之一。

預測建模主要關注的是最小化模型的誤差,或者儘可能做出最準確的預測,可以犧牲掉一些可解釋性。我們將從許多不同的領域借用、重用和竊取算法,包括統計學,並將它們用於這些目的。

線性迴歸的表示是一個方程,它描述了一條最適合輸入變量(x)和輸出變量(y)之間的關係的直線,通過找出稱為係數(B)的輸入變量的特定權重。


新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

線性迴歸

例如: y = B0 + B1 * x

我們要在給定輸入x的情況下預測y,線性迴歸學習算法的目標是找到係數B0和B1的值。

從數據中學習線性迴歸模型可以採用不同的技術,如普通最小二乘的線性代數解和梯度下降優化。

線性迴歸已有200多年的歷史,並得到了廣泛的研究。使用這種技術時,一些好的經驗法則是刪除非常相似(相關)的變量,如果可能的話,從數據中刪除噪聲。這是一種快速、簡單的技術,也是一種很好的首先嚐試的算法。

2 — 邏輯迴歸

邏輯迴歸是機器學習從統計學領域借用的另一種技術。它是二元分類問題(具有兩個類值的問題)的首選方法。

邏輯迴歸與線性迴歸相似,其目標是找到每個輸入變量權重係數的值。與線性迴歸不同,輸出的預測是使用一個稱為logistic函數的非線性函數進行轉換的。

logistic函數看起來像一個大S,它將把任何值轉換成0到1的範圍。這很有用,因為我們可以對logistic函數的輸出應用一個規則,將值限制到到0和1(例如,如果小於0.5,則輸出1)並預測一個類值。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

邏輯迴歸

由於模型的學習方式,通過邏輯迴歸所做的預測也可以用作給定數據實例屬於類0或類1的概率。這對於需要為預測提供更多解釋的問題非常有用。

與線性迴歸一樣,當你刪除與輸出變量無關的屬性以及彼此非常相似(相關)的屬性時,邏輯迴歸的效果更好。它是一種快速學習和有效解決二元分類問題的模型。

3 — 線性判別分析

邏輯迴歸是一種傳統上僅限於兩類分類問題的分類算法。如果你有兩個以上的類,那麼線性判別分析算法是首選的線性分類技術。

LDA的表示非常直接,它由數據的統計屬性組成,每個類都會計算。對於單個輸入變量,包括:

  1. 每個類的平均值。
  2. 所有類計算的方差。
新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

線性判別分析

預測是通過計算每個類的判別值並對最大的類進行預測來實現的。該技術假定數據具有高斯分佈(鐘形曲線),因此在處理之前從數據中刪除離群值是一個好主意。它是一種簡單而強大的分類預測建模方法。

4 — 分類和迴歸樹

決策樹是預測建模的一種重要算法。

決策樹模型的表示是一個二叉樹。這就是算法和數據結構的二叉樹,沒什麼特別的。每個節點表示單個輸入變量(x)和該變量上的分叉點(假設該變量是數值型的)。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

決策樹

樹的葉節點包含一個用於進行預測的輸出變量(y)。預測是通過遍歷樹的分割直到到達葉節點並在該葉節點輸出類值來完成的。

樹學起來很快,預測起來也很快。它們通常也適用於各種各樣的問題,不需要為數據做任何特別的準備。

5 —樸素貝葉斯

樸素貝葉斯算法是一種簡單但功能驚人的預測建模算法。

該模型由兩種概率組成,可以直接從訓練數據中計算出來:1)每個類的概率;2)給定每個x值的每個類的條件概率。概率模型一旦計算出來,就可以利用貝葉斯定理對新數據進行預測。當你的數據是實數時,通常會假設是高斯分佈(鐘形曲線),這樣你就可以很容易地估計這些概率。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

貝葉斯定理

樸素貝葉斯之所以被稱為樸素貝葉斯,是因為它假定每個輸入變量都是獨立的。這是一個強烈的假設,對於真實的數據來說是不現實的,然而,這項技術對於許多複雜的問題是非常有效的。

6 — K-近鄰

KNN算法非常簡單有效。KNN的模型表示是整個訓練數據集。簡單吧?

通過搜索整個訓練集中最相似的K個樣本(鄰居),並彙總K個樣本的輸出,對新的數據點進行預測。對於迴歸問題,這可能是平均輸出值,對於分類問題,這可能是多數的(或最常見的)類值。

訣竅在於如何確定數據實例之間的相似性。如果你的屬性都是相同的比例(例如,都是英寸),最簡單的方法是使用歐幾里德距離(Euclidean distance),這個數字可以根據每個輸入變量之間的差異直接計算。

"
作者:James Le編譯:ronghuaiyang

導讀

總共有多少機器學習的模型?不知道,沒人統計過,如果加上各種變體的話,那就更加多了去了。想到這個,你頭大不大?那是不是所有都要去學,都要去了解呢?當然不是,不過,下面的這10個算法,如果你是新手的話,一定要去好好學學,搞懂了這些,其他的就是舉一反三的事情了。

在機器學習中,有一個叫做“沒有免費午餐”的定理。簡而言之,它指出,沒有一種算法對每一個問題都是最有效的,它尤其適用於監督學習(即預測建模)。

例如,你不能說神經網絡總是比決策樹好,反之亦然。有很多因素在起作用,比如數據集的大小和結構。

因此,你應該針對你的問題嘗試許多不同的算法,同時使用一組保留的“測試集”數據來評估性能並選擇獲勝者。

當然,你嘗試的算法必須適合你的問題,這就是選擇正確的機器學習任務的原因。打個比方,如果你需要打掃房子,你可以用吸塵器、掃帚或拖把,但你不會拿出鐵鍬開始挖。


大的原則

然而,所有用於預測建模的監督機器學習算法都有一個共同的原則。

機器學習算法被描述為學習一個目標函數(f),該目標函數將輸入變量(X)映射到輸出變量(Y): Y = f(X)

這是一個一般的學習任務,我們想在給定輸入變量(X)的新樣本下對未來的(Y)進行預測,我們不知道函數(f)是什麼樣子或它的形式,因為如果我們知道的話,我們就直接使用它就完了,我們就不需要使用機器學習算法從數據中學習它了。

最常見的機器學習類型是學習映射Y = f(X),對新的X做出Y的預測,這被稱為預測建模或預測分析,我們的目標是儘可能做出最準確的預測。

對於那些渴望瞭解機器學習基礎知識的機器學習新手來說,以下是數據科學家使用的十大機器學習算法的快速介紹。

1 — 線性迴歸

線性迴歸可能是統計學和機器學習中最著名和最容易理解的算法之一。

預測建模主要關注的是最小化模型的誤差,或者儘可能做出最準確的預測,可以犧牲掉一些可解釋性。我們將從許多不同的領域借用、重用和竊取算法,包括統計學,並將它們用於這些目的。

線性迴歸的表示是一個方程,它描述了一條最適合輸入變量(x)和輸出變量(y)之間的關係的直線,通過找出稱為係數(B)的輸入變量的特定權重。


新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

線性迴歸

例如: y = B0 + B1 * x

我們要在給定輸入x的情況下預測y,線性迴歸學習算法的目標是找到係數B0和B1的值。

從數據中學習線性迴歸模型可以採用不同的技術,如普通最小二乘的線性代數解和梯度下降優化。

線性迴歸已有200多年的歷史,並得到了廣泛的研究。使用這種技術時,一些好的經驗法則是刪除非常相似(相關)的變量,如果可能的話,從數據中刪除噪聲。這是一種快速、簡單的技術,也是一種很好的首先嚐試的算法。

2 — 邏輯迴歸

邏輯迴歸是機器學習從統計學領域借用的另一種技術。它是二元分類問題(具有兩個類值的問題)的首選方法。

邏輯迴歸與線性迴歸相似,其目標是找到每個輸入變量權重係數的值。與線性迴歸不同,輸出的預測是使用一個稱為logistic函數的非線性函數進行轉換的。

logistic函數看起來像一個大S,它將把任何值轉換成0到1的範圍。這很有用,因為我們可以對logistic函數的輸出應用一個規則,將值限制到到0和1(例如,如果小於0.5,則輸出1)並預測一個類值。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

邏輯迴歸

由於模型的學習方式,通過邏輯迴歸所做的預測也可以用作給定數據實例屬於類0或類1的概率。這對於需要為預測提供更多解釋的問題非常有用。

與線性迴歸一樣,當你刪除與輸出變量無關的屬性以及彼此非常相似(相關)的屬性時,邏輯迴歸的效果更好。它是一種快速學習和有效解決二元分類問題的模型。

3 — 線性判別分析

邏輯迴歸是一種傳統上僅限於兩類分類問題的分類算法。如果你有兩個以上的類,那麼線性判別分析算法是首選的線性分類技術。

LDA的表示非常直接,它由數據的統計屬性組成,每個類都會計算。對於單個輸入變量,包括:

  1. 每個類的平均值。
  2. 所有類計算的方差。
新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

線性判別分析

預測是通過計算每個類的判別值並對最大的類進行預測來實現的。該技術假定數據具有高斯分佈(鐘形曲線),因此在處理之前從數據中刪除離群值是一個好主意。它是一種簡單而強大的分類預測建模方法。

4 — 分類和迴歸樹

決策樹是預測建模的一種重要算法。

決策樹模型的表示是一個二叉樹。這就是算法和數據結構的二叉樹,沒什麼特別的。每個節點表示單個輸入變量(x)和該變量上的分叉點(假設該變量是數值型的)。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

決策樹

樹的葉節點包含一個用於進行預測的輸出變量(y)。預測是通過遍歷樹的分割直到到達葉節點並在該葉節點輸出類值來完成的。

樹學起來很快,預測起來也很快。它們通常也適用於各種各樣的問題,不需要為數據做任何特別的準備。

5 —樸素貝葉斯

樸素貝葉斯算法是一種簡單但功能驚人的預測建模算法。

該模型由兩種概率組成,可以直接從訓練數據中計算出來:1)每個類的概率;2)給定每個x值的每個類的條件概率。概率模型一旦計算出來,就可以利用貝葉斯定理對新數據進行預測。當你的數據是實數時,通常會假設是高斯分佈(鐘形曲線),這樣你就可以很容易地估計這些概率。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

貝葉斯定理

樸素貝葉斯之所以被稱為樸素貝葉斯,是因為它假定每個輸入變量都是獨立的。這是一個強烈的假設,對於真實的數據來說是不現實的,然而,這項技術對於許多複雜的問題是非常有效的。

6 — K-近鄰

KNN算法非常簡單有效。KNN的模型表示是整個訓練數據集。簡單吧?

通過搜索整個訓練集中最相似的K個樣本(鄰居),並彙總K個樣本的輸出,對新的數據點進行預測。對於迴歸問題,這可能是平均輸出值,對於分類問題,這可能是多數的(或最常見的)類值。

訣竅在於如何確定數據實例之間的相似性。如果你的屬性都是相同的比例(例如,都是英寸),最簡單的方法是使用歐幾里德距離(Euclidean distance),這個數字可以根據每個輸入變量之間的差異直接計算。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

K-近鄰

KNN可能需要大量內存或空間來存儲所有數據,但只有在需要預測時才執行計算(或學習)。你還可以隨著時間的推移更新和管理你的訓練樣本,以保持預測的準確性。

KNN中的距離或靠近的概念可以分解為非常高的維度(許多輸入變量),這會對算法在問題上的性能產生負面影響。這被稱為維度詛咒。建議你只使用與預測輸出變量最相關的輸入變量。

7 — 學習向量量化

k近鄰的缺點是你需要保留整個訓練數據集。學習向量量化算法(簡稱LVQ)是一種人工神經網絡算法,它允許你選擇要掛起多少個訓練樣本,並準確地瞭解這些樣本應該是什麼樣子。

"
作者:James Le編譯:ronghuaiyang

導讀

總共有多少機器學習的模型?不知道,沒人統計過,如果加上各種變體的話,那就更加多了去了。想到這個,你頭大不大?那是不是所有都要去學,都要去了解呢?當然不是,不過,下面的這10個算法,如果你是新手的話,一定要去好好學學,搞懂了這些,其他的就是舉一反三的事情了。

在機器學習中,有一個叫做“沒有免費午餐”的定理。簡而言之,它指出,沒有一種算法對每一個問題都是最有效的,它尤其適用於監督學習(即預測建模)。

例如,你不能說神經網絡總是比決策樹好,反之亦然。有很多因素在起作用,比如數據集的大小和結構。

因此,你應該針對你的問題嘗試許多不同的算法,同時使用一組保留的“測試集”數據來評估性能並選擇獲勝者。

當然,你嘗試的算法必須適合你的問題,這就是選擇正確的機器學習任務的原因。打個比方,如果你需要打掃房子,你可以用吸塵器、掃帚或拖把,但你不會拿出鐵鍬開始挖。


大的原則

然而,所有用於預測建模的監督機器學習算法都有一個共同的原則。

機器學習算法被描述為學習一個目標函數(f),該目標函數將輸入變量(X)映射到輸出變量(Y): Y = f(X)

這是一個一般的學習任務,我們想在給定輸入變量(X)的新樣本下對未來的(Y)進行預測,我們不知道函數(f)是什麼樣子或它的形式,因為如果我們知道的話,我們就直接使用它就完了,我們就不需要使用機器學習算法從數據中學習它了。

最常見的機器學習類型是學習映射Y = f(X),對新的X做出Y的預測,這被稱為預測建模或預測分析,我們的目標是儘可能做出最準確的預測。

對於那些渴望瞭解機器學習基礎知識的機器學習新手來說,以下是數據科學家使用的十大機器學習算法的快速介紹。

1 — 線性迴歸

線性迴歸可能是統計學和機器學習中最著名和最容易理解的算法之一。

預測建模主要關注的是最小化模型的誤差,或者儘可能做出最準確的預測,可以犧牲掉一些可解釋性。我們將從許多不同的領域借用、重用和竊取算法,包括統計學,並將它們用於這些目的。

線性迴歸的表示是一個方程,它描述了一條最適合輸入變量(x)和輸出變量(y)之間的關係的直線,通過找出稱為係數(B)的輸入變量的特定權重。


新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

線性迴歸

例如: y = B0 + B1 * x

我們要在給定輸入x的情況下預測y,線性迴歸學習算法的目標是找到係數B0和B1的值。

從數據中學習線性迴歸模型可以採用不同的技術,如普通最小二乘的線性代數解和梯度下降優化。

線性迴歸已有200多年的歷史,並得到了廣泛的研究。使用這種技術時,一些好的經驗法則是刪除非常相似(相關)的變量,如果可能的話,從數據中刪除噪聲。這是一種快速、簡單的技術,也是一種很好的首先嚐試的算法。

2 — 邏輯迴歸

邏輯迴歸是機器學習從統計學領域借用的另一種技術。它是二元分類問題(具有兩個類值的問題)的首選方法。

邏輯迴歸與線性迴歸相似,其目標是找到每個輸入變量權重係數的值。與線性迴歸不同,輸出的預測是使用一個稱為logistic函數的非線性函數進行轉換的。

logistic函數看起來像一個大S,它將把任何值轉換成0到1的範圍。這很有用,因為我們可以對logistic函數的輸出應用一個規則,將值限制到到0和1(例如,如果小於0.5,則輸出1)並預測一個類值。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

邏輯迴歸

由於模型的學習方式,通過邏輯迴歸所做的預測也可以用作給定數據實例屬於類0或類1的概率。這對於需要為預測提供更多解釋的問題非常有用。

與線性迴歸一樣,當你刪除與輸出變量無關的屬性以及彼此非常相似(相關)的屬性時,邏輯迴歸的效果更好。它是一種快速學習和有效解決二元分類問題的模型。

3 — 線性判別分析

邏輯迴歸是一種傳統上僅限於兩類分類問題的分類算法。如果你有兩個以上的類,那麼線性判別分析算法是首選的線性分類技術。

LDA的表示非常直接,它由數據的統計屬性組成,每個類都會計算。對於單個輸入變量,包括:

  1. 每個類的平均值。
  2. 所有類計算的方差。
新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

線性判別分析

預測是通過計算每個類的判別值並對最大的類進行預測來實現的。該技術假定數據具有高斯分佈(鐘形曲線),因此在處理之前從數據中刪除離群值是一個好主意。它是一種簡單而強大的分類預測建模方法。

4 — 分類和迴歸樹

決策樹是預測建模的一種重要算法。

決策樹模型的表示是一個二叉樹。這就是算法和數據結構的二叉樹,沒什麼特別的。每個節點表示單個輸入變量(x)和該變量上的分叉點(假設該變量是數值型的)。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

決策樹

樹的葉節點包含一個用於進行預測的輸出變量(y)。預測是通過遍歷樹的分割直到到達葉節點並在該葉節點輸出類值來完成的。

樹學起來很快,預測起來也很快。它們通常也適用於各種各樣的問題,不需要為數據做任何特別的準備。

5 —樸素貝葉斯

樸素貝葉斯算法是一種簡單但功能驚人的預測建模算法。

該模型由兩種概率組成,可以直接從訓練數據中計算出來:1)每個類的概率;2)給定每個x值的每個類的條件概率。概率模型一旦計算出來,就可以利用貝葉斯定理對新數據進行預測。當你的數據是實數時,通常會假設是高斯分佈(鐘形曲線),這樣你就可以很容易地估計這些概率。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

貝葉斯定理

樸素貝葉斯之所以被稱為樸素貝葉斯,是因為它假定每個輸入變量都是獨立的。這是一個強烈的假設,對於真實的數據來說是不現實的,然而,這項技術對於許多複雜的問題是非常有效的。

6 — K-近鄰

KNN算法非常簡單有效。KNN的模型表示是整個訓練數據集。簡單吧?

通過搜索整個訓練集中最相似的K個樣本(鄰居),並彙總K個樣本的輸出,對新的數據點進行預測。對於迴歸問題,這可能是平均輸出值,對於分類問題,這可能是多數的(或最常見的)類值。

訣竅在於如何確定數據實例之間的相似性。如果你的屬性都是相同的比例(例如,都是英寸),最簡單的方法是使用歐幾里德距離(Euclidean distance),這個數字可以根據每個輸入變量之間的差異直接計算。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

K-近鄰

KNN可能需要大量內存或空間來存儲所有數據,但只有在需要預測時才執行計算(或學習)。你還可以隨著時間的推移更新和管理你的訓練樣本,以保持預測的準確性。

KNN中的距離或靠近的概念可以分解為非常高的維度(許多輸入變量),這會對算法在問題上的性能產生負面影響。這被稱為維度詛咒。建議你只使用與預測輸出變量最相關的輸入變量。

7 — 學習向量量化

k近鄰的缺點是你需要保留整個訓練數據集。學習向量量化算法(簡稱LVQ)是一種人工神經網絡算法,它允許你選擇要掛起多少個訓練樣本,並準確地瞭解這些樣本應該是什麼樣子。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

學習向量量化

LVQ的表示是一組碼本向量。這些在開始時是隨機選擇的,並且在學習算法的多次迭代中不斷的自適應的對數據集進行最好的總結。經過學習,碼本向量可以像k近鄰一樣進行預測。通過計算每個碼本向量與新數據之間的距離,找到最相似的鄰居(最匹配的碼本向量)。然後返回最佳匹配單元的類值或(在迴歸情況下的實數值)作為預測。如果你將數據縮放到相同的範圍,例如在0到1之間,則可以獲得最佳結果。

如果你發現KNN在數據集中提供了良好的結果,可以嘗試使用LVQ來減少存儲整個訓練數據集的內存需求。

8 — 支持向量機

支持向量機可能是最流行的機器學習算法之一。

超平面是一條分割輸入變量空間的直線。在支持向量機中,選擇超平面是為了根據類(class 0或class 1)最好地分離輸入變量空間中的點。在二維中,你可以把它想象成一條直線假設所有的輸入點都可以被這條直線完全隔開。支持向量機學習算法通過超平面找到最優的分割係數。

"
作者:James Le編譯:ronghuaiyang

導讀

總共有多少機器學習的模型?不知道,沒人統計過,如果加上各種變體的話,那就更加多了去了。想到這個,你頭大不大?那是不是所有都要去學,都要去了解呢?當然不是,不過,下面的這10個算法,如果你是新手的話,一定要去好好學學,搞懂了這些,其他的就是舉一反三的事情了。

在機器學習中,有一個叫做“沒有免費午餐”的定理。簡而言之,它指出,沒有一種算法對每一個問題都是最有效的,它尤其適用於監督學習(即預測建模)。

例如,你不能說神經網絡總是比決策樹好,反之亦然。有很多因素在起作用,比如數據集的大小和結構。

因此,你應該針對你的問題嘗試許多不同的算法,同時使用一組保留的“測試集”數據來評估性能並選擇獲勝者。

當然,你嘗試的算法必須適合你的問題,這就是選擇正確的機器學習任務的原因。打個比方,如果你需要打掃房子,你可以用吸塵器、掃帚或拖把,但你不會拿出鐵鍬開始挖。


大的原則

然而,所有用於預測建模的監督機器學習算法都有一個共同的原則。

機器學習算法被描述為學習一個目標函數(f),該目標函數將輸入變量(X)映射到輸出變量(Y): Y = f(X)

這是一個一般的學習任務,我們想在給定輸入變量(X)的新樣本下對未來的(Y)進行預測,我們不知道函數(f)是什麼樣子或它的形式,因為如果我們知道的話,我們就直接使用它就完了,我們就不需要使用機器學習算法從數據中學習它了。

最常見的機器學習類型是學習映射Y = f(X),對新的X做出Y的預測,這被稱為預測建模或預測分析,我們的目標是儘可能做出最準確的預測。

對於那些渴望瞭解機器學習基礎知識的機器學習新手來說,以下是數據科學家使用的十大機器學習算法的快速介紹。

1 — 線性迴歸

線性迴歸可能是統計學和機器學習中最著名和最容易理解的算法之一。

預測建模主要關注的是最小化模型的誤差,或者儘可能做出最準確的預測,可以犧牲掉一些可解釋性。我們將從許多不同的領域借用、重用和竊取算法,包括統計學,並將它們用於這些目的。

線性迴歸的表示是一個方程,它描述了一條最適合輸入變量(x)和輸出變量(y)之間的關係的直線,通過找出稱為係數(B)的輸入變量的特定權重。


新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

線性迴歸

例如: y = B0 + B1 * x

我們要在給定輸入x的情況下預測y,線性迴歸學習算法的目標是找到係數B0和B1的值。

從數據中學習線性迴歸模型可以採用不同的技術,如普通最小二乘的線性代數解和梯度下降優化。

線性迴歸已有200多年的歷史,並得到了廣泛的研究。使用這種技術時,一些好的經驗法則是刪除非常相似(相關)的變量,如果可能的話,從數據中刪除噪聲。這是一種快速、簡單的技術,也是一種很好的首先嚐試的算法。

2 — 邏輯迴歸

邏輯迴歸是機器學習從統計學領域借用的另一種技術。它是二元分類問題(具有兩個類值的問題)的首選方法。

邏輯迴歸與線性迴歸相似,其目標是找到每個輸入變量權重係數的值。與線性迴歸不同,輸出的預測是使用一個稱為logistic函數的非線性函數進行轉換的。

logistic函數看起來像一個大S,它將把任何值轉換成0到1的範圍。這很有用,因為我們可以對logistic函數的輸出應用一個規則,將值限制到到0和1(例如,如果小於0.5,則輸出1)並預測一個類值。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

邏輯迴歸

由於模型的學習方式,通過邏輯迴歸所做的預測也可以用作給定數據實例屬於類0或類1的概率。這對於需要為預測提供更多解釋的問題非常有用。

與線性迴歸一樣,當你刪除與輸出變量無關的屬性以及彼此非常相似(相關)的屬性時,邏輯迴歸的效果更好。它是一種快速學習和有效解決二元分類問題的模型。

3 — 線性判別分析

邏輯迴歸是一種傳統上僅限於兩類分類問題的分類算法。如果你有兩個以上的類,那麼線性判別分析算法是首選的線性分類技術。

LDA的表示非常直接,它由數據的統計屬性組成,每個類都會計算。對於單個輸入變量,包括:

  1. 每個類的平均值。
  2. 所有類計算的方差。
新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

線性判別分析

預測是通過計算每個類的判別值並對最大的類進行預測來實現的。該技術假定數據具有高斯分佈(鐘形曲線),因此在處理之前從數據中刪除離群值是一個好主意。它是一種簡單而強大的分類預測建模方法。

4 — 分類和迴歸樹

決策樹是預測建模的一種重要算法。

決策樹模型的表示是一個二叉樹。這就是算法和數據結構的二叉樹,沒什麼特別的。每個節點表示單個輸入變量(x)和該變量上的分叉點(假設該變量是數值型的)。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

決策樹

樹的葉節點包含一個用於進行預測的輸出變量(y)。預測是通過遍歷樹的分割直到到達葉節點並在該葉節點輸出類值來完成的。

樹學起來很快,預測起來也很快。它們通常也適用於各種各樣的問題,不需要為數據做任何特別的準備。

5 —樸素貝葉斯

樸素貝葉斯算法是一種簡單但功能驚人的預測建模算法。

該模型由兩種概率組成,可以直接從訓練數據中計算出來:1)每個類的概率;2)給定每個x值的每個類的條件概率。概率模型一旦計算出來,就可以利用貝葉斯定理對新數據進行預測。當你的數據是實數時,通常會假設是高斯分佈(鐘形曲線),這樣你就可以很容易地估計這些概率。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

貝葉斯定理

樸素貝葉斯之所以被稱為樸素貝葉斯,是因為它假定每個輸入變量都是獨立的。這是一個強烈的假設,對於真實的數據來說是不現實的,然而,這項技術對於許多複雜的問題是非常有效的。

6 — K-近鄰

KNN算法非常簡單有效。KNN的模型表示是整個訓練數據集。簡單吧?

通過搜索整個訓練集中最相似的K個樣本(鄰居),並彙總K個樣本的輸出,對新的數據點進行預測。對於迴歸問題,這可能是平均輸出值,對於分類問題,這可能是多數的(或最常見的)類值。

訣竅在於如何確定數據實例之間的相似性。如果你的屬性都是相同的比例(例如,都是英寸),最簡單的方法是使用歐幾里德距離(Euclidean distance),這個數字可以根據每個輸入變量之間的差異直接計算。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

K-近鄰

KNN可能需要大量內存或空間來存儲所有數據,但只有在需要預測時才執行計算(或學習)。你還可以隨著時間的推移更新和管理你的訓練樣本,以保持預測的準確性。

KNN中的距離或靠近的概念可以分解為非常高的維度(許多輸入變量),這會對算法在問題上的性能產生負面影響。這被稱為維度詛咒。建議你只使用與預測輸出變量最相關的輸入變量。

7 — 學習向量量化

k近鄰的缺點是你需要保留整個訓練數據集。學習向量量化算法(簡稱LVQ)是一種人工神經網絡算法,它允許你選擇要掛起多少個訓練樣本,並準確地瞭解這些樣本應該是什麼樣子。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

學習向量量化

LVQ的表示是一組碼本向量。這些在開始時是隨機選擇的,並且在學習算法的多次迭代中不斷的自適應的對數據集進行最好的總結。經過學習,碼本向量可以像k近鄰一樣進行預測。通過計算每個碼本向量與新數據之間的距離,找到最相似的鄰居(最匹配的碼本向量)。然後返回最佳匹配單元的類值或(在迴歸情況下的實數值)作為預測。如果你將數據縮放到相同的範圍,例如在0到1之間,則可以獲得最佳結果。

如果你發現KNN在數據集中提供了良好的結果,可以嘗試使用LVQ來減少存儲整個訓練數據集的內存需求。

8 — 支持向量機

支持向量機可能是最流行的機器學習算法之一。

超平面是一條分割輸入變量空間的直線。在支持向量機中,選擇超平面是為了根據類(class 0或class 1)最好地分離輸入變量空間中的點。在二維中,你可以把它想象成一條直線假設所有的輸入點都可以被這條直線完全隔開。支持向量機學習算法通過超平面找到最優的分割係數。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

支持向量機

超平面與最近數據點之間的距離稱為margin。能夠分隔兩個類的最佳或最優超平面是具有最大邊距的直線。只有這些點與超平面的定義和分類器的構造有關。這些點稱為支持向量。它們支持或定義超平面。在實際應用中,採用了一種優化算法,求出了使margin最大化的係數的值。

SVM可能是最強大的開箱即用分類器之一,值得一試。

9 — bagging和隨機森林

隨機森林是目前最流行、最強大的機器學習算法之一。它是一種集成機器學習算法,稱為bootstrap Aggregation或bagging。

bootstrap是一種用於從數據樣本中估計量的強大統計方法,例如平均數。對你的數據進行多次的採樣,計算均值,然後求均值的平均值,以便更好地估計真實均值。

在bagging中,使用相同的方法,但用於估計整個統計模型,最常用的是決策樹。獲取訓練數據的多個採樣,然後為每個採樣的數據集構建模型。當你需要對新數據進行預測時,每個模型都會進行預測,並對預測進行平均,以更好地估計真實的輸出值。

"
作者:James Le編譯:ronghuaiyang

導讀

總共有多少機器學習的模型?不知道,沒人統計過,如果加上各種變體的話,那就更加多了去了。想到這個,你頭大不大?那是不是所有都要去學,都要去了解呢?當然不是,不過,下面的這10個算法,如果你是新手的話,一定要去好好學學,搞懂了這些,其他的就是舉一反三的事情了。

在機器學習中,有一個叫做“沒有免費午餐”的定理。簡而言之,它指出,沒有一種算法對每一個問題都是最有效的,它尤其適用於監督學習(即預測建模)。

例如,你不能說神經網絡總是比決策樹好,反之亦然。有很多因素在起作用,比如數據集的大小和結構。

因此,你應該針對你的問題嘗試許多不同的算法,同時使用一組保留的“測試集”數據來評估性能並選擇獲勝者。

當然,你嘗試的算法必須適合你的問題,這就是選擇正確的機器學習任務的原因。打個比方,如果你需要打掃房子,你可以用吸塵器、掃帚或拖把,但你不會拿出鐵鍬開始挖。


大的原則

然而,所有用於預測建模的監督機器學習算法都有一個共同的原則。

機器學習算法被描述為學習一個目標函數(f),該目標函數將輸入變量(X)映射到輸出變量(Y): Y = f(X)

這是一個一般的學習任務,我們想在給定輸入變量(X)的新樣本下對未來的(Y)進行預測,我們不知道函數(f)是什麼樣子或它的形式,因為如果我們知道的話,我們就直接使用它就完了,我們就不需要使用機器學習算法從數據中學習它了。

最常見的機器學習類型是學習映射Y = f(X),對新的X做出Y的預測,這被稱為預測建模或預測分析,我們的目標是儘可能做出最準確的預測。

對於那些渴望瞭解機器學習基礎知識的機器學習新手來說,以下是數據科學家使用的十大機器學習算法的快速介紹。

1 — 線性迴歸

線性迴歸可能是統計學和機器學習中最著名和最容易理解的算法之一。

預測建模主要關注的是最小化模型的誤差,或者儘可能做出最準確的預測,可以犧牲掉一些可解釋性。我們將從許多不同的領域借用、重用和竊取算法,包括統計學,並將它們用於這些目的。

線性迴歸的表示是一個方程,它描述了一條最適合輸入變量(x)和輸出變量(y)之間的關係的直線,通過找出稱為係數(B)的輸入變量的特定權重。


新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

線性迴歸

例如: y = B0 + B1 * x

我們要在給定輸入x的情況下預測y,線性迴歸學習算法的目標是找到係數B0和B1的值。

從數據中學習線性迴歸模型可以採用不同的技術,如普通最小二乘的線性代數解和梯度下降優化。

線性迴歸已有200多年的歷史,並得到了廣泛的研究。使用這種技術時,一些好的經驗法則是刪除非常相似(相關)的變量,如果可能的話,從數據中刪除噪聲。這是一種快速、簡單的技術,也是一種很好的首先嚐試的算法。

2 — 邏輯迴歸

邏輯迴歸是機器學習從統計學領域借用的另一種技術。它是二元分類問題(具有兩個類值的問題)的首選方法。

邏輯迴歸與線性迴歸相似,其目標是找到每個輸入變量權重係數的值。與線性迴歸不同,輸出的預測是使用一個稱為logistic函數的非線性函數進行轉換的。

logistic函數看起來像一個大S,它將把任何值轉換成0到1的範圍。這很有用,因為我們可以對logistic函數的輸出應用一個規則,將值限制到到0和1(例如,如果小於0.5,則輸出1)並預測一個類值。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

邏輯迴歸

由於模型的學習方式,通過邏輯迴歸所做的預測也可以用作給定數據實例屬於類0或類1的概率。這對於需要為預測提供更多解釋的問題非常有用。

與線性迴歸一樣,當你刪除與輸出變量無關的屬性以及彼此非常相似(相關)的屬性時,邏輯迴歸的效果更好。它是一種快速學習和有效解決二元分類問題的模型。

3 — 線性判別分析

邏輯迴歸是一種傳統上僅限於兩類分類問題的分類算法。如果你有兩個以上的類,那麼線性判別分析算法是首選的線性分類技術。

LDA的表示非常直接,它由數據的統計屬性組成,每個類都會計算。對於單個輸入變量,包括:

  1. 每個類的平均值。
  2. 所有類計算的方差。
新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

線性判別分析

預測是通過計算每個類的判別值並對最大的類進行預測來實現的。該技術假定數據具有高斯分佈(鐘形曲線),因此在處理之前從數據中刪除離群值是一個好主意。它是一種簡單而強大的分類預測建模方法。

4 — 分類和迴歸樹

決策樹是預測建模的一種重要算法。

決策樹模型的表示是一個二叉樹。這就是算法和數據結構的二叉樹,沒什麼特別的。每個節點表示單個輸入變量(x)和該變量上的分叉點(假設該變量是數值型的)。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

決策樹

樹的葉節點包含一個用於進行預測的輸出變量(y)。預測是通過遍歷樹的分割直到到達葉節點並在該葉節點輸出類值來完成的。

樹學起來很快,預測起來也很快。它們通常也適用於各種各樣的問題,不需要為數據做任何特別的準備。

5 —樸素貝葉斯

樸素貝葉斯算法是一種簡單但功能驚人的預測建模算法。

該模型由兩種概率組成,可以直接從訓練數據中計算出來:1)每個類的概率;2)給定每個x值的每個類的條件概率。概率模型一旦計算出來,就可以利用貝葉斯定理對新數據進行預測。當你的數據是實數時,通常會假設是高斯分佈(鐘形曲線),這樣你就可以很容易地估計這些概率。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

貝葉斯定理

樸素貝葉斯之所以被稱為樸素貝葉斯,是因為它假定每個輸入變量都是獨立的。這是一個強烈的假設,對於真實的數據來說是不現實的,然而,這項技術對於許多複雜的問題是非常有效的。

6 — K-近鄰

KNN算法非常簡單有效。KNN的模型表示是整個訓練數據集。簡單吧?

通過搜索整個訓練集中最相似的K個樣本(鄰居),並彙總K個樣本的輸出,對新的數據點進行預測。對於迴歸問題,這可能是平均輸出值,對於分類問題,這可能是多數的(或最常見的)類值。

訣竅在於如何確定數據實例之間的相似性。如果你的屬性都是相同的比例(例如,都是英寸),最簡單的方法是使用歐幾里德距離(Euclidean distance),這個數字可以根據每個輸入變量之間的差異直接計算。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

K-近鄰

KNN可能需要大量內存或空間來存儲所有數據,但只有在需要預測時才執行計算(或學習)。你還可以隨著時間的推移更新和管理你的訓練樣本,以保持預測的準確性。

KNN中的距離或靠近的概念可以分解為非常高的維度(許多輸入變量),這會對算法在問題上的性能產生負面影響。這被稱為維度詛咒。建議你只使用與預測輸出變量最相關的輸入變量。

7 — 學習向量量化

k近鄰的缺點是你需要保留整個訓練數據集。學習向量量化算法(簡稱LVQ)是一種人工神經網絡算法,它允許你選擇要掛起多少個訓練樣本,並準確地瞭解這些樣本應該是什麼樣子。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

學習向量量化

LVQ的表示是一組碼本向量。這些在開始時是隨機選擇的,並且在學習算法的多次迭代中不斷的自適應的對數據集進行最好的總結。經過學習,碼本向量可以像k近鄰一樣進行預測。通過計算每個碼本向量與新數據之間的距離,找到最相似的鄰居(最匹配的碼本向量)。然後返回最佳匹配單元的類值或(在迴歸情況下的實數值)作為預測。如果你將數據縮放到相同的範圍,例如在0到1之間,則可以獲得最佳結果。

如果你發現KNN在數據集中提供了良好的結果,可以嘗試使用LVQ來減少存儲整個訓練數據集的內存需求。

8 — 支持向量機

支持向量機可能是最流行的機器學習算法之一。

超平面是一條分割輸入變量空間的直線。在支持向量機中,選擇超平面是為了根據類(class 0或class 1)最好地分離輸入變量空間中的點。在二維中,你可以把它想象成一條直線假設所有的輸入點都可以被這條直線完全隔開。支持向量機學習算法通過超平面找到最優的分割係數。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

支持向量機

超平面與最近數據點之間的距離稱為margin。能夠分隔兩個類的最佳或最優超平面是具有最大邊距的直線。只有這些點與超平面的定義和分類器的構造有關。這些點稱為支持向量。它們支持或定義超平面。在實際應用中,採用了一種優化算法,求出了使margin最大化的係數的值。

SVM可能是最強大的開箱即用分類器之一,值得一試。

9 — bagging和隨機森林

隨機森林是目前最流行、最強大的機器學習算法之一。它是一種集成機器學習算法,稱為bootstrap Aggregation或bagging。

bootstrap是一種用於從數據樣本中估計量的強大統計方法,例如平均數。對你的數據進行多次的採樣,計算均值,然後求均值的平均值,以便更好地估計真實均值。

在bagging中,使用相同的方法,但用於估計整個統計模型,最常用的是決策樹。獲取訓練數據的多個採樣,然後為每個採樣的數據集構建模型。當你需要對新數據進行預測時,每個模型都會進行預測,並對預測進行平均,以更好地估計真實的輸出值。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

隨機森林

Random forest是對這種創建決策樹的方法的一種改進,它不是選擇最優的分割點,而是通過引入隨機性來進行次優分割。

因此,為每個數據集的採樣創建的模型比其他情況下更不同,但時仍然很準確。結合他們的預測,可以更好地估計實際的輸出值。

如果你使用具有高方差的算法(如決策樹)得到了好的結果,那麼通常可以通過bagging該算法得到更好的結果。

10 —提升算法和AdaBoost

增強是一種集成技術,它試圖從一些弱分類器創建一個強分類器。通過從訓練數據構建一個模型,然後創建第二個模型,試圖糾正第一個模型中的錯誤,這樣來實現。模型不斷的被添加,直到訓練集被完美地預測或者模型的數量達到了最大。

AdaBoost是第一個真正成功的應用是二元分類的增強算法。這是理解提升算法的最佳起點。現代的提升算法都是在AdaBoost的基礎上發展起來的,最著名的是隨機梯度提升算法。

"
作者:James Le編譯:ronghuaiyang

導讀

總共有多少機器學習的模型?不知道,沒人統計過,如果加上各種變體的話,那就更加多了去了。想到這個,你頭大不大?那是不是所有都要去學,都要去了解呢?當然不是,不過,下面的這10個算法,如果你是新手的話,一定要去好好學學,搞懂了這些,其他的就是舉一反三的事情了。

在機器學習中,有一個叫做“沒有免費午餐”的定理。簡而言之,它指出,沒有一種算法對每一個問題都是最有效的,它尤其適用於監督學習(即預測建模)。

例如,你不能說神經網絡總是比決策樹好,反之亦然。有很多因素在起作用,比如數據集的大小和結構。

因此,你應該針對你的問題嘗試許多不同的算法,同時使用一組保留的“測試集”數據來評估性能並選擇獲勝者。

當然,你嘗試的算法必須適合你的問題,這就是選擇正確的機器學習任務的原因。打個比方,如果你需要打掃房子,你可以用吸塵器、掃帚或拖把,但你不會拿出鐵鍬開始挖。


大的原則

然而,所有用於預測建模的監督機器學習算法都有一個共同的原則。

機器學習算法被描述為學習一個目標函數(f),該目標函數將輸入變量(X)映射到輸出變量(Y): Y = f(X)

這是一個一般的學習任務,我們想在給定輸入變量(X)的新樣本下對未來的(Y)進行預測,我們不知道函數(f)是什麼樣子或它的形式,因為如果我們知道的話,我們就直接使用它就完了,我們就不需要使用機器學習算法從數據中學習它了。

最常見的機器學習類型是學習映射Y = f(X),對新的X做出Y的預測,這被稱為預測建模或預測分析,我們的目標是儘可能做出最準確的預測。

對於那些渴望瞭解機器學習基礎知識的機器學習新手來說,以下是數據科學家使用的十大機器學習算法的快速介紹。

1 — 線性迴歸

線性迴歸可能是統計學和機器學習中最著名和最容易理解的算法之一。

預測建模主要關注的是最小化模型的誤差,或者儘可能做出最準確的預測,可以犧牲掉一些可解釋性。我們將從許多不同的領域借用、重用和竊取算法,包括統計學,並將它們用於這些目的。

線性迴歸的表示是一個方程,它描述了一條最適合輸入變量(x)和輸出變量(y)之間的關係的直線,通過找出稱為係數(B)的輸入變量的特定權重。


新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

線性迴歸

例如: y = B0 + B1 * x

我們要在給定輸入x的情況下預測y,線性迴歸學習算法的目標是找到係數B0和B1的值。

從數據中學習線性迴歸模型可以採用不同的技術,如普通最小二乘的線性代數解和梯度下降優化。

線性迴歸已有200多年的歷史,並得到了廣泛的研究。使用這種技術時,一些好的經驗法則是刪除非常相似(相關)的變量,如果可能的話,從數據中刪除噪聲。這是一種快速、簡單的技術,也是一種很好的首先嚐試的算法。

2 — 邏輯迴歸

邏輯迴歸是機器學習從統計學領域借用的另一種技術。它是二元分類問題(具有兩個類值的問題)的首選方法。

邏輯迴歸與線性迴歸相似,其目標是找到每個輸入變量權重係數的值。與線性迴歸不同,輸出的預測是使用一個稱為logistic函數的非線性函數進行轉換的。

logistic函數看起來像一個大S,它將把任何值轉換成0到1的範圍。這很有用,因為我們可以對logistic函數的輸出應用一個規則,將值限制到到0和1(例如,如果小於0.5,則輸出1)並預測一個類值。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

邏輯迴歸

由於模型的學習方式,通過邏輯迴歸所做的預測也可以用作給定數據實例屬於類0或類1的概率。這對於需要為預測提供更多解釋的問題非常有用。

與線性迴歸一樣,當你刪除與輸出變量無關的屬性以及彼此非常相似(相關)的屬性時,邏輯迴歸的效果更好。它是一種快速學習和有效解決二元分類問題的模型。

3 — 線性判別分析

邏輯迴歸是一種傳統上僅限於兩類分類問題的分類算法。如果你有兩個以上的類,那麼線性判別分析算法是首選的線性分類技術。

LDA的表示非常直接,它由數據的統計屬性組成,每個類都會計算。對於單個輸入變量,包括:

  1. 每個類的平均值。
  2. 所有類計算的方差。
新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

線性判別分析

預測是通過計算每個類的判別值並對最大的類進行預測來實現的。該技術假定數據具有高斯分佈(鐘形曲線),因此在處理之前從數據中刪除離群值是一個好主意。它是一種簡單而強大的分類預測建模方法。

4 — 分類和迴歸樹

決策樹是預測建模的一種重要算法。

決策樹模型的表示是一個二叉樹。這就是算法和數據結構的二叉樹,沒什麼特別的。每個節點表示單個輸入變量(x)和該變量上的分叉點(假設該變量是數值型的)。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

決策樹

樹的葉節點包含一個用於進行預測的輸出變量(y)。預測是通過遍歷樹的分割直到到達葉節點並在該葉節點輸出類值來完成的。

樹學起來很快,預測起來也很快。它們通常也適用於各種各樣的問題,不需要為數據做任何特別的準備。

5 —樸素貝葉斯

樸素貝葉斯算法是一種簡單但功能驚人的預測建模算法。

該模型由兩種概率組成,可以直接從訓練數據中計算出來:1)每個類的概率;2)給定每個x值的每個類的條件概率。概率模型一旦計算出來,就可以利用貝葉斯定理對新數據進行預測。當你的數據是實數時,通常會假設是高斯分佈(鐘形曲線),這樣你就可以很容易地估計這些概率。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

貝葉斯定理

樸素貝葉斯之所以被稱為樸素貝葉斯,是因為它假定每個輸入變量都是獨立的。這是一個強烈的假設,對於真實的數據來說是不現實的,然而,這項技術對於許多複雜的問題是非常有效的。

6 — K-近鄰

KNN算法非常簡單有效。KNN的模型表示是整個訓練數據集。簡單吧?

通過搜索整個訓練集中最相似的K個樣本(鄰居),並彙總K個樣本的輸出,對新的數據點進行預測。對於迴歸問題,這可能是平均輸出值,對於分類問題,這可能是多數的(或最常見的)類值。

訣竅在於如何確定數據實例之間的相似性。如果你的屬性都是相同的比例(例如,都是英寸),最簡單的方法是使用歐幾里德距離(Euclidean distance),這個數字可以根據每個輸入變量之間的差異直接計算。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

K-近鄰

KNN可能需要大量內存或空間來存儲所有數據,但只有在需要預測時才執行計算(或學習)。你還可以隨著時間的推移更新和管理你的訓練樣本,以保持預測的準確性。

KNN中的距離或靠近的概念可以分解為非常高的維度(許多輸入變量),這會對算法在問題上的性能產生負面影響。這被稱為維度詛咒。建議你只使用與預測輸出變量最相關的輸入變量。

7 — 學習向量量化

k近鄰的缺點是你需要保留整個訓練數據集。學習向量量化算法(簡稱LVQ)是一種人工神經網絡算法,它允許你選擇要掛起多少個訓練樣本,並準確地瞭解這些樣本應該是什麼樣子。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

學習向量量化

LVQ的表示是一組碼本向量。這些在開始時是隨機選擇的,並且在學習算法的多次迭代中不斷的自適應的對數據集進行最好的總結。經過學習,碼本向量可以像k近鄰一樣進行預測。通過計算每個碼本向量與新數據之間的距離,找到最相似的鄰居(最匹配的碼本向量)。然後返回最佳匹配單元的類值或(在迴歸情況下的實數值)作為預測。如果你將數據縮放到相同的範圍,例如在0到1之間,則可以獲得最佳結果。

如果你發現KNN在數據集中提供了良好的結果,可以嘗試使用LVQ來減少存儲整個訓練數據集的內存需求。

8 — 支持向量機

支持向量機可能是最流行的機器學習算法之一。

超平面是一條分割輸入變量空間的直線。在支持向量機中,選擇超平面是為了根據類(class 0或class 1)最好地分離輸入變量空間中的點。在二維中,你可以把它想象成一條直線假設所有的輸入點都可以被這條直線完全隔開。支持向量機學習算法通過超平面找到最優的分割係數。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

支持向量機

超平面與最近數據點之間的距離稱為margin。能夠分隔兩個類的最佳或最優超平面是具有最大邊距的直線。只有這些點與超平面的定義和分類器的構造有關。這些點稱為支持向量。它們支持或定義超平面。在實際應用中,採用了一種優化算法,求出了使margin最大化的係數的值。

SVM可能是最強大的開箱即用分類器之一,值得一試。

9 — bagging和隨機森林

隨機森林是目前最流行、最強大的機器學習算法之一。它是一種集成機器學習算法,稱為bootstrap Aggregation或bagging。

bootstrap是一種用於從數據樣本中估計量的強大統計方法,例如平均數。對你的數據進行多次的採樣,計算均值,然後求均值的平均值,以便更好地估計真實均值。

在bagging中,使用相同的方法,但用於估計整個統計模型,最常用的是決策樹。獲取訓練數據的多個採樣,然後為每個採樣的數據集構建模型。當你需要對新數據進行預測時,每個模型都會進行預測,並對預測進行平均,以更好地估計真實的輸出值。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

隨機森林

Random forest是對這種創建決策樹的方法的一種改進,它不是選擇最優的分割點,而是通過引入隨機性來進行次優分割。

因此,為每個數據集的採樣創建的模型比其他情況下更不同,但時仍然很準確。結合他們的預測,可以更好地估計實際的輸出值。

如果你使用具有高方差的算法(如決策樹)得到了好的結果,那麼通常可以通過bagging該算法得到更好的結果。

10 —提升算法和AdaBoost

增強是一種集成技術,它試圖從一些弱分類器創建一個強分類器。通過從訓練數據構建一個模型,然後創建第二個模型,試圖糾正第一個模型中的錯誤,這樣來實現。模型不斷的被添加,直到訓練集被完美地預測或者模型的數量達到了最大。

AdaBoost是第一個真正成功的應用是二元分類的增強算法。這是理解提升算法的最佳起點。現代的提升算法都是在AdaBoost的基礎上發展起來的,最著名的是隨機梯度提升算法。

新手必看的Top10個機器學習算法(這些都學會了你就是老手了)

Adaboost

AdaBoost用於短決策樹。在創建第一個樹之後,用這棵樹來計算每個樣本的performance(和label之間的差別),用來衡量下一棵樹將更多的注意哪些樣本。難預測的訓練數據被賦予更多的權重,而容易預測的數據被賦予較少的權重。模型依次創建,每個模型更新訓練樣本的權重,這些樣本影響序列中下一棵樹執行的學習。所有的樹都建好之後,對新數據進行預測,每棵樹根據在訓練數據集上的performance來設定權重。

由於算法對錯誤的糾正給予瞭如此多的關注,因此重要的是要有去除離群值的乾淨數據。

劃重點,記得帶走

當面對各種各樣的機器學習算法時,初學者通常會問這樣一個問題:”我應該使用哪種算法?“這個問題的答案取決於許多因素,包括:(1)數據的規模、質量和性質;(2)可用計算時間;(三)任務的緊迫性;以及(4)如何處理數據。

在嘗試不同的算法之前,即使是經驗豐富的數據科學家也無法判斷哪種算法會表現最好。雖然還有許多其他的機器學習算法,但這些是最流行的。如果你是機器學習的新手,那麼這將是一個很好的學習起點。

英文原文:https://towardsdatascience.com/a-tour-of-the-top-10-algorithms-for-machine-learning-newbies-dde4edffae11

更多文章,請關注微信公眾號:AI公園

"

相關推薦

推薦中...