'數據科學家不可不知的10種機器學習方法'

"
"
數據科學家不可不知的10種機器學習方法

作者 | CDA數據分析師

10 machine learning methods that every data scientist should know

機器學習是研究和工業中的熱門話題,新方法一直在發展。該領域的速度和複雜性使得即使對於專家而言也難以跟上新技術 - 並且對於初學者而言可能是壓倒性的難度。

為了揭開機器學習的神祕面紗併為剛接觸核心概念的人提供學習途徑,讓我們看看十種不同的方法,包括簡單描述,可視化和每個方法的示例。

機器學習算法(也稱為模型)是表示問題上下文中的數據的數學表達式,通常是業務問題。目標是從數據到洞察。例如,如果在線零售商想要預測下一季度的銷售額,他們可能會使用機器學習算法,根據過去的銷售額和其他相關數據預測這些銷售額。類似地,風車製造商可以通過視覺監控重要設備並通過訓練識別危險裂縫的算法來提供視頻數據。

所描述的十種方法提供了一個概述 - 以及您在磨練機器學習知識和技能時可以建立的基礎:

1 迴歸

迴歸方法屬於有監督的ML類別。它們有助於基於一組先前數據預測或解釋特定數值,例如基於類似屬性的先前定價數據來預測房產的價格。

"
數據科學家不可不知的10種機器學習方法

作者 | CDA數據分析師

10 machine learning methods that every data scientist should know

機器學習是研究和工業中的熱門話題,新方法一直在發展。該領域的速度和複雜性使得即使對於專家而言也難以跟上新技術 - 並且對於初學者而言可能是壓倒性的難度。

為了揭開機器學習的神祕面紗併為剛接觸核心概念的人提供學習途徑,讓我們看看十種不同的方法,包括簡單描述,可視化和每個方法的示例。

機器學習算法(也稱為模型)是表示問題上下文中的數據的數學表達式,通常是業務問題。目標是從數據到洞察。例如,如果在線零售商想要預測下一季度的銷售額,他們可能會使用機器學習算法,根據過去的銷售額和其他相關數據預測這些銷售額。類似地,風車製造商可以通過視覺監控重要設備並通過訓練識別危險裂縫的算法來提供視頻數據。

所描述的十種方法提供了一個概述 - 以及您在磨練機器學習知識和技能時可以建立的基礎:

1 迴歸

迴歸方法屬於有監督的ML類別。它們有助於基於一組先前數據預測或解釋特定數值,例如基於類似屬性的先前定價數據來預測房產的價格。

數據科學家不可不知的10種機器學習方法

最簡單的方法是線性迴歸,其中我們使用直線的數學方程(y = m * x + b)來模擬數據集。我們通過計算線的位置和斜率來訓練具有許多數據對(x,y)的線性迴歸模型,該直線最小化所有數據點和線之間的總距離。換句話說,我們計算最接近數據中觀測值的線的斜率(m)和y截距(b)。

讓我們考慮更多線性迴歸的具體例子。我曾經使用線性迴歸來預測某些建築物的能耗(以千瓦時為單位),將建築物的年齡,樓層數,平方英尺和堵牆設備的數量彙總在一起。由於有多個輸入(年齡,平方英尺等),我使用了多變量線性迴歸。原理與簡單的一對一線性迴歸相同,但在這種情況下,我創建的“線”基於變量的數量發生在多維空間中。

下圖顯示了線性迴歸模型與建築物實際能耗的匹配程度。現在想象一下,您可以訪問建築物的特徵(年齡,平方英尺等),但您不知道能耗。在這種情況下,我們可以使用擬合線來估算特定建築物的能耗。

請注意,您還可以使用線性迴歸來估計每個因素的權重,這有助於最終預測消耗的能量。例如,一旦有了公式,就可以確定年齡,大小或身高是否最重要。

"
數據科學家不可不知的10種機器學習方法

作者 | CDA數據分析師

10 machine learning methods that every data scientist should know

機器學習是研究和工業中的熱門話題,新方法一直在發展。該領域的速度和複雜性使得即使對於專家而言也難以跟上新技術 - 並且對於初學者而言可能是壓倒性的難度。

為了揭開機器學習的神祕面紗併為剛接觸核心概念的人提供學習途徑,讓我們看看十種不同的方法,包括簡單描述,可視化和每個方法的示例。

機器學習算法(也稱為模型)是表示問題上下文中的數據的數學表達式,通常是業務問題。目標是從數據到洞察。例如,如果在線零售商想要預測下一季度的銷售額,他們可能會使用機器學習算法,根據過去的銷售額和其他相關數據預測這些銷售額。類似地,風車製造商可以通過視覺監控重要設備並通過訓練識別危險裂縫的算法來提供視頻數據。

所描述的十種方法提供了一個概述 - 以及您在磨練機器學習知識和技能時可以建立的基礎:

1 迴歸

迴歸方法屬於有監督的ML類別。它們有助於基於一組先前數據預測或解釋特定數值,例如基於類似屬性的先前定價數據來預測房產的價格。

數據科學家不可不知的10種機器學習方法

最簡單的方法是線性迴歸,其中我們使用直線的數學方程(y = m * x + b)來模擬數據集。我們通過計算線的位置和斜率來訓練具有許多數據對(x,y)的線性迴歸模型,該直線最小化所有數據點和線之間的總距離。換句話說,我們計算最接近數據中觀測值的線的斜率(m)和y截距(b)。

讓我們考慮更多線性迴歸的具體例子。我曾經使用線性迴歸來預測某些建築物的能耗(以千瓦時為單位),將建築物的年齡,樓層數,平方英尺和堵牆設備的數量彙總在一起。由於有多個輸入(年齡,平方英尺等),我使用了多變量線性迴歸。原理與簡單的一對一線性迴歸相同,但在這種情況下,我創建的“線”基於變量的數量發生在多維空間中。

下圖顯示了線性迴歸模型與建築物實際能耗的匹配程度。現在想象一下,您可以訪問建築物的特徵(年齡,平方英尺等),但您不知道能耗。在這種情況下,我們可以使用擬合線來估算特定建築物的能耗。

請注意,您還可以使用線性迴歸來估計每個因素的權重,這有助於最終預測消耗的能量。例如,一旦有了公式,就可以確定年齡,大小或身高是否最重要。

數據科學家不可不知的10種機器學習方法

▲建築能耗(kWh)的線性迴歸模型估計

迴歸技術的範圍從簡單(如線性迴歸)到複雜(如正則化線性迴歸,多項式迴歸,決策樹和隨機森林迴歸,神經網絡等)。但不要陷入困境:首先研究簡單的線性迴歸,掌握基礎,然後繼續前進。

2 分類

另一類有監督的ML,分類方法預測或解釋類值。例如,他們可以幫助預測在線客戶是否會購買產品。輸出可以是是或否:買方或非買方。但分類方法不限於兩類。例如,分類方法可以幫助評估給定圖像是否包含汽車或卡車。在這種情況下,輸出將是3個不同的值:1)圖像包含汽車,2)圖像包含卡車,或3)圖像既不包含汽車也不包含卡車。

最簡單的分類算法是邏輯迴歸 - 這使得它聽起來像一個迴歸方法,但事實並非如此。邏輯迴歸基於一個或多個輸入估計事件發生的概率。

例如,邏輯迴歸可以將學生的兩個考試分數作為輸入,以便估計學生將被錄取到特定大學的概率。因為估計是概率,所以輸出是介於0和1之間的數字,其中1表示完全確定性。對於學生,如果估計的概率大於0.5,那麼我們預測他或她將被錄取。如果估計的概率小於0.5,我們預測他或她將被拒絕。

下圖顯示了之前學生的分數以及他們是否被錄取。Logistic迴歸允許我們繪製一條代表決策邊界的線。

"
數據科學家不可不知的10種機器學習方法

作者 | CDA數據分析師

10 machine learning methods that every data scientist should know

機器學習是研究和工業中的熱門話題,新方法一直在發展。該領域的速度和複雜性使得即使對於專家而言也難以跟上新技術 - 並且對於初學者而言可能是壓倒性的難度。

為了揭開機器學習的神祕面紗併為剛接觸核心概念的人提供學習途徑,讓我們看看十種不同的方法,包括簡單描述,可視化和每個方法的示例。

機器學習算法(也稱為模型)是表示問題上下文中的數據的數學表達式,通常是業務問題。目標是從數據到洞察。例如,如果在線零售商想要預測下一季度的銷售額,他們可能會使用機器學習算法,根據過去的銷售額和其他相關數據預測這些銷售額。類似地,風車製造商可以通過視覺監控重要設備並通過訓練識別危險裂縫的算法來提供視頻數據。

所描述的十種方法提供了一個概述 - 以及您在磨練機器學習知識和技能時可以建立的基礎:

1 迴歸

迴歸方法屬於有監督的ML類別。它們有助於基於一組先前數據預測或解釋特定數值,例如基於類似屬性的先前定價數據來預測房產的價格。

數據科學家不可不知的10種機器學習方法

最簡單的方法是線性迴歸,其中我們使用直線的數學方程(y = m * x + b)來模擬數據集。我們通過計算線的位置和斜率來訓練具有許多數據對(x,y)的線性迴歸模型,該直線最小化所有數據點和線之間的總距離。換句話說,我們計算最接近數據中觀測值的線的斜率(m)和y截距(b)。

讓我們考慮更多線性迴歸的具體例子。我曾經使用線性迴歸來預測某些建築物的能耗(以千瓦時為單位),將建築物的年齡,樓層數,平方英尺和堵牆設備的數量彙總在一起。由於有多個輸入(年齡,平方英尺等),我使用了多變量線性迴歸。原理與簡單的一對一線性迴歸相同,但在這種情況下,我創建的“線”基於變量的數量發生在多維空間中。

下圖顯示了線性迴歸模型與建築物實際能耗的匹配程度。現在想象一下,您可以訪問建築物的特徵(年齡,平方英尺等),但您不知道能耗。在這種情況下,我們可以使用擬合線來估算特定建築物的能耗。

請注意,您還可以使用線性迴歸來估計每個因素的權重,這有助於最終預測消耗的能量。例如,一旦有了公式,就可以確定年齡,大小或身高是否最重要。

數據科學家不可不知的10種機器學習方法

▲建築能耗(kWh)的線性迴歸模型估計

迴歸技術的範圍從簡單(如線性迴歸)到複雜(如正則化線性迴歸,多項式迴歸,決策樹和隨機森林迴歸,神經網絡等)。但不要陷入困境:首先研究簡單的線性迴歸,掌握基礎,然後繼續前進。

2 分類

另一類有監督的ML,分類方法預測或解釋類值。例如,他們可以幫助預測在線客戶是否會購買產品。輸出可以是是或否:買方或非買方。但分類方法不限於兩類。例如,分類方法可以幫助評估給定圖像是否包含汽車或卡車。在這種情況下,輸出將是3個不同的值:1)圖像包含汽車,2)圖像包含卡車,或3)圖像既不包含汽車也不包含卡車。

最簡單的分類算法是邏輯迴歸 - 這使得它聽起來像一個迴歸方法,但事實並非如此。邏輯迴歸基於一個或多個輸入估計事件發生的概率。

例如,邏輯迴歸可以將學生的兩個考試分數作為輸入,以便估計學生將被錄取到特定大學的概率。因為估計是概率,所以輸出是介於0和1之間的數字,其中1表示完全確定性。對於學生,如果估計的概率大於0.5,那麼我們預測他或她將被錄取。如果估計的概率小於0.5,我們預測他或她將被拒絕。

下圖顯示了之前學生的分數以及他們是否被錄取。Logistic迴歸允許我們繪製一條代表決策邊界的線。

數據科學家不可不知的10種機器學習方法

▲Logistic迴歸決策邊界:是否入讀大學?

因為邏輯迴歸是最簡單的分類模型,所以它是開始分類的好地方。隨著您的進步,您可以深入研究非線性分類器,例如決策樹,隨機森林,支持向量機和神經網絡等。

3 聚類

使用聚類方法,我們進入無監督ML的類別,因為它們的目標是對具有相似特徵的觀察進行分組或聚類。聚類方法不使用輸出信息進行訓練,而是讓算法定義輸出。在聚類方法中,我們只能使用可視化來檢查解決方案的質量。

最流行的聚類方法是K-Means,其中“K”表示用戶選擇創建的聚類數。(注意,有多種技術可以選擇K的值,例如彎頭法。)

粗略地說,K-Means對數據點的作用如下:

  1. 隨機選擇數據中的K箇中心。
  2. 將每個數據點分配給最接近的隨機創建的中心。
  3. 重新計算每個群集的中心。
  4. 如果中心沒有改變(或改變很少),則該過程結束。否則,我們返回到步驟2.(如果中心繼續更改,為了防止無限循環結束,請提前設置最大迭代次數。)

下一個圖將K-Means應用於建築物的數據集。圖中的每一列都表明了每棟建築的效率。這四項測量涉及空調,插入式設備(微波爐,冰箱等),家用燃氣和加熱氣體。我們選擇K = 2進行聚類,這樣可以很容易地將其中一個聚類解釋為高效建築群,將另一個聚類解釋為低效建築群。在左側,您可以看到建築物的位置,在右側,您可以看到我們用作輸入的四個尺寸中的兩個:插入式設備和加熱氣體。

"
數據科學家不可不知的10種機器學習方法

作者 | CDA數據分析師

10 machine learning methods that every data scientist should know

機器學習是研究和工業中的熱門話題,新方法一直在發展。該領域的速度和複雜性使得即使對於專家而言也難以跟上新技術 - 並且對於初學者而言可能是壓倒性的難度。

為了揭開機器學習的神祕面紗併為剛接觸核心概念的人提供學習途徑,讓我們看看十種不同的方法,包括簡單描述,可視化和每個方法的示例。

機器學習算法(也稱為模型)是表示問題上下文中的數據的數學表達式,通常是業務問題。目標是從數據到洞察。例如,如果在線零售商想要預測下一季度的銷售額,他們可能會使用機器學習算法,根據過去的銷售額和其他相關數據預測這些銷售額。類似地,風車製造商可以通過視覺監控重要設備並通過訓練識別危險裂縫的算法來提供視頻數據。

