適合初學者的十大機器學習演算法
引言
在一個幾乎所有手工操作都機械化的世界裡,手工操作的定義正在不斷發展。如今,有許多不同型別的機器學習演算法可用,其中一些可以幫助計算機學習、變得更聰明,並且更像人類。由於現在的技術發展迅速,可以透過觀察計算機隨時間的變化來預測未來。
在這些極具活力的時代,已經開發出許多不同的機器學習演算法來幫助解決複雜的現實世界問題。自動的、自我修正的ML演算法會隨著時間的推移而改進。在介紹每個人都應該熟悉的十大機器學習演算法之前,讓我們先看看各種型別的機器學習演算法及其分類。
機器學習演算法分為四種類型:
監督學習
無監督學習
半監督學習
強化學習
這四種ML演算法型別又細分為其他類別。
適合初學者的十大機器學習演算法
線性迴歸
邏輯迴歸
決策樹
K近鄰分類 (KNN)
迴圈神經網路 (RNN)
支援向量機 (SVM)
隨機森林
K均值聚類
樸素貝葉斯定理
人工神經網路
1. 線性迴歸
該演算法最初是在統計學中開發的,用於研究輸入變數和數值變數之間的關係,後來被機器學習社群採用,用於基於線性迴歸方程進行預測。
線性迴歸的數學定義是一個線性方程,它結合一組特定的輸入資料 (x) 來預測該組輸入值的輸出值 (y)。線性方程為每一組輸入值賦予一個因子。這些因子稱為係數,用希臘字母 Beta (β) 表示。
具有兩組輸入值 x1 和 x2 的線性迴歸模型由以下方程表示。線性方程的係數為 0、1 和 2,y 表示模型的輸出。
y = β0 + β1x1 + β2x2
當只有一個輸入變數時,線性方程表示一條直線。為簡化起見,假設 x2 對線性迴歸模型的結果沒有影響,並且 β2 等於零。在這種情況下,線性迴歸將顯示為一條直線,其方程如下所示。
y = β0 + β1x1
以下是線性迴歸方程模型的圖表。(此處應插入圖表)
可以使用線性迴歸來發現股票隨時間的整體價格趨勢。這有助於確定價格變化是持續上漲還是下跌。
2. 邏輯迴歸
邏輯迴歸用於根據一組自變數估計離散值(通常是二元值,如 0/1)。它透過將資料轉換為 logit 函式來幫助預測事件的可能性,有時也稱為 logit 迴歸。
以下技術通常用於改進邏輯迴歸模型:
加入互動項
移除特徵
使用非線性模型
正則化方法
以下方程產生 sigmoid/邏輯函式。
y = 1 / (1+ e-x)
簡單來說,邏輯迴歸可以用來預測市場的走向。
3. 決策樹
決策樹本質上是一個類似樹狀的輔助工具,可以用來表示一個原因及其影響。它可以有效地對離散和連續的因變數進行分類。這種方法根據最重要的特徵或自變數將總體劃分為兩個或多個同質集合。
由於其固有的結構系統,決策樹具有容易過擬合的缺點。
4. K近鄰分類 (KNN)
這種方法可以解決分類和迴歸問題。在資料科學領域,似乎更常用於解決分類問題。這是一個簡單的演算法,透過至少獲得k個鄰居的同意來對新例項進行分類,然後儲存所有現有案例。然後將該案例分配給與其最相似的類別。這使用距離函式來計算。
與現實相比,KNN很容易理解。例如,如果我們想更多地瞭解某人,與該人的朋友和同事交談是有道理的。
在使用K近鄰演算法之前,請考慮以下因素:
為了避免演算法偏差,應該對範圍較大的變數進行歸一化。
仍然需要資料預處理。
KNN的計算成本很高。
5. 迴圈神經網路 (RNN)
RNN是一種特殊型別的神經網路,每個節點都附加一個記憶體,它簡化了順序資料的處理,其中每個資料單元都依賴於其前面的單元。RNN優於普通神經網路的好處可以用這樣一個事實來解釋:一個單詞需要逐字處理。在一個普通的神經網路中,當它到達字母“d”時,一個節點會忘記單詞“trade”中的字母“t”,但是在一個迴圈神經網路中,一個節點會記住這個字母,因為它有自己的記憶體。
6. 支援向量機 (SVM)
SVM方法可以透過將原始資料表示為n維空間中的點來對資料進行分類(其中n是特徵的數量)。然後,在將每個特徵的值連線到特定座標後,可以輕鬆地對資料進行分類。分類線可以用來將資料分成組並在圖表上繪製它們。
SVM演算法會產生一個超平面,作為類別之間的分界線。SVM演算法會評估一個新的資料點,並根據它出現在哪一邊進行分類。
7. 隨機森林
為了解決決策樹的一些缺點,建立了隨機森林演算法。
隨機森林包括決策樹,它們是表達其行動過程或統計機率的決策圖。這些多棵樹用於形成分類和迴歸 (CART) 模型,這是一個單棵樹。每棵樹都會分配一個分類,稱為該類別的“投票”,以便根據其屬性對專案進行分類。然後,森林會選擇獲得最多票數的分類。迴歸會考慮來自不同樹的結果的平均值。
根據以下內容,隨機森林的工作原理:
假設共有 N 個案例。訓練集被選擇為這 N 個示例的子集。
假設有 M 個輸入變數,則選擇 m,使得 m ≤ M。使用 m 和 M 之間的最佳分割來分割節點。隨著樹木的增大,m 的數量保持不變。
最大化每棵樹的大小。
透過組合 n 棵樹的預測來預測新資料(即,分類的多數投票,迴歸的平均值)。
8. K均值聚類
這是一種無監督學習方法,用於處理聚類問題。將資料集劃分為預定數量的聚類(例如,K),以確保每個聚類中的資料點是同質的,並且與其他聚類中的資料點分開。
9. 樸素貝葉斯定理
樸素貝葉斯分類器的核心思想是,一個特徵在一個類中的存在不會影響任何其他特徵的存在。
樸素貝葉斯分類器在確定特定結果的機率時,會分別考慮每個屬性,即使這些特徵彼此相關。對於大型資料集,樸素貝葉斯模型有效且易於構建。儘管簡單,但它已被證明甚至優於最複雜的分類方法。
10. 人工神經網路
我們的一個重大成就就是人工神經網路。如圖所示,我們建立了許多相互連線的節點,以代表我們大腦中的神經元。簡單來說,每個神經元接收來自另一個神經元的資訊,對其進行處理,然後將結果作為輸出傳送到另一個神經元。
每個圓形節點代表一個人工神經元,一個神經元的輸出與另一個神經元的輸入之間的連線由箭頭表示。
結論
以上列出了任何資料科學家都必須熟悉的十種機器學習演算法。選擇哪種資料科學演算法是一個非常常見的問題,尤其對於該領域的初學者。此元件的正確選擇完全取決於一些關鍵因素,例如資料的大小、質量水平、型別、可用的處理時間、工作優先順序以及資料的預期用途。
為了獲得最佳結果,請選擇上述任何一種演算法,無論您在資料科學領域的技能水平如何。