所描述的十種方法提供了一個概述 - 以及您在磨練機器學習知識和技能時可以建立的基礎:

1 迴歸

迴歸方法屬於有監督的ML類別。它們有助於基於一組先前數據預測或解釋特定數值,例如基於類似屬性的先前定價數據來預測房產的價格。

數據科學家不可不知的10種機器學習方法

最簡單的方法是線性迴歸,其中我們使用直線的數學方程(y = m * x + b)來模擬數據集。我們通過計算線的位置和斜率來訓練具有許多數據對(x,y)的線性迴歸模型,該直線最小化所有數據點和線之間的總距離。換句話說,我們計算最接近數據中觀測值的線的斜率(m)和y截距(b)。

讓我們考慮更多線性迴歸的具體例子。我曾經使用線性迴歸來預測某些建築物的能耗(以千瓦時為單位),將建築物的年齡,樓層數,平方英尺和堵牆設備的數量彙總在一起。由於有多個輸入(年齡,平方英尺等),我使用了多變量線性迴歸。原理與簡單的一對一線性迴歸相同,但在這種情況下,我創建的“線”基於變量的數量發生在多維空間中。

下圖顯示了線性迴歸模型與建築物實際能耗的匹配程度。現在想象一下,您可以訪問建築物的特徵(年齡,平方英尺等),但您不知道能耗。在這種情況下,我們可以使用擬合線來估算特定建築物的能耗。

請注意,您還可以使用線性迴歸來估計每個因素的權重,這有助於最終預測消耗的能量。例如,一旦有了公式,就可以確定年齡,大小或身高是否最重要。

數據科學家不可不知的10種機器學習方法

▲建築能耗(kWh)的線性迴歸模型估計

迴歸技術的範圍從簡單(如線性迴歸)到複雜(如正則化線性迴歸,多項式迴歸,決策樹和隨機森林迴歸,神經網絡等)。但不要陷入困境:首先研究簡單的線性迴歸,掌握基礎,然後繼續前進。

2 分類

另一類有監督的ML,分類方法預測或解釋類值。例如,他們可以幫助預測在線客戶是否會購買產品。輸出可以是是或否:買方或非買方。但分類方法不限於兩類。例如,分類方法可以幫助評估給定圖像是否包含汽車或卡車。在這種情況下,輸出將是3個不同的值:1)圖像包含汽車,2)圖像包含卡車,或3)圖像既不包含汽車也不包含卡車。

最簡單的分類算法是邏輯迴歸 - 這使得它聽起來像一個迴歸方法,但事實並非如此。邏輯迴歸基於一個或多個輸入估計事件發生的概率。

例如,邏輯迴歸可以將學生的兩個考試分數作為輸入,以便估計學生將被錄取到特定大學的概率。因為估計是概率,所以輸出是介於0和1之間的數字,其中1表示完全確定性。對於學生,如果估計的概率大於0.5,那麼我們預測他或她將被錄取。如果估計的概率小於0.5,我們預測他或她將被拒絕。

下圖顯示了之前學生的分數以及他們是否被錄取。Logistic迴歸允許我們繪製一條代表決策邊界的線。

數據科學家不可不知的10種機器學習方法

▲Logistic迴歸決策邊界:是否入讀大學?

因為邏輯迴歸是最簡單的分類模型,所以它是開始分類的好地方。隨著您的進步,您可以深入研究非線性分類器,例如決策樹,隨機森林,支持向量機和神經網絡等。

3 聚類

使用聚類方法,我們進入無監督ML的類別,因為它們的目標是對具有相似特徵的觀察進行分組或聚類。聚類方法不使用輸出信息進行訓練,而是讓算法定義輸出。在聚類方法中,我們只能使用可視化來檢查解決方案的質量。

最流行的聚類方法是K-Means,其中“K”表示用戶選擇創建的聚類數。(注意,有多種技術可以選擇K的值,例如彎頭法。)

粗略地說,K-Means對數據點的作用如下:

  1. 隨機選擇數據中的K箇中心。
  2. 將每個數據點分配給最接近的隨機創建的中心。
  3. 重新計算每個群集的中心。
  4. 如果中心沒有改變(或改變很少),則該過程結束。否則,我們返回到步驟2.(如果中心繼續更改,為了防止無限循環結束,請提前設置最大迭代次數。)

下一個圖將K-Means應用於建築物的數據集。圖中的每一列都表明了每棟建築的效率。這四項測量涉及空調,插入式設備(微波爐,冰箱等),家用燃氣和加熱氣體。我們選擇K = 2進行聚類,這樣可以很容易地將其中一個聚類解釋為高效建築群,將另一個聚類解釋為低效建築群。在左側,您可以看到建築物的位置,在右側,您可以看到我們用作輸入的四個尺寸中的兩個:插入式設備和加熱氣體。

數據科學家不可不知的10種機器學習方法

▲將建築物聚類為高效(綠色)和低效(紅色)組。

在探索聚類時,您將遇到非常有用的算法,例如基於密度的噪聲應用空間聚類(DBSCAN),均值偏移聚類,凝聚層次聚類,使用高斯混合模型的期望最大化聚類等。

4 降維

顧名思義,我們使用降維來從數據集中刪除最不重要的信息(有時是冗餘列)。在實踐中,我經常看到包含數百甚至數千列(也稱為特徵)的數據集,因此減少總數至關重要。例如,圖像可以包含數千個像素,而不是所有像素對您的分析都很重要。或者,在製造過程中測試微芯片時,可能會對每個芯片應用數千個測量和測試,其中許多芯片提供冗餘信息。在這些情況下,您需要降維算法以使數據集易於管理。

最流行的降維方法是主成分分析(PCA),它通過找到最大化數據線性變化的新向量來減小特徵空間的維數。當數據的線性相關性很強時,PCA可以顯著減小數據的維度,而不會丟失太多信息。(事實上,您還可以衡量信息丟失的實際程度並進行相應調整。)

另一種流行的方法是t-Stochastic Neighbor Embedding(t-SNE),它可以減少非線性維數。人們通常使用t-SNE進行數據可視化,但您也可以將其用於機器學習任務,例如減少特徵空間和聚類,僅舉幾例。

下一個圖顯示了手寫數字的MNIST數據庫的分析。MNIST包含數千個從0到9的數字圖像,研究人員用它們來測試它們的聚類和分類算法。數據集的每一行是原始圖像的矢量化版本(大小28×28 = 784)和每個圖像的標籤(零,一,二,三,......,九)。請注意,我們因此將維度從784(像素)減少到2(我們的可視化中的維度)。投影到兩個維度允許我們可視化高維原始數據集。

"
數據科學家不可不知的10種機器學習方法

作者 | CDA數據分析師

10 machine learning methods that every data scientist should know

機器學習是研究和工業中的熱門話題,新方法一直在發展。該領域的速度和複雜性使得即使對於專家而言也難以跟上新技術 - 並且對於初學者而言可能是壓倒性的難度。

為了揭開機器學習的神祕面紗併為剛接觸核心概念的人提供學習途徑,讓我們看看十種不同的方法,包括簡單描述,可視化和每個方法的示例。

機器學習算法(也稱為模型)是表示問題上下文中的數據的數學表達式,通常是業務問題。目標是從數據到洞察。例如,如果在線零售商想要預測下一季度的銷售額,他們可能會使用機器學習算法,根據過去的銷售額和其他相關數據預測這些銷售額。類似地,風車製造商可以通過視覺監控重要設備並通過訓練識別危險裂縫的算法來提供視頻數據。

所描述的十種方法提供了一個概述 - 以及您在磨練機器學習知識和技能時可以建立的基礎:

1 迴歸

迴歸方法屬於有監督的ML類別。它們有助於基於一組先前數據預測或解釋特定數值,例如基於類似屬性的先前定價數據來預測房產的價格。

數據科學家不可不知的10種機器學習方法

最簡單的方法是線性迴歸,其中我們使用直線的數學方程(y = m * x + b)來模擬數據集。我們通過計算線的位置和斜率來訓練具有許多數據對(x,y)的線性迴歸模型,該直線最小化所有數據點和線之間的總距離。換句話說,我們計算最接近數據中觀測值的線的斜率(m)和y截距(b)。

讓我們考慮更多線性迴歸的具體例子。我曾經使用線性迴歸來預測某些建築物的能耗(以千瓦時為單位),將建築物的年齡,樓層數,平方英尺和堵牆設備的數量彙總在一起。由於有多個輸入(年齡,平方英尺等),我使用了多變量線性迴歸。原理與簡單的一對一線性迴歸相同,但在這種情況下,我創建的“線”基於變量的數量發生在多維空間中。

下圖顯示了線性迴歸模型與建築物實際能耗的匹配程度。現在想象一下,您可以訪問建築物的特徵(年齡,平方英尺等),但您不知道能耗。在這種情況下,我們可以使用擬合線來估算特定建築物的能耗。

請注意,您還可以使用線性迴歸來估計每個因素的權重,這有助於最終預測消耗的能量。例如,一旦有了公式,就可以確定年齡,大小或身高是否最重要。

數據科學家不可不知的10種機器學習方法

▲建築能耗(kWh)的線性迴歸模型估計

迴歸技術的範圍從簡單(如線性迴歸)到複雜(如正則化線性迴歸,多項式迴歸,決策樹和隨機森林迴歸,神經網絡等)。但不要陷入困境:首先研究簡單的線性迴歸,掌握基礎,然後繼續前進。

2 分類

另一類有監督的ML,分類方法預測或解釋類值。例如,他們可以幫助預測在線客戶是否會購買產品。輸出可以是是或否:買方或非買方。但分類方法不限於兩類。例如,分類方法可以幫助評估給定圖像是否包含汽車或卡車。在這種情況下,輸出將是3個不同的值:1)圖像包含汽車,2)圖像包含卡車,或3)圖像既不包含汽車也不包含卡車。

最簡單的分類算法是邏輯迴歸 - 這使得它聽起來像一個迴歸方法,但事實並非如此。邏輯迴歸基於一個或多個輸入估計事件發生的概率。

例如,邏輯迴歸可以將學生的兩個考試分數作為輸入,以便估計學生將被錄取到特定大學的概率。因為估計是概率,所以輸出是介於0和1之間的數字,其中1表示完全確定性。對於學生,如果估計的概率大於0.5,那麼我們預測他或她將被錄取。如果估計的概率小於0.5,我們預測他或她將被拒絕。

下圖顯示了之前學生的分數以及他們是否被錄取。Logistic迴歸允許我們繪製一條代表決策邊界的線。

數據科學家不可不知的10種機器學習方法

▲Logistic迴歸決策邊界:是否入讀大學?

因為邏輯迴歸是最簡單的分類模型,所以它是開始分類的好地方。隨著您的進步,您可以深入研究非線性分類器,例如決策樹,隨機森林,支持向量機和神經網絡等。

3 聚類

使用聚類方法,我們進入無監督ML的類別,因為它們的目標是對具有相似特徵的觀察進行分組或聚類。聚類方法不使用輸出信息進行訓練,而是讓算法定義輸出。在聚類方法中,我們只能使用可視化來檢查解決方案的質量。

最流行的聚類方法是K-Means,其中“K”表示用戶選擇創建的聚類數。(注意,有多種技術可以選擇K的值,例如彎頭法。)

粗略地說,K-Means對數據點的作用如下:

  1. 隨機選擇數據中的K箇中心。
  2. 將每個數據點分配給最接近的隨機創建的中心。
  3. 重新計算每個群集的中心。
  4. 如果中心沒有改變(或改變很少),則該過程結束。否則,我們返回到步驟2.(如果中心繼續更改,為了防止無限循環結束,請提前設置最大迭代次數。)

下一個圖將K-Means應用於建築物的數據集。圖中的每一列都表明了每棟建築的效率。這四項測量涉及空調,插入式設備(微波爐,冰箱等),家用燃氣和加熱氣體。我們選擇K = 2進行聚類,這樣可以很容易地將其中一個聚類解釋為高效建築群,將另一個聚類解釋為低效建築群。在左側,您可以看到建築物的位置,在右側,您可以看到我們用作輸入的四個尺寸中的兩個:插入式設備和加熱氣體。

數據科學家不可不知的10種機器學習方法

▲將建築物聚類為高效(綠色)和低效(紅色)組。

在探索聚類時,您將遇到非常有用的算法,例如基於密度的噪聲應用空間聚類(DBSCAN),均值偏移聚類,凝聚層次聚類,使用高斯混合模型的期望最大化聚類等。

4 降維

顧名思義,我們使用降維來從數據集中刪除最不重要的信息(有時是冗餘列)。在實踐中,我經常看到包含數百甚至數千列(也稱為特徵)的數據集,因此減少總數至關重要。例如,圖像可以包含數千個像素,而不是所有像素對您的分析都很重要。或者,在製造過程中測試微芯片時,可能會對每個芯片應用數千個測量和測試,其中許多芯片提供冗餘信息。在這些情況下,您需要降維算法以使數據集易於管理。

最流行的降維方法是主成分分析(PCA),它通過找到最大化數據線性變化的新向量來減小特徵空間的維數。當數據的線性相關性很強時,PCA可以顯著減小數據的維度,而不會丟失太多信息。(事實上,您還可以衡量信息丟失的實際程度並進行相應調整。)

另一種流行的方法是t-Stochastic Neighbor Embedding(t-SNE),它可以減少非線性維數。人們通常使用t-SNE進行數據可視化,但您也可以將其用於機器學習任務,例如減少特徵空間和聚類,僅舉幾例。

下一個圖顯示了手寫數字的MNIST數據庫的分析。MNIST包含數千個從0到9的數字圖像,研究人員用它們來測試它們的聚類和分類算法。數據集的每一行是原始圖像的矢量化版本(大小28×28 = 784)和每個圖像的標籤(零,一,二,三,......,九)。請注意,我們因此將維度從784(像素)減少到2(我們的可視化中的維度)。投影到兩個維度允許我們可視化高維原始數據集。

數據科學家不可不知的10種機器學習方法

▲MNIST手寫數字數據庫的t-SNE迭代。

5 集成算法

想象一下,你決定製造一輛自行車,因為你對商店和網上的選擇感到不滿意。您可以從找到所需的每個部件的最佳部分開始。一旦你組裝了所有這些偉大的部件,最終的自行車將超越所有其他選項。

集成使用相同的想法,結合幾個預測模型(監督ML),以獲得比每個模型本身可以提供的更高質量的預測。例如,隨機森林算法是一種集成算法,它結合了許多用不同數據集樣本訓練的決策樹。因此,隨機森林的預測質量高於使用單個決策樹估計的預測質量。

將集成算法視為減少單個機器學習模型的方差和偏差的一種方法。這很重要,因為任何給定的模型在某些條件下可能是準確的,但在其他條件下可能不準確。使用另一個模型,相對精度可能會相反。通過組合這兩個模型,可以平衡預測的質量。

Kaggle比賽的絕大多數頂級獲勝者都使用某種方式的合奏方法。最流行的集成算法是隨機森林,XGBoost和LightGBM。

6 神經網絡與深度學習

與被認為是線性模型的線性和邏輯迴歸相比,神經網絡的目標是通過向模型添加參數層來捕獲數據中的非線性模式。在下圖中,簡單神經網絡有四個輸入,一個帶有五個參數的隱藏層和一個輸出層。

"
數據科學家不可不知的10種機器學習方法

作者 | CDA數據分析師

10 machine learning methods that every data scientist should know

機器學習是研究和工業中的熱門話題,新方法一直在發展。該領域的速度和複雜性使得即使對於專家而言也難以跟上新技術 - 並且對於初學者而言可能是壓倒性的難度。

為了揭開機器學習的神祕面紗併為剛接觸核心概念的人提供學習途徑,讓我們看看十種不同的方法,包括簡單描述,可視化和每個方法的示例。

機器學習算法(也稱為模型)是表示問題上下文中的數據的數學表達式,通常是業務問題。目標是從數據到洞察。例如,如果在線零售商想要預測下一季度的銷售額,他們可能會使用機器學習算法,根據過去的銷售額和其他相關數據預測這些銷售額。類似地,風車製造商可以通過視覺監控重要設備並通過訓練識別危險裂縫的算法來提供視頻數據。

所描述的十種方法提供了一個概述 - 以及您在磨練機器學習知識和技能時可以建立的基礎:

1 迴歸

迴歸方法屬於有監督的ML類別。它們有助於基於一組先前數據預測或解釋特定數值,例如基於類似屬性的先前定價數據來預測房產的價格。

數據科學家不可不知的10種機器學習方法

最簡單的方法是線性迴歸,其中我們使用直線的數學方程(y = m * x + b)來模擬數據集。我們通過計算線的位置和斜率來訓練具有許多數據對(x,y)的線性迴歸模型,該直線最小化所有數據點和線之間的總距離。換句話說,我們計算最接近數據中觀測值的線的斜率(m)和y截距(b)。

讓我們考慮更多線性迴歸的具體例子。我曾經使用線性迴歸來預測某些建築物的能耗(以千瓦時為單位),將建築物的年齡,樓層數,平方英尺和堵牆設備的數量彙總在一起。由於有多個輸入(年齡,平方英尺等),我使用了多變量線性迴歸。原理與簡單的一對一線性迴歸相同,但在這種情況下,我創建的“線”基於變量的數量發生在多維空間中。

下圖顯示了線性迴歸模型與建築物實際能耗的匹配程度。現在想象一下,您可以訪問建築物的特徵(年齡,平方英尺等),但您不知道能耗。在這種情況下,我們可以使用擬合線來估算特定建築物的能耗。

請注意,您還可以使用線性迴歸來估計每個因素的權重,這有助於最終預測消耗的能量。例如,一旦有了公式,就可以確定年齡,大小或身高是否最重要。

數據科學家不可不知的10種機器學習方法

▲建築能耗(kWh)的線性迴歸模型估計

迴歸技術的範圍從簡單(如線性迴歸)到複雜(如正則化線性迴歸,多項式迴歸,決策樹和隨機森林迴歸,神經網絡等)。但不要陷入困境:首先研究簡單的線性迴歸,掌握基礎,然後繼續前進。

2 分類

另一類有監督的ML,分類方法預測或解釋類值。例如,他們可以幫助預測在線客戶是否會購買產品。輸出可以是是或否:買方或非買方。但分類方法不限於兩類。例如,分類方法可以幫助評估給定圖像是否包含汽車或卡車。在這種情況下,輸出將是3個不同的值:1)圖像包含汽車,2)圖像包含卡車,或3)圖像既不包含汽車也不包含卡車。

最簡單的分類算法是邏輯迴歸 - 這使得它聽起來像一個迴歸方法,但事實並非如此。邏輯迴歸基於一個或多個輸入估計事件發生的概率。

例如,邏輯迴歸可以將學生的兩個考試分數作為輸入,以便估計學生將被錄取到特定大學的概率。因為估計是概率,所以輸出是介於0和1之間的數字,其中1表示完全確定性。對於學生,如果估計的概率大於0.5,那麼我們預測他或她將被錄取。如果估計的概率小於0.5,我們預測他或她將被拒絕。

下圖顯示了之前學生的分數以及他們是否被錄取。Logistic迴歸允許我們繪製一條代表決策邊界的線。

數據科學家不可不知的10種機器學習方法

▲Logistic迴歸決策邊界:是否入讀大學?

因為邏輯迴歸是最簡單的分類模型,所以它是開始分類的好地方。隨著您的進步,您可以深入研究非線性分類器,例如決策樹,隨機森林,支持向量機和神經網絡等。

3 聚類

使用聚類方法,我們進入無監督ML的類別,因為它們的目標是對具有相似特徵的觀察進行分組或聚類。聚類方法不使用輸出信息進行訓練,而是讓算法定義輸出。在聚類方法中,我們只能使用可視化來檢查解決方案的質量。

最流行的聚類方法是K-Means,其中“K”表示用戶選擇創建的聚類數。(注意,有多種技術可以選擇K的值,例如彎頭法。)

粗略地說,K-Means對數據點的作用如下:

  1. 隨機選擇數據中的K箇中心。
  2. 將每個數據點分配給最接近的隨機創建的中心。
  3. 重新計算每個群集的中心。
  4. 如果中心沒有改變(或改變很少),則該過程結束。否則,我們返回到步驟2.(如果中心繼續更改,為了防止無限循環結束,請提前設置最大迭代次數。)

下一個圖將K-Means應用於建築物的數據集。圖中的每一列都表明了每棟建築的效率。這四項測量涉及空調,插入式設備(微波爐,冰箱等),家用燃氣和加熱氣體。我們選擇K = 2進行聚類,這樣可以很容易地將其中一個聚類解釋為高效建築群,將另一個聚類解釋為低效建築群。在左側,您可以看到建築物的位置,在右側,您可以看到我們用作輸入的四個尺寸中的兩個:插入式設備和加熱氣體。

數據科學家不可不知的10種機器學習方法

▲將建築物聚類為高效(綠色)和低效(紅色)組。

在探索聚類時,您將遇到非常有用的算法,例如基於密度的噪聲應用空間聚類(DBSCAN),均值偏移聚類,凝聚層次聚類,使用高斯混合模型的期望最大化聚類等。

4 降維

顧名思義,我們使用降維來從數據集中刪除最不重要的信息(有時是冗餘列)。在實踐中,我經常看到包含數百甚至數千列(也稱為特徵)的數據集,因此減少總數至關重要。例如,圖像可以包含數千個像素,而不是所有像素對您的分析都很重要。或者,在製造過程中測試微芯片時,可能會對每個芯片應用數千個測量和測試,其中許多芯片提供冗餘信息。在這些情況下,您需要降維算法以使數據集易於管理。

最流行的降維方法是主成分分析(PCA),它通過找到最大化數據線性變化的新向量來減小特徵空間的維數。當數據的線性相關性很強時,PCA可以顯著減小數據的維度,而不會丟失太多信息。(事實上,您還可以衡量信息丟失的實際程度並進行相應調整。)

另一種流行的方法是t-Stochastic Neighbor Embedding(t-SNE),它可以減少非線性維數。人們通常使用t-SNE進行數據可視化,但您也可以將其用於機器學習任務,例如減少特徵空間和聚類,僅舉幾例。

下一個圖顯示了手寫數字的MNIST數據庫的分析。MNIST包含數千個從0到9的數字圖像,研究人員用它們來測試它們的聚類和分類算法。數據集的每一行是原始圖像的矢量化版本(大小28×28 = 784)和每個圖像的標籤(零,一,二,三,......,九)。請注意,我們因此將維度從784(像素)減少到2(我們的可視化中的維度)。投影到兩個維度允許我們可視化高維原始數據集。

數據科學家不可不知的10種機器學習方法

▲MNIST手寫數字數據庫的t-SNE迭代。

5 集成算法

想象一下,你決定製造一輛自行車,因為你對商店和網上的選擇感到不滿意。您可以從找到所需的每個部件的最佳部分開始。一旦你組裝了所有這些偉大的部件,最終的自行車將超越所有其他選項。

集成使用相同的想法,結合幾個預測模型(監督ML),以獲得比每個模型本身可以提供的更高質量的預測。例如,隨機森林算法是一種集成算法,它結合了許多用不同數據集樣本訓練的決策樹。因此,隨機森林的預測質量高於使用單個決策樹估計的預測質量。

將集成算法視為減少單個機器學習模型的方差和偏差的一種方法。這很重要,因為任何給定的模型在某些條件下可能是準確的,但在其他條件下可能不準確。使用另一個模型,相對精度可能會相反。通過組合這兩個模型,可以平衡預測的質量。

Kaggle比賽的絕大多數頂級獲勝者都使用某種方式的合奏方法。最流行的集成算法是隨機森林,XGBoost和LightGBM。

6 神經網絡與深度學習

與被認為是線性模型的線性和邏輯迴歸相比,神經網絡的目標是通過向模型添加參數層來捕獲數據中的非線性模式。在下圖中,簡單神經網絡有四個輸入,一個帶有五個參數的隱藏層和一個輸出層。

數據科學家不可不知的10種機器學習方法

實際上,神經網絡的結構足夠靈活,可以構建我們眾所周知的線性迴歸和邏輯迴歸。術語深度學習來自具有許多隱藏層的神經網絡(見下圖),並封裝了各種各樣的體系結構。

特別難以跟上深度學習的發展,部分原因是研究和行業社區的深度學習成果翻了一番,每天產生全新的方法論。 具有一個隱藏層的神經網絡。

"
數據科學家不可不知的10種機器學習方法

作者 | CDA數據分析師

10 machine learning methods that every data scientist should know

機器學習是研究和工業中的熱門話題,新方法一直在發展。該領域的速度和複雜性使得即使對於專家而言也難以跟上新技術 - 並且對於初學者而言可能是壓倒性的難度。

為了揭開機器學習的神祕面紗併為剛接觸核心概念的人提供學習途徑,讓我們看看十種不同的方法,包括簡單描述,可視化和每個方法的示例。

機器學習算法(也稱為模型)是表示問題上下文中的數據的數學表達式,通常是業務問題。目標是從數據到洞察。例如,如果在線零售商想要預測下一季度的銷售額,他們可能會使用機器學習算法,根據過去的銷售額和其他相關數據預測這些銷售額。類似地,風車製造商可以通過視覺監控重要設備並通過訓練識別危險裂縫的算法來提供視頻數據。

所描述的十種方法提供了一個概述 - 以及您在磨練機器學習知識和技能時可以建立的基礎:

1 迴歸

迴歸方法屬於有監督的ML類別。它們有助於基於一組先前數據預測或解釋特定數值,例如基於類似屬性的先前定價數據來預測房產的價格。

數據科學家不可不知的10種機器學習方法

最簡單的方法是線性迴歸,其中我們使用直線的數學方程(y = m * x + b)來模擬數據集。我們通過計算線的位置和斜率來訓練具有許多數據對(x,y)的線性迴歸模型,該直線最小化所有數據點和線之間的總距離。換句話說,我們計算最接近數據中觀測值的線的斜率(m)和y截距(b)。

讓我們考慮更多線性迴歸的具體例子。我曾經使用線性迴歸來預測某些建築物的能耗(以千瓦時為單位),將建築物的年齡,樓層數,平方英尺和堵牆設備的數量彙總在一起。由於有多個輸入(年齡,平方英尺等),我使用了多變量線性迴歸。原理與簡單的一對一線性迴歸相同,但在這種情況下,我創建的“線”基於變量的數量發生在多維空間中。

下圖顯示了線性迴歸模型與建築物實際能耗的匹配程度。現在想象一下,您可以訪問建築物的特徵(年齡,平方英尺等),但您不知道能耗。在這種情況下,我們可以使用擬合線來估算特定建築物的能耗。

請注意,您還可以使用線性迴歸來估計每個因素的權重,這有助於最終預測消耗的能量。例如,一旦有了公式,就可以確定年齡,大小或身高是否最重要。

數據科學家不可不知的10種機器學習方法

▲建築能耗(kWh)的線性迴歸模型估計

迴歸技術的範圍從簡單(如線性迴歸)到複雜(如正則化線性迴歸,多項式迴歸,決策樹和隨機森林迴歸,神經網絡等)。但不要陷入困境:首先研究簡單的線性迴歸,掌握基礎,然後繼續前進。

2 分類

另一類有監督的ML,分類方法預測或解釋類值。例如,他們可以幫助預測在線客戶是否會購買產品。輸出可以是是或否:買方或非買方。但分類方法不限於兩類。例如,分類方法可以幫助評估給定圖像是否包含汽車或卡車。在這種情況下,輸出將是3個不同的值:1)圖像包含汽車,2)圖像包含卡車,或3)圖像既不包含汽車也不包含卡車。

最簡單的分類算法是邏輯迴歸 - 這使得它聽起來像一個迴歸方法,但事實並非如此。邏輯迴歸基於一個或多個輸入估計事件發生的概率。

例如,邏輯迴歸可以將學生的兩個考試分數作為輸入,以便估計學生將被錄取到特定大學的概率。因為估計是概率,所以輸出是介於0和1之間的數字,其中1表示完全確定性。對於學生,如果估計的概率大於0.5,那麼我們預測他或她將被錄取。如果估計的概率小於0.5,我們預測他或她將被拒絕。

下圖顯示了之前學生的分數以及他們是否被錄取。Logistic迴歸允許我們繪製一條代表決策邊界的線。

數據科學家不可不知的10種機器學習方法

▲Logistic迴歸決策邊界:是否入讀大學?

因為邏輯迴歸是最簡單的分類模型,所以它是開始分類的好地方。隨著您的進步,您可以深入研究非線性分類器,例如決策樹,隨機森林,支持向量機和神經網絡等。

3 聚類

使用聚類方法,我們進入無監督ML的類別,因為它們的目標是對具有相似特徵的觀察進行分組或聚類。聚類方法不使用輸出信息進行訓練,而是讓算法定義輸出。在聚類方法中,我們只能使用可視化來檢查解決方案的質量。

最流行的聚類方法是K-Means,其中“K”表示用戶選擇創建的聚類數。(注意,有多種技術可以選擇K的值,例如彎頭法。)

粗略地說,K-Means對數據點的作用如下:

  1. 隨機選擇數據中的K箇中心。
  2. 將每個數據點分配給最接近的隨機創建的中心。
  3. 重新計算每個群集的中心。
  4. 如果中心沒有改變(或改變很少),則該過程結束。否則,我們返回到步驟2.(如果中心繼續更改,為了防止無限循環結束,請提前設置最大迭代次數。)

下一個圖將K-Means應用於建築物的數據集。圖中的每一列都表明了每棟建築的效率。這四項測量涉及空調,插入式設備(微波爐,冰箱等),家用燃氣和加熱氣體。我們選擇K = 2進行聚類,這樣可以很容易地將其中一個聚類解釋為高效建築群,將另一個聚類解釋為低效建築群。在左側,您可以看到建築物的位置,在右側,您可以看到我們用作輸入的四個尺寸中的兩個:插入式設備和加熱氣體。

數據科學家不可不知的10種機器學習方法

▲將建築物聚類為高效(綠色)和低效(紅色)組。

在探索聚類時,您將遇到非常有用的算法,例如基於密度的噪聲應用空間聚類(DBSCAN),均值偏移聚類,凝聚層次聚類,使用高斯混合模型的期望最大化聚類等。

4 降維

顧名思義,我們使用降維來從數據集中刪除最不重要的信息(有時是冗餘列)。在實踐中,我經常看到包含數百甚至數千列(也稱為特徵)的數據集,因此減少總數至關重要。例如,圖像可以包含數千個像素,而不是所有像素對您的分析都很重要。或者,在製造過程中測試微芯片時,可能會對每個芯片應用數千個測量和測試,其中許多芯片提供冗餘信息。在這些情況下,您需要降維算法以使數據集易於管理。

最流行的降維方法是主成分分析(PCA),它通過找到最大化數據線性變化的新向量來減小特徵空間的維數。當數據的線性相關性很強時,PCA可以顯著減小數據的維度,而不會丟失太多信息。(事實上,您還可以衡量信息丟失的實際程度並進行相應調整。)

另一種流行的方法是t-Stochastic Neighbor Embedding(t-SNE),它可以減少非線性維數。人們通常使用t-SNE進行數據可視化,但您也可以將其用於機器學習任務,例如減少特徵空間和聚類,僅舉幾例。

下一個圖顯示了手寫數字的MNIST數據庫的分析。MNIST包含數千個從0到9的數字圖像,研究人員用它們來測試它們的聚類和分類算法。數據集的每一行是原始圖像的矢量化版本(大小28×28 = 784)和每個圖像的標籤(零,一,二,三,......,九)。請注意,我們因此將維度從784(像素)減少到2(我們的可視化中的維度)。投影到兩個維度允許我們可視化高維原始數據集。

數據科學家不可不知的10種機器學習方法

▲MNIST手寫數字數據庫的t-SNE迭代。

5 集成算法

想象一下,你決定製造一輛自行車,因為你對商店和網上的選擇感到不滿意。您可以從找到所需的每個部件的最佳部分開始。一旦你組裝了所有這些偉大的部件,最終的自行車將超越所有其他選項。

集成使用相同的想法,結合幾個預測模型(監督ML),以獲得比每個模型本身可以提供的更高質量的預測。例如,隨機森林算法是一種集成算法,它結合了許多用不同數據集樣本訓練的決策樹。因此,隨機森林的預測質量高於使用單個決策樹估計的預測質量。

將集成算法視為減少單個機器學習模型的方差和偏差的一種方法。這很重要,因為任何給定的模型在某些條件下可能是準確的,但在其他條件下可能不準確。使用另一個模型,相對精度可能會相反。通過組合這兩個模型,可以平衡預測的質量。

Kaggle比賽的絕大多數頂級獲勝者都使用某種方式的合奏方法。最流行的集成算法是隨機森林,XGBoost和LightGBM。

6 神經網絡與深度學習

與被認為是線性模型的線性和邏輯迴歸相比,神經網絡的目標是通過向模型添加參數層來捕獲數據中的非線性模式。在下圖中,簡單神經網絡有四個輸入,一個帶有五個參數的隱藏層和一個輸出層。

數據科學家不可不知的10種機器學習方法

實際上,神經網絡的結構足夠靈活,可以構建我們眾所周知的線性迴歸和邏輯迴歸。術語深度學習來自具有許多隱藏層的神經網絡(見下圖),並封裝了各種各樣的體系結構。

特別難以跟上深度學習的發展,部分原因是研究和行業社區的深度學習成果翻了一番,每天產生全新的方法論。 具有一個隱藏層的神經網絡。

數據科學家不可不知的10種機器學習方法

▲深度學習:具有多個隱藏層的神經網絡。

為了獲得最佳性能,深度學習技術需要大量數據 - 以及大量計算能力,因為該方法可以在大型架構中自我調整許多參數。很快就會清楚為什麼深度學習從業者需要使用GPU(圖形處理單元)增強的非常強大的計算機。

特別是,深度學習技術在視覺(圖像分類),文本,音頻和視頻領域非常成功。最常見的深度學習軟件包是Tensorflow和PyTorch。

7 遷移學習

讓我們假裝您是零售行業的數據科學家。您花了幾個月的時間訓練高質量的模型,將圖像分類為襯衫,T恤和馬球。你的新任務是建立一個類似的模型,將服裝圖像分類為牛仔褲,貨物,休閒褲和正裝褲。您是否可以將內置的知識轉移到第一個模型中並將其應用到第二個模型中?是的,您可以使用遷移學習。

轉移學習是指重新使用先前訓練的神經網絡的一部分並使其適應新的但類似的任務。具體來說,一旦您使用任務數據訓練神經網絡,您可以傳輸一小部分訓練過的圖層,並將它們與您可以使用新任務的數據訓練的幾個新圖層組合在一起。通過添加幾個層,新的神經網絡可以快速學習並適應新任務。

遷移學習的主要優點是你需要更少的數據來訓練神經網絡,這一點尤為重要,因為深度學習算法的訓練在時間和金錢(計算資源)方面都是昂貴的 - 當然,通常很難找到足夠的標記數據用於訓練。

讓我們回到我們的例子,並假設對於襯衫模型,你使用一個有20個隱藏層的神經網絡。經過一些實驗後,您意識到您可以轉移18個襯衫模型層,並將它們與一個新的參數層相結合,以訓練褲子的圖像。因此褲子模型將有19個隱藏層。兩個任務的輸入和輸出是不同的,但是可重複使用的層可以概括與兩者相關的信息,例如布料,緊固件和形狀的方面。

遷移學習變得越來越流行,現在有許多可靠的預訓練模型可用於常見的深度學習任務,如圖像和文本分類。

"
數據科學家不可不知的10種機器學習方法

作者 | CDA數據分析師

10 machine learning methods that every data scientist should know

機器學習是研究和工業中的熱門話題,新方法一直在發展。該領域的速度和複雜性使得即使對於專家而言也難以跟上新技術 - 並且對於初學者而言可能是壓倒性的難度。

為了揭開機器學習的神祕面紗併為剛接觸核心概念的人提供學習途徑,讓我們看看十種不同的方法,包括簡單描述,可視化和每個方法的示例。

機器學習算法(也稱為模型)是表示問題上下文中的數據的數學表達式,通常是業務問題。目標是從數據到洞察。例如,如果在線零售商想要預測下一季度的銷售額,他們可能會使用機器學習算法,根據過去的銷售額和其他相關數據預測這些銷售額。類似地,風車製造商可以通過視覺監控重要設備並通過訓練識別危險裂縫的算法來提供視頻數據。

所描述的十種方法提供了一個概述 - 以及您在磨練機器學習知識和技能時可以建立的基礎:

1 迴歸

迴歸方法屬於有監督的ML類別。它們有助於基於一組先前數據預測或解釋特定數值,例如基於類似屬性的先前定價數據來預測房產的價格。

數據科學家不可不知的10種機器學習方法

最簡單的方法是線性迴歸,其中我們使用直線的數學方程(y = m * x + b)來模擬數據集。我們通過計算線的位置和斜率來訓練具有許多數據對(x,y)的線性迴歸模型,該直線最小化所有數據點和線之間的總距離。換句話說,我們計算最接近數據中觀測值的線的斜率(m)和y截距(b)。

讓我們考慮更多線性迴歸的具體例子。我曾經使用線性迴歸來預測某些建築物的能耗(以千瓦時為單位),將建築物的年齡,樓層數,平方英尺和堵牆設備的數量彙總在一起。由於有多個輸入(年齡,平方英尺等),我使用了多變量線性迴歸。原理與簡單的一對一線性迴歸相同,但在這種情況下,我創建的“線”基於變量的數量發生在多維空間中。

下圖顯示了線性迴歸模型與建築物實際能耗的匹配程度。現在想象一下,您可以訪問建築物的特徵(年齡,平方英尺等),但您不知道能耗。在這種情況下,我們可以使用擬合線來估算特定建築物的能耗。

請注意,您還可以使用線性迴歸來估計每個因素的權重,這有助於最終預測消耗的能量。例如,一旦有了公式,就可以確定年齡,大小或身高是否最重要。

數據科學家不可不知的10種機器學習方法

▲建築能耗(kWh)的線性迴歸模型估計

迴歸技術的範圍從簡單(如線性迴歸)到複雜(如正則化線性迴歸,多項式迴歸,決策樹和隨機森林迴歸,神經網絡等)。但不要陷入困境:首先研究簡單的線性迴歸,掌握基礎,然後繼續前進。

2 分類

另一類有監督的ML,分類方法預測或解釋類值。例如,他們可以幫助預測在線客戶是否會購買產品。輸出可以是是或否:買方或非買方。但分類方法不限於兩類。例如,分類方法可以幫助評估給定圖像是否包含汽車或卡車。在這種情況下,輸出將是3個不同的值:1)圖像包含汽車,2)圖像包含卡車,或3)圖像既不包含汽車也不包含卡車。

最簡單的分類算法是邏輯迴歸 - 這使得它聽起來像一個迴歸方法,但事實並非如此。邏輯迴歸基於一個或多個輸入估計事件發生的概率。

例如,邏輯迴歸可以將學生的兩個考試分數作為輸入,以便估計學生將被錄取到特定大學的概率。因為估計是概率,所以輸出是介於0和1之間的數字,其中1表示完全確定性。對於學生,如果估計的概率大於0.5,那麼我們預測他或她將被錄取。如果估計的概率小於0.5,我們預測他或她將被拒絕。

下圖顯示了之前學生的分數以及他們是否被錄取。Logistic迴歸允許我們繪製一條代表決策邊界的線。

數據科學家不可不知的10種機器學習方法

▲Logistic迴歸決策邊界:是否入讀大學?

因為邏輯迴歸是最簡單的分類模型,所以它是開始分類的好地方。隨著您的進步,您可以深入研究非線性分類器,例如決策樹,隨機森林,支持向量機和神經網絡等。

3 聚類

使用聚類方法,我們進入無監督ML的類別,因為它們的目標是對具有相似特徵的觀察進行分組或聚類。聚類方法不使用輸出信息進行訓練,而是讓算法定義輸出。在聚類方法中,我們只能使用可視化來檢查解決方案的質量。

最流行的聚類方法是K-Means,其中“K”表示用戶選擇創建的聚類數。(注意,有多種技術可以選擇K的值,例如彎頭法。)

粗略地說,K-Means對數據點的作用如下:

  1. 隨機選擇數據中的K箇中心。
  2. 將每個數據點分配給最接近的隨機創建的中心。
  3. 重新計算每個群集的中心。
  4. 如果中心沒有改變(或改變很少),則該過程結束。否則,我們返回到步驟2.(如果中心繼續更改,為了防止無限循環結束,請提前設置最大迭代次數。)

下一個圖將K-Means應用於建築物的數據集。圖中的每一列都表明了每棟建築的效率。這四項測量涉及空調,插入式設備(微波爐,冰箱等),家用燃氣和加熱氣體。我們選擇K = 2進行聚類,這樣可以很容易地將其中一個聚類解釋為高效建築群,將另一個聚類解釋為低效建築群。在左側,您可以看到建築物的位置,在右側,您可以看到我們用作輸入的四個尺寸中的兩個:插入式設備和加熱氣體。

數據科學家不可不知的10種機器學習方法

▲將建築物聚類為高效(綠色)和低效(紅色)組。

在探索聚類時,您將遇到非常有用的算法,例如基於密度的噪聲應用空間聚類(DBSCAN),均值偏移聚類,凝聚層次聚類,使用高斯混合模型的期望最大化聚類等。

4 降維

顧名思義,我們使用降維來從數據集中刪除最不重要的信息(有時是冗餘列)。在實踐中,我經常看到包含數百甚至數千列(也稱為特徵)的數據集,因此減少總數至關重要。例如,圖像可以包含數千個像素,而不是所有像素對您的分析都很重要。或者,在製造過程中測試微芯片時,可能會對每個芯片應用數千個測量和測試,其中許多芯片提供冗餘信息。在這些情況下,您需要降維算法以使數據集易於管理。

最流行的降維方法是主成分分析(PCA),它通過找到最大化數據線性變化的新向量來減小特徵空間的維數。當數據的線性相關性很強時,PCA可以顯著減小數據的維度,而不會丟失太多信息。(事實上,您還可以衡量信息丟失的實際程度並進行相應調整。)

另一種流行的方法是t-Stochastic Neighbor Embedding(t-SNE),它可以減少非線性維數。人們通常使用t-SNE進行數據可視化,但您也可以將其用於機器學習任務,例如減少特徵空間和聚類,僅舉幾例。

下一個圖顯示了手寫數字的MNIST數據庫的分析。MNIST包含數千個從0到9的數字圖像,研究人員用它們來測試它們的聚類和分類算法。數據集的每一行是原始圖像的矢量化版本(大小28×28 = 784)和每個圖像的標籤(零,一,二,三,......,九)。請注意,我們因此將維度從784(像素)減少到2(我們的可視化中的維度)。投影到兩個維度允許我們可視化高維原始數據集。

數據科學家不可不知的10種機器學習方法

▲MNIST手寫數字數據庫的t-SNE迭代。

5 集成算法

想象一下,你決定製造一輛自行車,因為你對商店和網上的選擇感到不滿意。您可以從找到所需的每個部件的最佳部分開始。一旦你組裝了所有這些偉大的部件,最終的自行車將超越所有其他選項。

集成使用相同的想法,結合幾個預測模型(監督ML),以獲得比每個模型本身可以提供的更高質量的預測。例如,隨機森林算法是一種集成算法,它結合了許多用不同數據集樣本訓練的決策樹。因此,隨機森林的預測質量高於使用單個決策樹估計的預測質量。

將集成算法視為減少單個機器學習模型的方差和偏差的一種方法。這很重要,因為任何給定的模型在某些條件下可能是準確的,但在其他條件下可能不準確。使用另一個模型,相對精度可能會相反。通過組合這兩個模型,可以平衡預測的質量。

Kaggle比賽的絕大多數頂級獲勝者都使用某種方式的合奏方法。最流行的集成算法是隨機森林,XGBoost和LightGBM。

6 神經網絡與深度學習

與被認為是線性模型的線性和邏輯迴歸相比,神經網絡的目標是通過向模型添加參數層來捕獲數據中的非線性模式。在下圖中,簡單神經網絡有四個輸入,一個帶有五個參數的隱藏層和一個輸出層。

數據科學家不可不知的10種機器學習方法

實際上,神經網絡的結構足夠靈活,可以構建我們眾所周知的線性迴歸和邏輯迴歸。術語深度學習來自具有許多隱藏層的神經網絡(見下圖),並封裝了各種各樣的體系結構。

特別難以跟上深度學習的發展,部分原因是研究和行業社區的深度學習成果翻了一番,每天產生全新的方法論。 具有一個隱藏層的神經網絡。

數據科學家不可不知的10種機器學習方法

▲深度學習:具有多個隱藏層的神經網絡。

為了獲得最佳性能,深度學習技術需要大量數據 - 以及大量計算能力,因為該方法可以在大型架構中自我調整許多參數。很快就會清楚為什麼深度學習從業者需要使用GPU(圖形處理單元)增強的非常強大的計算機。

特別是,深度學習技術在視覺(圖像分類),文本,音頻和視頻領域非常成功。最常見的深度學習軟件包是Tensorflow和PyTorch。

7 遷移學習

讓我們假裝您是零售行業的數據科學家。您花了幾個月的時間訓練高質量的模型,將圖像分類為襯衫,T恤和馬球。你的新任務是建立一個類似的模型,將服裝圖像分類為牛仔褲,貨物,休閒褲和正裝褲。您是否可以將內置的知識轉移到第一個模型中並將其應用到第二個模型中?是的,您可以使用遷移學習。

轉移學習是指重新使用先前訓練的神經網絡的一部分並使其適應新的但類似的任務。具體來說,一旦您使用任務數據訓練神經網絡,您可以傳輸一小部分訓練過的圖層,並將它們與您可以使用新任務的數據訓練的幾個新圖層組合在一起。通過添加幾個層,新的神經網絡可以快速學習並適應新任務。

遷移學習的主要優點是你需要更少的數據來訓練神經網絡,這一點尤為重要,因為深度學習算法的訓練在時間和金錢(計算資源)方面都是昂貴的 - 當然,通常很難找到足夠的標記數據用於訓練。

讓我們回到我們的例子,並假設對於襯衫模型,你使用一個有20個隱藏層的神經網絡。經過一些實驗後,您意識到您可以轉移18個襯衫模型層,並將它們與一個新的參數層相結合,以訓練褲子的圖像。因此褲子模型將有19個隱藏層。兩個任務的輸入和輸出是不同的,但是可重複使用的層可以概括與兩者相關的信息,例如布料,緊固件和形狀的方面。

遷移學習變得越來越流行,現在有許多可靠的預訓練模型可用於常見的深度學習任務,如圖像和文本分類。

數據科學家不可不知的10種機器學習方法

8 強化學習

想象一下,迷宮中的老鼠試圖找到隱藏的奶酪片。我們將老鼠暴露在迷宮中的次數越多,找到奶酪就越好。起初,老鼠可能會隨機移動,但經過一段時間後,老鼠的體驗有助於它實現哪些動作更接近奶酪。

老鼠的過程反映了我們使用強化學習(RL)來訓練系統或遊戲。一般來說,RL是一種機器學習方法,可以幫助代理人從經驗中學習。通過在設定環境中記錄操作並使用試錯法,RL可以最大化累積獎勵。在我們的示例中,老鼠是代理,迷宮是環境。老鼠的可能操作集是:前移,後移,左移或右移。獎勵是奶酪。

當您幾乎沒有關於問題的歷史數據時,可以使用RL,因為它不需要事先提供信息(與傳統的機器學習方法不同)。在RL框架中,您可以隨時瞭解數據。毫不奇怪,RL在遊戲方面尤其成功,特別是像國際象棋和圍棋這樣的“ 完美信息 ” 遊戲。通過遊戲,來自代理和環境的反饋很快得以實現,使模型能夠快速學習。RL的缺點是,如果問題很複雜,可能需要很長時間才能進行訓練。

正如IBM的Deep Blue在1997年擊敗了最好的人類國際象棋選手一樣,基於RL算法的AlphaGo在2016年擊敗了最佳的圍棋玩家。目前RL的先驅者是英國DeepMind的團隊。更多關於AlphaGo和DeepMind的信息。

在2019年4月,OpenAI Five團隊是第一個擊敗世界冠軍電子競技Dota 2的人工智能團隊,這是一個非常複雜的視頻遊戲,OpenAI Five團隊之所以選擇,因為沒有RL算法可以贏得它時間。擊敗Dota 2冠軍人類團隊的同一個AI團隊也開發了一個機器人手,可以重新定位一個塊。

你可以說強化學習是一種特別強大的人工智能形式,我們肯定會看到這些團隊取得更多進展,但同樣值得記住方法的侷限性。

"
數據科學家不可不知的10種機器學習方法

作者 | CDA數據分析師

10 machine learning methods that every data scientist should know

機器學習是研究和工業中的熱門話題,新方法一直在發展。該領域的速度和複雜性使得即使對於專家而言也難以跟上新技術 - 並且對於初學者而言可能是壓倒性的難度。

為了揭開機器學習的神祕面紗併為剛接觸核心概念的人提供學習途徑,讓我們看看十種不同的方法,包括簡單描述,可視化和每個方法的示例。

機器學習算法(也稱為模型)是表示問題上下文中的數據的數學表達式,通常是業務問題。目標是從數據到洞察。例如,如果在線零售商想要預測下一季度的銷售額,他們可能會使用機器學習算法,根據過去的銷售額和其他相關數據預測這些銷售額。類似地,風車製造商可以通過視覺監控重要設備並通過訓練識別危險裂縫的算法來提供視頻數據。

所描述的十種方法提供了一個概述 - 以及您在磨練機器學習知識和技能時可以建立的基礎:

1 迴歸

迴歸方法屬於有監督的ML類別。它們有助於基於一組先前數據預測或解釋特定數值,例如基於類似屬性的先前定價數據來預測房產的價格。

數據科學家不可不知的10種機器學習方法

最簡單的方法是線性迴歸,其中我們使用直線的數學方程(y = m * x + b)來模擬數據集。我們通過計算線的位置和斜率來訓練具有許多數據對(x,y)的線性迴歸模型,該直線最小化所有數據點和線之間的總距離。換句話說,我們計算最接近數據中觀測值的線的斜率(m)和y截距(b)。

讓我們考慮更多線性迴歸的具體例子。我曾經使用線性迴歸來預測某些建築物的能耗(以千瓦時為單位),將建築物的年齡,樓層數,平方英尺和堵牆設備的數量彙總在一起。由於有多個輸入(年齡,平方英尺等),我使用了多變量線性迴歸。原理與簡單的一對一線性迴歸相同,但在這種情況下,我創建的“線”基於變量的數量發生在多維空間中。

下圖顯示了線性迴歸模型與建築物實際能耗的匹配程度。現在想象一下,您可以訪問建築物的特徵(年齡,平方英尺等),但您不知道能耗。在這種情況下,我們可以使用擬合線來估算特定建築物的能耗。

請注意,您還可以使用線性迴歸來估計每個因素的權重,這有助於最終預測消耗的能量。例如,一旦有了公式,就可以確定年齡,大小或身高是否最重要。

數據科學家不可不知的10種機器學習方法

▲建築能耗(kWh)的線性迴歸模型估計

迴歸技術的範圍從簡單(如線性迴歸)到複雜(如正則化線性迴歸,多項式迴歸,決策樹和隨機森林迴歸,神經網絡等)。但不要陷入困境:首先研究簡單的線性迴歸,掌握基礎,然後繼續前進。

2 分類

另一類有監督的ML,分類方法預測或解釋類值。例如,他們可以幫助預測在線客戶是否會購買產品。輸出可以是是或否:買方或非買方。但分類方法不限於兩類。例如,分類方法可以幫助評估給定圖像是否包含汽車或卡車。在這種情況下,輸出將是3個不同的值:1)圖像包含汽車,2)圖像包含卡車,或3)圖像既不包含汽車也不包含卡車。

最簡單的分類算法是邏輯迴歸 - 這使得它聽起來像一個迴歸方法,但事實並非如此。邏輯迴歸基於一個或多個輸入估計事件發生的概率。

例如,邏輯迴歸可以將學生的兩個考試分數作為輸入,以便估計學生將被錄取到特定大學的概率。因為估計是概率,所以輸出是介於0和1之間的數字,其中1表示完全確定性。對於學生,如果估計的概率大於0.5,那麼我們預測他或她將被錄取。如果估計的概率小於0.5,我們預測他或她將被拒絕。

下圖顯示了之前學生的分數以及他們是否被錄取。Logistic迴歸允許我們繪製一條代表決策邊界的線。

數據科學家不可不知的10種機器學習方法

▲Logistic迴歸決策邊界:是否入讀大學?

因為邏輯迴歸是最簡單的分類模型,所以它是開始分類的好地方。隨著您的進步,您可以深入研究非線性分類器,例如決策樹,隨機森林,支持向量機和神經網絡等。

3 聚類

使用聚類方法,我們進入無監督ML的類別,因為它們的目標是對具有相似特徵的觀察進行分組或聚類。聚類方法不使用輸出信息進行訓練,而是讓算法定義輸出。在聚類方法中,我們只能使用可視化來檢查解決方案的質量。

最流行的聚類方法是K-Means,其中“K”表示用戶選擇創建的聚類數。(注意,有多種技術可以選擇K的值,例如彎頭法。)

粗略地說,K-Means對數據點的作用如下:

  1. 隨機選擇數據中的K箇中心。
  2. 將每個數據點分配給最接近的隨機創建的中心。
  3. 重新計算每個群集的中心。
  4. 如果中心沒有改變(或改變很少),則該過程結束。否則,我們返回到步驟2.(如果中心繼續更改,為了防止無限循環結束,請提前設置最大迭代次數。)

下一個圖將K-Means應用於建築物的數據集。圖中的每一列都表明了每棟建築的效率。這四項測量涉及空調,插入式設備(微波爐,冰箱等),家用燃氣和加熱氣體。我們選擇K = 2進行聚類,這樣可以很容易地將其中一個聚類解釋為高效建築群,將另一個聚類解釋為低效建築群。在左側,您可以看到建築物的位置,在右側,您可以看到我們用作輸入的四個尺寸中的兩個:插入式設備和加熱氣體。

數據科學家不可不知的10種機器學習方法

▲將建築物聚類為高效(綠色)和低效(紅色)組。

在探索聚類時,您將遇到非常有用的算法,例如基於密度的噪聲應用空間聚類(DBSCAN),均值偏移聚類,凝聚層次聚類,使用高斯混合模型的期望最大化聚類等。

4 降維

顧名思義,我們使用降維來從數據集中刪除最不重要的信息(有時是冗餘列)。在實踐中,我經常看到包含數百甚至數千列(也稱為特徵)的數據集,因此減少總數至關重要。例如,圖像可以包含數千個像素,而不是所有像素對您的分析都很重要。或者,在製造過程中測試微芯片時,可能會對每個芯片應用數千個測量和測試,其中許多芯片提供冗餘信息。在這些情況下,您需要降維算法以使數據集易於管理。

最流行的降維方法是主成分分析(PCA),它通過找到最大化數據線性變化的新向量來減小特徵空間的維數。當數據的線性相關性很強時,PCA可以顯著減小數據的維度,而不會丟失太多信息。(事實上,您還可以衡量信息丟失的實際程度並進行相應調整。)

另一種流行的方法是t-Stochastic Neighbor Embedding(t-SNE),它可以減少非線性維數。人們通常使用t-SNE進行數據可視化,但您也可以將其用於機器學習任務,例如減少特徵空間和聚類,僅舉幾例。

下一個圖顯示了手寫數字的MNIST數據庫的分析。MNIST包含數千個從0到9的數字圖像,研究人員用它們來測試它們的聚類和分類算法。數據集的每一行是原始圖像的矢量化版本(大小28×28 = 784)和每個圖像的標籤(零,一,二,三,......,九)。請注意,我們因此將維度從784(像素)減少到2(我們的可視化中的維度)。投影到兩個維度允許我們可視化高維原始數據集。

數據科學家不可不知的10種機器學習方法

▲MNIST手寫數字數據庫的t-SNE迭代。

5 集成算法

想象一下,你決定製造一輛自行車,因為你對商店和網上的選擇感到不滿意。您可以從找到所需的每個部件的最佳部分開始。一旦你組裝了所有這些偉大的部件,最終的自行車將超越所有其他選項。

集成使用相同的想法,結合幾個預測模型(監督ML),以獲得比每個模型本身可以提供的更高質量的預測。例如,隨機森林算法是一種集成算法,它結合了許多用不同數據集樣本訓練的決策樹。因此,隨機森林的預測質量高於使用單個決策樹估計的預測質量。

將集成算法視為減少單個機器學習模型的方差和偏差的一種方法。這很重要,因為任何給定的模型在某些條件下可能是準確的,但在其他條件下可能不準確。使用另一個模型,相對精度可能會相反。通過組合這兩個模型,可以平衡預測的質量。

Kaggle比賽的絕大多數頂級獲勝者都使用某種方式的合奏方法。最流行的集成算法是隨機森林,XGBoost和LightGBM。

6 神經網絡與深度學習

與被認為是線性模型的線性和邏輯迴歸相比,神經網絡的目標是通過向模型添加參數層來捕獲數據中的非線性模式。在下圖中,簡單神經網絡有四個輸入,一個帶有五個參數的隱藏層和一個輸出層。

數據科學家不可不知的10種機器學習方法

實際上,神經網絡的結構足夠靈活,可以構建我們眾所周知的線性迴歸和邏輯迴歸。術語深度學習來自具有許多隱藏層的神經網絡(見下圖),並封裝了各種各樣的體系結構。

特別難以跟上深度學習的發展,部分原因是研究和行業社區的深度學習成果翻了一番,每天產生全新的方法論。 具有一個隱藏層的神經網絡。

數據科學家不可不知的10種機器學習方法

▲深度學習:具有多個隱藏層的神經網絡。

為了獲得最佳性能,深度學習技術需要大量數據 - 以及大量計算能力,因為該方法可以在大型架構中自我調整許多參數。很快就會清楚為什麼深度學習從業者需要使用GPU(圖形處理單元)增強的非常強大的計算機。

特別是,深度學習技術在視覺(圖像分類),文本,音頻和視頻領域非常成功。最常見的深度學習軟件包是Tensorflow和PyTorch。

7 遷移學習

讓我們假裝您是零售行業的數據科學家。您花了幾個月的時間訓練高質量的模型,將圖像分類為襯衫,T恤和馬球。你的新任務是建立一個類似的模型,將服裝圖像分類為牛仔褲,貨物,休閒褲和正裝褲。您是否可以將內置的知識轉移到第一個模型中並將其應用到第二個模型中?是的,您可以使用遷移學習。

轉移學習是指重新使用先前訓練的神經網絡的一部分並使其適應新的但類似的任務。具體來說,一旦您使用任務數據訓練神經網絡,您可以傳輸一小部分訓練過的圖層,並將它們與您可以使用新任務的數據訓練的幾個新圖層組合在一起。通過添加幾個層,新的神經網絡可以快速學習並適應新任務。

遷移學習的主要優點是你需要更少的數據來訓練神經網絡,這一點尤為重要,因為深度學習算法的訓練在時間和金錢(計算資源)方面都是昂貴的 - 當然,通常很難找到足夠的標記數據用於訓練。

讓我們回到我們的例子,並假設對於襯衫模型,你使用一個有20個隱藏層的神經網絡。經過一些實驗後,您意識到您可以轉移18個襯衫模型層,並將它們與一個新的參數層相結合,以訓練褲子的圖像。因此褲子模型將有19個隱藏層。兩個任務的輸入和輸出是不同的,但是可重複使用的層可以概括與兩者相關的信息,例如布料,緊固件和形狀的方面。

遷移學習變得越來越流行,現在有許多可靠的預訓練模型可用於常見的深度學習任務,如圖像和文本分類。

數據科學家不可不知的10種機器學習方法

8 強化學習

想象一下,迷宮中的老鼠試圖找到隱藏的奶酪片。我們將老鼠暴露在迷宮中的次數越多,找到奶酪就越好。起初,老鼠可能會隨機移動,但經過一段時間後,老鼠的體驗有助於它實現哪些動作更接近奶酪。

老鼠的過程反映了我們使用強化學習(RL)來訓練系統或遊戲。一般來說,RL是一種機器學習方法,可以幫助代理人從經驗中學習。通過在設定環境中記錄操作並使用試錯法,RL可以最大化累積獎勵。在我們的示例中,老鼠是代理,迷宮是環境。老鼠的可能操作集是:前移,後移,左移或右移。獎勵是奶酪。

當您幾乎沒有關於問題的歷史數據時,可以使用RL,因為它不需要事先提供信息(與傳統的機器學習方法不同)。在RL框架中,您可以隨時瞭解數據。毫不奇怪,RL在遊戲方面尤其成功,特別是像國際象棋和圍棋這樣的“ 完美信息 ” 遊戲。通過遊戲,來自代理和環境的反饋很快得以實現,使模型能夠快速學習。RL的缺點是,如果問題很複雜,可能需要很長時間才能進行訓練。

正如IBM的Deep Blue在1997年擊敗了最好的人類國際象棋選手一樣,基於RL算法的AlphaGo在2016年擊敗了最佳的圍棋玩家。目前RL的先驅者是英國DeepMind的團隊。更多關於AlphaGo和DeepMind的信息。

在2019年4月,OpenAI Five團隊是第一個擊敗世界冠軍電子競技Dota 2的人工智能團隊,這是一個非常複雜的視頻遊戲,OpenAI Five團隊之所以選擇,因為沒有RL算法可以贏得它時間。擊敗Dota 2冠軍人類團隊的同一個AI團隊也開發了一個機器人手,可以重新定位一個塊。

你可以說強化學習是一種特別強大的人工智能形式,我們肯定會看到這些團隊取得更多進展,但同樣值得記住方法的侷限性。

數據科學家不可不知的10種機器學習方法

9 自然語言處理

世界上很大一部分數據和知識都是某種形式的人類語言。你能想象能在幾秒鐘內閱讀和理解成千上萬的書籍,文章和博客嗎?顯然,計算機還不能完全理解人類文本,但我們可以訓練他們完成某些任務。例如,我們可以訓練手機自動填寫短信或糾正拼寫錯誤的單詞。我們甚至可以教一臺機器與人進行簡單的對話。

自然語言處理(NLP)本身不是一種機器學習方法,而是一種廣泛使用的技術,用於為機器學習準備文本。想想各種格式的大量文本文檔(單詞,在線博客,......)。大多數這些文本文檔將充滿拼寫錯誤,缺少字符和其他需要過濾的單詞。目前,最流行的文本處理包是由斯坦福大學的研究人員創建的NLTK(自然語言工具包)。

將文本映射到數字表示的最簡單方法是計算每個文本文檔中每個單詞的頻率。考慮一個整數矩陣,其中每行代表一個文本文檔,每列代表一個單詞。字頻率的這種矩陣表示通常稱為術語頻率矩陣(TFM)。從那裡,我們可以通過將矩陣上的每個條目除以每個單詞在整個文檔集中的重要程度的權重來創建文本文檔的另一種流行矩陣表示。我們將此方法稱為術語頻率反向文檔頻率(TFIDF),它通常更適用於機器學習任務。

10 詞嵌入

TFM和TFIDF是文本文檔的數字表示,它們只考慮頻率和加權頻率來表示文本文檔。相比之下,Word嵌入可以捕獲文檔中單詞的上下文。對於單詞上下文,嵌入可以量化單詞之間的相似性,這反過來又允許我們對單詞進行算術。

Word2vec是一種基於神經網絡的方法,它將語料庫中的單詞映射成一個數字向量。然後,我們可以使用這些向量查找同義詞,對單詞執行算術操作,或者表示文本文檔(取文檔中所有單詞向量的平均值)。例如,假設我們使用足夠大的文本文檔來估計單詞嵌入。我們還假設, 皇后, 男子漢是語料庫的一部分。就這麼說吧向量(字)表示單詞的數字向量。“字”..估計向量(“婦女”),我們可以使用向量執行算術操作:

向量(“King”)+向量(“婦女”) 向量(‘man’)~向量(‘皇后’)

"
數據科學家不可不知的10種機器學習方法

作者 | CDA數據分析師

10 machine learning methods that every data scientist should know

機器學習是研究和工業中的熱門話題,新方法一直在發展。該領域的速度和複雜性使得即使對於專家而言也難以跟上新技術 - 並且對於初學者而言可能是壓倒性的難度。

為了揭開機器學習的神祕面紗併為剛接觸核心概念的人提供學習途徑,讓我們看看十種不同的方法,包括簡單描述,可視化和每個方法的示例。

機器學習算法(也稱為模型)是表示問題上下文中的數據的數學表達式,通常是業務問題。目標是從數據到洞察。例如,如果在線零售商想要預測下一季度的銷售額,他們可能會使用機器學習算法,根據過去的銷售額和其他相關數據預測這些銷售額。類似地,風車製造商可以通過視覺監控重要設備並通過訓練識別危險裂縫的算法來提供視頻數據。

所描述的十種方法提供了一個概述 - 以及您在磨練機器學習知識和技能時可以建立的基礎:

1 迴歸

迴歸方法屬於有監督的ML類別。它們有助於基於一組先前數據預測或解釋特定數值,例如基於類似屬性的先前定價數據來預測房產的價格。

數據科學家不可不知的10種機器學習方法

最簡單的方法是線性迴歸,其中我們使用直線的數學方程(y = m * x + b)來模擬數據集。我們通過計算線的位置和斜率來訓練具有許多數據對(x,y)的線性迴歸模型,該直線最小化所有數據點和線之間的總距離。換句話說,我們計算最接近數據中觀測值的線的斜率(m)和y截距(b)。

讓我們考慮更多線性迴歸的具體例子。我曾經使用線性迴歸來預測某些建築物的能耗(以千瓦時為單位),將建築物的年齡,樓層數,平方英尺和堵牆設備的數量彙總在一起。由於有多個輸入(年齡,平方英尺等),我使用了多變量線性迴歸。原理與簡單的一對一線性迴歸相同,但在這種情況下,我創建的“線”基於變量的數量發生在多維空間中。

下圖顯示了線性迴歸模型與建築物實際能耗的匹配程度。現在想象一下,您可以訪問建築物的特徵(年齡,平方英尺等),但您不知道能耗。在這種情況下,我們可以使用擬合線來估算特定建築物的能耗。

請注意,您還可以使用線性迴歸來估計每個因素的權重,這有助於最終預測消耗的能量。例如,一旦有了公式,就可以確定年齡,大小或身高是否最重要。

數據科學家不可不知的10種機器學習方法

▲建築能耗(kWh)的線性迴歸模型估計

迴歸技術的範圍從簡單(如線性迴歸)到複雜(如正則化線性迴歸,多項式迴歸,決策樹和隨機森林迴歸,神經網絡等)。但不要陷入困境:首先研究簡單的線性迴歸,掌握基礎,然後繼續前進。

2 分類

另一類有監督的ML,分類方法預測或解釋類值。例如,他們可以幫助預測在線客戶是否會購買產品。輸出可以是是或否:買方或非買方。但分類方法不限於兩類。例如,分類方法可以幫助評估給定圖像是否包含汽車或卡車。在這種情況下,輸出將是3個不同的值:1)圖像包含汽車,2)圖像包含卡車,或3)圖像既不包含汽車也不包含卡車。

最簡單的分類算法是邏輯迴歸 - 這使得它聽起來像一個迴歸方法,但事實並非如此。邏輯迴歸基於一個或多個輸入估計事件發生的概率。

例如,邏輯迴歸可以將學生的兩個考試分數作為輸入,以便估計學生將被錄取到特定大學的概率。因為估計是概率,所以輸出是介於0和1之間的數字,其中1表示完全確定性。對於學生,如果估計的概率大於0.5,那麼我們預測他或她將被錄取。如果估計的概率小於0.5,我們預測他或她將被拒絕。

下圖顯示了之前學生的分數以及他們是否被錄取。Logistic迴歸允許我們繪製一條代表決策邊界的線。

數據科學家不可不知的10種機器學習方法

▲Logistic迴歸決策邊界:是否入讀大學?

因為邏輯迴歸是最簡單的分類模型,所以它是開始分類的好地方。隨著您的進步,您可以深入研究非線性分類器,例如決策樹,隨機森林,支持向量機和神經網絡等。

3 聚類

使用聚類方法,我們進入無監督ML的類別,因為它們的目標是對具有相似特徵的觀察進行分組或聚類。聚類方法不使用輸出信息進行訓練,而是讓算法定義輸出。在聚類方法中,我們只能使用可視化來檢查解決方案的質量。

最流行的聚類方法是K-Means,其中“K”表示用戶選擇創建的聚類數。(注意,有多種技術可以選擇K的值,例如彎頭法。)

粗略地說,K-Means對數據點的作用如下:

  1. 隨機選擇數據中的K箇中心。
  2. 將每個數據點分配給最接近的隨機創建的中心。
  3. 重新計算每個群集的中心。
  4. 如果中心沒有改變(或改變很少),則該過程結束。否則,我們返回到步驟2.(如果中心繼續更改,為了防止無限循環結束,請提前設置最大迭代次數。)

下一個圖將K-Means應用於建築物的數據集。圖中的每一列都表明了每棟建築的效率。這四項測量涉及空調,插入式設備(微波爐,冰箱等),家用燃氣和加熱氣體。我們選擇K = 2進行聚類,這樣可以很容易地將其中一個聚類解釋為高效建築群,將另一個聚類解釋為低效建築群。在左側,您可以看到建築物的位置,在右側,您可以看到我們用作輸入的四個尺寸中的兩個:插入式設備和加熱氣體。

數據科學家不可不知的10種機器學習方法

▲將建築物聚類為高效(綠色)和低效(紅色)組。

在探索聚類時,您將遇到非常有用的算法,例如基於密度的噪聲應用空間聚類(DBSCAN),均值偏移聚類,凝聚層次聚類,使用高斯混合模型的期望最大化聚類等。

4 降維

顧名思義,我們使用降維來從數據集中刪除最不重要的信息(有時是冗餘列)。在實踐中,我經常看到包含數百甚至數千列(也稱為特徵)的數據集,因此減少總數至關重要。例如,圖像可以包含數千個像素,而不是所有像素對您的分析都很重要。或者,在製造過程中測試微芯片時,可能會對每個芯片應用數千個測量和測試,其中許多芯片提供冗餘信息。在這些情況下,您需要降維算法以使數據集易於管理。

最流行的降維方法是主成分分析(PCA),它通過找到最大化數據線性變化的新向量來減小特徵空間的維數。當數據的線性相關性很強時,PCA可以顯著減小數據的維度,而不會丟失太多信息。(事實上,您還可以衡量信息丟失的實際程度並進行相應調整。)

另一種流行的方法是t-Stochastic Neighbor Embedding(t-SNE),它可以減少非線性維數。人們通常使用t-SNE進行數據可視化,但您也可以將其用於機器學習任務,例如減少特徵空間和聚類,僅舉幾例。

下一個圖顯示了手寫數字的MNIST數據庫的分析。MNIST包含數千個從0到9的數字圖像,研究人員用它們來測試它們的聚類和分類算法。數據集的每一行是原始圖像的矢量化版本(大小28×28 = 784)和每個圖像的標籤(零,一,二,三,......,九)。請注意,我們因此將維度從784(像素)減少到2(我們的可視化中的維度)。投影到兩個維度允許我們可視化高維原始數據集。

數據科學家不可不知的10種機器學習方法

▲MNIST手寫數字數據庫的t-SNE迭代。

5 集成算法

想象一下,你決定製造一輛自行車,因為你對商店和網上的選擇感到不滿意。您可以從找到所需的每個部件的最佳部分開始。一旦你組裝了所有這些偉大的部件,最終的自行車將超越所有其他選項。

集成使用相同的想法,結合幾個預測模型(監督ML),以獲得比每個模型本身可以提供的更高質量的預測。例如,隨機森林算法是一種集成算法,它結合了許多用不同數據集樣本訓練的決策樹。因此,隨機森林的預測質量高於使用單個決策樹估計的預測質量。

將集成算法視為減少單個機器學習模型的方差和偏差的一種方法。這很重要,因為任何給定的模型在某些條件下可能是準確的,但在其他條件下可能不準確。使用另一個模型,相對精度可能會相反。通過組合這兩個模型,可以平衡預測的質量。

Kaggle比賽的絕大多數頂級獲勝者都使用某種方式的合奏方法。最流行的集成算法是隨機森林,XGBoost和LightGBM。

6 神經網絡與深度學習

與被認為是線性模型的線性和邏輯迴歸相比,神經網絡的目標是通過向模型添加參數層來捕獲數據中的非線性模式。在下圖中,簡單神經網絡有四個輸入,一個帶有五個參數的隱藏層和一個輸出層。

數據科學家不可不知的10種機器學習方法

實際上,神經網絡的結構足夠靈活,可以構建我們眾所周知的線性迴歸和邏輯迴歸。術語深度學習來自具有許多隱藏層的神經網絡(見下圖),並封裝了各種各樣的體系結構。

特別難以跟上深度學習的發展,部分原因是研究和行業社區的深度學習成果翻了一番,每天產生全新的方法論。 具有一個隱藏層的神經網絡。

數據科學家不可不知的10種機器學習方法

▲深度學習:具有多個隱藏層的神經網絡。

為了獲得最佳性能,深度學習技術需要大量數據 - 以及大量計算能力,因為該方法可以在大型架構中自我調整許多參數。很快就會清楚為什麼深度學習從業者需要使用GPU(圖形處理單元)增強的非常強大的計算機。

特別是,深度學習技術在視覺(圖像分類),文本,音頻和視頻領域非常成功。最常見的深度學習軟件包是Tensorflow和PyTorch。

7 遷移學習

讓我們假裝您是零售行業的數據科學家。您花了幾個月的時間訓練高質量的模型,將圖像分類為襯衫,T恤和馬球。你的新任務是建立一個類似的模型,將服裝圖像分類為牛仔褲,貨物,休閒褲和正裝褲。您是否可以將內置的知識轉移到第一個模型中並將其應用到第二個模型中?是的,您可以使用遷移學習。

轉移學習是指重新使用先前訓練的神經網絡的一部分並使其適應新的但類似的任務。具體來說,一旦您使用任務數據訓練神經網絡,您可以傳輸一小部分訓練過的圖層,並將它們與您可以使用新任務的數據訓練的幾個新圖層組合在一起。通過添加幾個層,新的神經網絡可以快速學習並適應新任務。

遷移學習的主要優點是你需要更少的數據來訓練神經網絡,這一點尤為重要,因為深度學習算法的訓練在時間和金錢(計算資源)方面都是昂貴的 - 當然,通常很難找到足夠的標記數據用於訓練。

讓我們回到我們的例子,並假設對於襯衫模型,你使用一個有20個隱藏層的神經網絡。經過一些實驗後,您意識到您可以轉移18個襯衫模型層,並將它們與一個新的參數層相結合,以訓練褲子的圖像。因此褲子模型將有19個隱藏層。兩個任務的輸入和輸出是不同的,但是可重複使用的層可以概括與兩者相關的信息,例如布料,緊固件和形狀的方面。

遷移學習變得越來越流行,現在有許多可靠的預訓練模型可用於常見的深度學習任務,如圖像和文本分類。

數據科學家不可不知的10種機器學習方法

8 強化學習

想象一下,迷宮中的老鼠試圖找到隱藏的奶酪片。我們將老鼠暴露在迷宮中的次數越多,找到奶酪就越好。起初,老鼠可能會隨機移動,但經過一段時間後,老鼠的體驗有助於它實現哪些動作更接近奶酪。

老鼠的過程反映了我們使用強化學習(RL)來訓練系統或遊戲。一般來說,RL是一種機器學習方法,可以幫助代理人從經驗中學習。通過在設定環境中記錄操作並使用試錯法,RL可以最大化累積獎勵。在我們的示例中,老鼠是代理,迷宮是環境。老鼠的可能操作集是:前移,後移,左移或右移。獎勵是奶酪。

當您幾乎沒有關於問題的歷史數據時,可以使用RL,因為它不需要事先提供信息(與傳統的機器學習方法不同)。在RL框架中,您可以隨時瞭解數據。毫不奇怪,RL在遊戲方面尤其成功,特別是像國際象棋和圍棋這樣的“ 完美信息 ” 遊戲。通過遊戲,來自代理和環境的反饋很快得以實現,使模型能夠快速學習。RL的缺點是,如果問題很複雜,可能需要很長時間才能進行訓練。

正如IBM的Deep Blue在1997年擊敗了最好的人類國際象棋選手一樣,基於RL算法的AlphaGo在2016年擊敗了最佳的圍棋玩家。目前RL的先驅者是英國DeepMind的團隊。更多關於AlphaGo和DeepMind的信息。

在2019年4月,OpenAI Five團隊是第一個擊敗世界冠軍電子競技Dota 2的人工智能團隊,這是一個非常複雜的視頻遊戲,OpenAI Five團隊之所以選擇,因為沒有RL算法可以贏得它時間。擊敗Dota 2冠軍人類團隊的同一個AI團隊也開發了一個機器人手,可以重新定位一個塊。

你可以說強化學習是一種特別強大的人工智能形式,我們肯定會看到這些團隊取得更多進展,但同樣值得記住方法的侷限性。

數據科學家不可不知的10種機器學習方法

9 自然語言處理

世界上很大一部分數據和知識都是某種形式的人類語言。你能想象能在幾秒鐘內閱讀和理解成千上萬的書籍,文章和博客嗎?顯然,計算機還不能完全理解人類文本,但我們可以訓練他們完成某些任務。例如,我們可以訓練手機自動填寫短信或糾正拼寫錯誤的單詞。我們甚至可以教一臺機器與人進行簡單的對話。

自然語言處理(NLP)本身不是一種機器學習方法,而是一種廣泛使用的技術,用於為機器學習準備文本。想想各種格式的大量文本文檔(單詞,在線博客,......)。大多數這些文本文檔將充滿拼寫錯誤,缺少字符和其他需要過濾的單詞。目前,最流行的文本處理包是由斯坦福大學的研究人員創建的NLTK(自然語言工具包)。

將文本映射到數字表示的最簡單方法是計算每個文本文檔中每個單詞的頻率。考慮一個整數矩陣,其中每行代表一個文本文檔,每列代表一個單詞。字頻率的這種矩陣表示通常稱為術語頻率矩陣(TFM)。從那裡,我們可以通過將矩陣上的每個條目除以每個單詞在整個文檔集中的重要程度的權重來創建文本文檔的另一種流行矩陣表示。我們將此方法稱為術語頻率反向文檔頻率(TFIDF),它通常更適用於機器學習任務。

10 詞嵌入

TFM和TFIDF是文本文檔的數字表示,它們只考慮頻率和加權頻率來表示文本文檔。相比之下,Word嵌入可以捕獲文檔中單詞的上下文。對於單詞上下文,嵌入可以量化單詞之間的相似性,這反過來又允許我們對單詞進行算術。

Word2vec是一種基於神經網絡的方法,它將語料庫中的單詞映射成一個數字向量。然後,我們可以使用這些向量查找同義詞,對單詞執行算術操作,或者表示文本文檔(取文檔中所有單詞向量的平均值)。例如,假設我們使用足夠大的文本文檔來估計單詞嵌入。我們還假設, 皇后, 男子漢是語料庫的一部分。就這麼說吧向量(字)表示單詞的數字向量。“字”..估計向量(“婦女”),我們可以使用向量執行算術操作:

向量(“King”)+向量(“婦女”) 向量(‘man’)~向量(‘皇后’)

數據科學家不可不知的10種機器學習方法

▲用Word(向量)嵌入算術

單詞表示允許通過計算兩個單詞的向量表示之間的餘弦相似性來找到單詞之間的相似性。餘弦相似度測量兩個矢量之間的角度。

我們使用機器學習方法計算單詞嵌入,但這通常是在頂部應用機器學習算法的前提步驟。例如,假設我們可以訪問數千名Twitter用戶的推文。還假設我們知道這些Twitter用戶中哪些人買了房子。為了預測新Twitter用戶購買房屋的概率,我們可以將Word2Vec與邏輯迴歸結合起來。

總結

我試圖涵蓋十種最重要的機器學習方法:從最基本的到最前沿的。很好地研究這些方法並充分理解每個方法的基礎知識可以作為進一步研究更先進的算法和方法的堅實起點。

當然,還有很多非常重要的信息需要報道,包括質量指標,交叉驗證,分類方法中的類不平衡以及過度擬合模型等等,僅舉幾例。敬請關注。

此博客的所有可視化都是使用Watson Studio Desktop完成的。

"
數據科學家不可不知的10種機器學習方法

作者 | CDA數據分析師

10 machine learning methods that every data scientist should know

機器學習是研究和工業中的熱門話題,新方法一直在發展。該領域的速度和複雜性使得即使對於專家而言也難以跟上新技術 - 並且對於初學者而言可能是壓倒性的難度。

為了揭開機器學習的神祕面紗併為剛接觸核心概念的人提供學習途徑,讓我們看看十種不同的方法,包括簡單描述,可視化和每個方法的示例。

機器學習算法(也稱為模型)是表示問題上下文中的數據的數學表達式,通常是業務問題。目標是從數據到洞察。例如,如果在線零售商想要預測下一季度的銷售額,他們可能會使用機器學習算法,根據過去的銷售額和其他相關數據預測這些銷售額。類似地,風車製造商可以通過視覺監控重要設備並通過訓練識別危險裂縫的算法來提供視頻數據。

所描述的十種方法提供了一個概述 - 以及您在磨練機器學習知識和技能時可以建立的基礎:

1 迴歸

迴歸方法屬於有監督的ML類別。它們有助於基於一組先前數據預測或解釋特定數值,例如基於類似屬性的先前定價數據來預測房產的價格。

數據科學家不可不知的10種機器學習方法

最簡單的方法是線性迴歸,其中我們使用直線的數學方程(y = m * x + b)來模擬數據集。我們通過計算線的位置和斜率來訓練具有許多數據對(x,y)的線性迴歸模型,該直線最小化所有數據點和線之間的總距離。換句話說,我們計算最接近數據中觀測值的線的斜率(m)和y截距(b)。

讓我們考慮更多線性迴歸的具體例子。我曾經使用線性迴歸來預測某些建築物的能耗(以千瓦時為單位),將建築物的年齡,樓層數,平方英尺和堵牆設備的數量彙總在一起。由於有多個輸入(年齡,平方英尺等),我使用了多變量線性迴歸。原理與簡單的一對一線性迴歸相同,但在這種情況下,我創建的“線”基於變量的數量發生在多維空間中。

下圖顯示了線性迴歸模型與建築物實際能耗的匹配程度。現在想象一下,您可以訪問建築物的特徵(年齡,平方英尺等),但您不知道能耗。在這種情況下,我們可以使用擬合線來估算特定建築物的能耗。

請注意,您還可以使用線性迴歸來估計每個因素的權重,這有助於最終預測消耗的能量。例如,一旦有了公式,就可以確定年齡,大小或身高是否最重要。

數據科學家不可不知的10種機器學習方法

▲建築能耗(kWh)的線性迴歸模型估計

迴歸技術的範圍從簡單(如線性迴歸)到複雜(如正則化線性迴歸,多項式迴歸,決策樹和隨機森林迴歸,神經網絡等)。但不要陷入困境:首先研究簡單的線性迴歸,掌握基礎,然後繼續前進。

2 分類

另一類有監督的ML,分類方法預測或解釋類值。例如,他們可以幫助預測在線客戶是否會購買產品。輸出可以是是或否:買方或非買方。但分類方法不限於兩類。例如,分類方法可以幫助評估給定圖像是否包含汽車或卡車。在這種情況下,輸出將是3個不同的值:1)圖像包含汽車,2)圖像包含卡車,或3)圖像既不包含汽車也不包含卡車。

最簡單的分類算法是邏輯迴歸 - 這使得它聽起來像一個迴歸方法,但事實並非如此。邏輯迴歸基於一個或多個輸入估計事件發生的概率。

例如,邏輯迴歸可以將學生的兩個考試分數作為輸入,以便估計學生將被錄取到特定大學的概率。因為估計是概率,所以輸出是介於0和1之間的數字,其中1表示完全確定性。對於學生,如果估計的概率大於0.5,那麼我們預測他或她將被錄取。如果估計的概率小於0.5,我們預測他或她將被拒絕。

下圖顯示了之前學生的分數以及他們是否被錄取。Logistic迴歸允許我們繪製一條代表決策邊界的線。

數據科學家不可不知的10種機器學習方法

▲Logistic迴歸決策邊界:是否入讀大學?

因為邏輯迴歸是最簡單的分類模型,所以它是開始分類的好地方。隨著您的進步,您可以深入研究非線性分類器,例如決策樹,隨機森林,支持向量機和神經網絡等。

3 聚類

使用聚類方法,我們進入無監督ML的類別,因為它們的目標是對具有相似特徵的觀察進行分組或聚類。聚類方法不使用輸出信息進行訓練,而是讓算法定義輸出。在聚類方法中,我們只能使用可視化來檢查解決方案的質量。

最流行的聚類方法是K-Means,其中“K”表示用戶選擇創建的聚類數。(注意,有多種技術可以選擇K的值,例如彎頭法。)

粗略地說,K-Means對數據點的作用如下:

  1. 隨機選擇數據中的K箇中心。
  2. 將每個數據點分配給最接近的隨機創建的中心。
  3. 重新計算每個群集的中心。
  4. 如果中心沒有改變(或改變很少),則該過程結束。否則,我們返回到步驟2.(如果中心繼續更改,為了防止無限循環結束,請提前設置最大迭代次數。)

下一個圖將K-Means應用於建築物的數據集。圖中的每一列都表明了每棟建築的效率。這四項測量涉及空調,插入式設備(微波爐,冰箱等),家用燃氣和加熱氣體。我們選擇K = 2進行聚類,這樣可以很容易地將其中一個聚類解釋為高效建築群,將另一個聚類解釋為低效建築群。在左側,您可以看到建築物的位置,在右側,您可以看到我們用作輸入的四個尺寸中的兩個:插入式設備和加熱氣體。

數據科學家不可不知的10種機器學習方法

▲將建築物聚類為高效(綠色)和低效(紅色)組。

在探索聚類時,您將遇到非常有用的算法,例如基於密度的噪聲應用空間聚類(DBSCAN),均值偏移聚類,凝聚層次聚類,使用高斯混合模型的期望最大化聚類等。

4 降維

顧名思義,我們使用降維來從數據集中刪除最不重要的信息(有時是冗餘列)。在實踐中,我經常看到包含數百甚至數千列(也稱為特徵)的數據集,因此減少總數至關重要。例如,圖像可以包含數千個像素,而不是所有像素對您的分析都很重要。或者,在製造過程中測試微芯片時,可能會對每個芯片應用數千個測量和測試,其中許多芯片提供冗餘信息。在這些情況下,您需要降維算法以使數據集易於管理。

最流行的降維方法是主成分分析(PCA),它通過找到最大化數據線性變化的新向量來減小特徵空間的維數。當數據的線性相關性很強時,PCA可以顯著減小數據的維度,而不會丟失太多信息。(事實上,您還可以衡量信息丟失的實際程度並進行相應調整。)

另一種流行的方法是t-Stochastic Neighbor Embedding(t-SNE),它可以減少非線性維數。人們通常使用t-SNE進行數據可視化,但您也可以將其用於機器學習任務,例如減少特徵空間和聚類,僅舉幾例。

下一個圖顯示了手寫數字的MNIST數據庫的分析。MNIST包含數千個從0到9的數字圖像,研究人員用它們來測試它們的聚類和分類算法。數據集的每一行是原始圖像的矢量化版本(大小28×28 = 784)和每個圖像的標籤(零,一,二,三,......,九)。請注意,我們因此將維度從784(像素)減少到2(我們的可視化中的維度)。投影到兩個維度允許我們可視化高維原始數據集。

數據科學家不可不知的10種機器學習方法

▲MNIST手寫數字數據庫的t-SNE迭代。

5 集成算法

想象一下,你決定製造一輛自行車,因為你對商店和網上的選擇感到不滿意。您可以從找到所需的每個部件的最佳部分開始。一旦你組裝了所有這些偉大的部件,最終的自行車將超越所有其他選項。

集成使用相同的想法,結合幾個預測模型(監督ML),以獲得比每個模型本身可以提供的更高質量的預測。例如,隨機森林算法是一種集成算法,它結合了許多用不同數據集樣本訓練的決策樹。因此,隨機森林的預測質量高於使用單個決策樹估計的預測質量。

將集成算法視為減少單個機器學習模型的方差和偏差的一種方法。這很重要,因為任何給定的模型在某些條件下可能是準確的,但在其他條件下可能不準確。使用另一個模型,相對精度可能會相反。通過組合這兩個模型,可以平衡預測的質量。

Kaggle比賽的絕大多數頂級獲勝者都使用某種方式的合奏方法。最流行的集成算法是隨機森林,XGBoost和LightGBM。

6 神經網絡與深度學習

與被認為是線性模型的線性和邏輯迴歸相比,神經網絡的目標是通過向模型添加參數層來捕獲數據中的非線性模式。在下圖中,簡單神經網絡有四個輸入,一個帶有五個參數的隱藏層和一個輸出層。

數據科學家不可不知的10種機器學習方法

實際上,神經網絡的結構足夠靈活,可以構建我們眾所周知的線性迴歸和邏輯迴歸。術語深度學習來自具有許多隱藏層的神經網絡(見下圖),並封裝了各種各樣的體系結構。

特別難以跟上深度學習的發展,部分原因是研究和行業社區的深度學習成果翻了一番,每天產生全新的方法論。 具有一個隱藏層的神經網絡。

數據科學家不可不知的10種機器學習方法

▲深度學習:具有多個隱藏層的神經網絡。

為了獲得最佳性能,深度學習技術需要大量數據 - 以及大量計算能力,因為該方法可以在大型架構中自我調整許多參數。很快就會清楚為什麼深度學習從業者需要使用GPU(圖形處理單元)增強的非常強大的計算機。

特別是,深度學習技術在視覺(圖像分類),文本,音頻和視頻領域非常成功。最常見的深度學習軟件包是Tensorflow和PyTorch。

7 遷移學習

讓我們假裝您是零售行業的數據科學家。您花了幾個月的時間訓練高質量的模型,將圖像分類為襯衫,T恤和馬球。你的新任務是建立一個類似的模型,將服裝圖像分類為牛仔褲,貨物,休閒褲和正裝褲。您是否可以將內置的知識轉移到第一個模型中並將其應用到第二個模型中?是的,您可以使用遷移學習。

轉移學習是指重新使用先前訓練的神經網絡的一部分並使其適應新的但類似的任務。具體來說,一旦您使用任務數據訓練神經網絡,您可以傳輸一小部分訓練過的圖層,並將它們與您可以使用新任務的數據訓練的幾個新圖層組合在一起。通過添加幾個層,新的神經網絡可以快速學習並適應新任務。

遷移學習的主要優點是你需要更少的數據來訓練神經網絡,這一點尤為重要,因為深度學習算法的訓練在時間和金錢(計算資源)方面都是昂貴的 - 當然,通常很難找到足夠的標記數據用於訓練。

讓我們回到我們的例子,並假設對於襯衫模型,你使用一個有20個隱藏層的神經網絡。經過一些實驗後,您意識到您可以轉移18個襯衫模型層,並將它們與一個新的參數層相結合,以訓練褲子的圖像。因此褲子模型將有19個隱藏層。兩個任務的輸入和輸出是不同的,但是可重複使用的層可以概括與兩者相關的信息,例如布料,緊固件和形狀的方面。

遷移學習變得越來越流行,現在有許多可靠的預訓練模型可用於常見的深度學習任務,如圖像和文本分類。

數據科學家不可不知的10種機器學習方法

8 強化學習

想象一下,迷宮中的老鼠試圖找到隱藏的奶酪片。我們將老鼠暴露在迷宮中的次數越多,找到奶酪就越好。起初,老鼠可能會隨機移動,但經過一段時間後,老鼠的體驗有助於它實現哪些動作更接近奶酪。

老鼠的過程反映了我們使用強化學習(RL)來訓練系統或遊戲。一般來說,RL是一種機器學習方法,可以幫助代理人從經驗中學習。通過在設定環境中記錄操作並使用試錯法,RL可以最大化累積獎勵。在我們的示例中,老鼠是代理,迷宮是環境。老鼠的可能操作集是:前移,後移,左移或右移。獎勵是奶酪。

當您幾乎沒有關於問題的歷史數據時,可以使用RL,因為它不需要事先提供信息(與傳統的機器學習方法不同)。在RL框架中,您可以隨時瞭解數據。毫不奇怪,RL在遊戲方面尤其成功,特別是像國際象棋和圍棋這樣的“ 完美信息 ” 遊戲。通過遊戲,來自代理和環境的反饋很快得以實現,使模型能夠快速學習。RL的缺點是,如果問題很複雜,可能需要很長時間才能進行訓練。

正如IBM的Deep Blue在1997年擊敗了最好的人類國際象棋選手一樣,基於RL算法的AlphaGo在2016年擊敗了最佳的圍棋玩家。目前RL的先驅者是英國DeepMind的團隊。更多關於AlphaGo和DeepMind的信息。

在2019年4月,OpenAI Five團隊是第一個擊敗世界冠軍電子競技Dota 2的人工智能團隊,這是一個非常複雜的視頻遊戲,OpenAI Five團隊之所以選擇,因為沒有RL算法可以贏得它時間。擊敗Dota 2冠軍人類團隊的同一個AI團隊也開發了一個機器人手,可以重新定位一個塊。

你可以說強化學習是一種特別強大的人工智能形式,我們肯定會看到這些團隊取得更多進展,但同樣值得記住方法的侷限性。

數據科學家不可不知的10種機器學習方法

9 自然語言處理

世界上很大一部分數據和知識都是某種形式的人類語言。你能想象能在幾秒鐘內閱讀和理解成千上萬的書籍,文章和博客嗎?顯然,計算機還不能完全理解人類文本,但我們可以訓練他們完成某些任務。例如,我們可以訓練手機自動填寫短信或糾正拼寫錯誤的單詞。我們甚至可以教一臺機器與人進行簡單的對話。

自然語言處理(NLP)本身不是一種機器學習方法,而是一種廣泛使用的技術,用於為機器學習準備文本。想想各種格式的大量文本文檔(單詞,在線博客,......)。大多數這些文本文檔將充滿拼寫錯誤,缺少字符和其他需要過濾的單詞。目前,最流行的文本處理包是由斯坦福大學的研究人員創建的NLTK(自然語言工具包)。

將文本映射到數字表示的最簡單方法是計算每個文本文檔中每個單詞的頻率。考慮一個整數矩陣,其中每行代表一個文本文檔,每列代表一個單詞。字頻率的這種矩陣表示通常稱為術語頻率矩陣(TFM)。從那裡,我們可以通過將矩陣上的每個條目除以每個單詞在整個文檔集中的重要程度的權重來創建文本文檔的另一種流行矩陣表示。我們將此方法稱為術語頻率反向文檔頻率(TFIDF),它通常更適用於機器學習任務。

10 詞嵌入

TFM和TFIDF是文本文檔的數字表示,它們只考慮頻率和加權頻率來表示文本文檔。相比之下,Word嵌入可以捕獲文檔中單詞的上下文。對於單詞上下文,嵌入可以量化單詞之間的相似性,這反過來又允許我們對單詞進行算術。

Word2vec是一種基於神經網絡的方法,它將語料庫中的單詞映射成一個數字向量。然後,我們可以使用這些向量查找同義詞,對單詞執行算術操作,或者表示文本文檔(取文檔中所有單詞向量的平均值)。例如,假設我們使用足夠大的文本文檔來估計單詞嵌入。我們還假設, 皇后, 男子漢是語料庫的一部分。就這麼說吧向量(字)表示單詞的數字向量。“字”..估計向量(“婦女”),我們可以使用向量執行算術操作:

向量(“King”)+向量(“婦女”) 向量(‘man’)~向量(‘皇后’)

數據科學家不可不知的10種機器學習方法

▲用Word(向量)嵌入算術

單詞表示允許通過計算兩個單詞的向量表示之間的餘弦相似性來找到單詞之間的相似性。餘弦相似度測量兩個矢量之間的角度。

我們使用機器學習方法計算單詞嵌入,但這通常是在頂部應用機器學習算法的前提步驟。例如,假設我們可以訪問數千名Twitter用戶的推文。還假設我們知道這些Twitter用戶中哪些人買了房子。為了預測新Twitter用戶購買房屋的概率,我們可以將Word2Vec與邏輯迴歸結合起來。

總結

我試圖涵蓋十種最重要的機器學習方法:從最基本的到最前沿的。很好地研究這些方法並充分理解每個方法的基礎知識可以作為進一步研究更先進的算法和方法的堅實起點。

當然,還有很多非常重要的信息需要報道,包括質量指標,交叉驗證,分類方法中的類不平衡以及過度擬合模型等等,僅舉幾例。敬請關注。

此博客的所有可視化都是使用Watson Studio Desktop完成的。

數據科學家不可不知的10種機器學習方法

搜索微信小程序【CDA培訓】,解鎖更加精彩資訊和專業內容!

"

相關推薦

推薦中...