首頁  >  文章  >  科技週邊  >  常見的監督學習演算法

常見的監督學習演算法

WBOY
WBOY轉載
2024-01-23 08:54:041773瀏覽

常見的監督學習演算法

監督學習是機器學習的一種,透過訓練演算法使用標記範例,預測未見範例。其目標是學習將輸入資料映射到輸出標籤的函數。

在監督式學習中,演算法接收一個訓練資料集,該資料集包含一系列的輸入範例以及它們對應的正確輸出標籤。透過使用這個資料集,演算法能夠學習出一個函數,用來預測新的範例的輸出標籤。為了評估演算法的效能,我們通常會將一個獨立的測試資料集用於驗證學習函數的準確性。這個測試資料集是用來檢驗演算法在未見過的資料上的表現。

1.線性迴歸

線性迴歸是一種用於預測連續值的方法,它假設特徵和目標之間的關係是線性的。其目標是找到最佳擬合線,使得預測值與真實值之間的誤差平方和最小化。此外,線性迴歸還可用於多項式迴歸,透過擬合多項式曲線來適應資料。

2.邏輯迴歸

邏輯迴歸是一種用於二進位分類的演算法。它是一種迴歸演算法,因為它預測連續值,但它常用於分類任務,因為它使用邏輯函數將預測值轉換為機率。邏輯迴歸之所以被稱為「邏輯」迴歸,是因為它使用邏輯函數(也稱為sigmoid函數)來預測樣本屬於某個類別的機率。

它的目標是使用最佳化演算法(例如梯度下降)學習一組權重,這些權重可用於預測樣本屬於特定類別的機率。透過對預測機率進行閾值化來進行預測。

3.支援向量機(SVM)

#支援向量機演算法是一種線性分類器,試圖在高維空間中找到最大程度分離兩個類別的超平面,用於分類和迴歸。

SVM透過學習一組定義超平面的權重來運作。選擇超平面,使其最大程度地分離類,並與每個類的最近範例具有最大距離(稱為邊距)。一旦找到超平面,SVM就可以用於對新範例進行分類,方法是將它們投影到特徵空間並根據它們落在超平面的哪一側來預測類別。核函數可以是線性的,也可以是非線性的,它將資料轉換到更高維的空間中,允許支援向量機在轉換後的空間中找到線性邊界。

SVM對於資料是高維且線性不可分的任務特別有用,因為它們可以透過將輸入資料對應到高維空間(它可能是線性可分的)來學習非線性決策邊界,然後學習該空間中的決策邊界(也稱為內核技巧)。

4.決策樹

決策樹演算法是一種非線性分類器,它根據用於分類和回歸的樹結構進行預測。它的工作原理是根據特徵值遞歸地將輸入空間劃分為多個區域。

決策樹的工作原理是根據特徵值遞歸地將輸入空間劃分為多個區域。在樹中的每一步,演算法都會根據基尼指數或資訊增益等分割標準選擇最能分割資料的特徵。這個過程會持續到達到停止標準為止,例如樹的最大深度或葉節點中範例的最小數量。

為了對新範例進行預測,演算法根據特徵值追蹤樹的分支,直到到達葉節點。然後根據葉節點中範例的多數類別(對於分類任務)或葉節點中範例的平均值或中位數(對於迴歸任務)進行預測。

決策樹是一種簡單且可解釋的模型,並且易於實施。它們的訓練和預測速度也很快,並且可以處理各種資料類型。然而,決策樹可能容易過度擬合,尤其是當允許樹長得非常深時。

5.K最近鄰(KNN)

K最近鄰演算法是一種非參數方法,它根據給定測試範例的K最近範例的多數類別進行預測,用於分類和迴歸。

KNN的工作原理是儲存所有的訓練範例,然後根據特徵空間中最接近測試範例的K個範例進行預測。 K的值是從業者選擇的超參數。對於分類,基於K個最近範例的多數類別進行預測。對於迴歸,根據K個最近範例的目標變數的平均值或中位數進行預測。

KNN的計算量可能很大,因為演算法需要計算測試範例與所有訓練範例之間的距離。它也可能對K和距離度量的選擇敏感。它也用作與更高級演算法進行比較的基準模型。

6.樸素貝葉斯

樸素貝葉斯演算法是一種機率分類器,在給定某些特徵存在的情況下,根據某些事件發生的機率進行預測。樸素貝葉斯做出「樸素」假設,即在給定類別標籤的情況下,資料中的所有特徵都相互獨立。這個假設通常是不切實際的,但儘管有這個假設,演算法在實踐中仍然運作良好。

#

樸素貝葉斯演算法有多種變體。高斯樸素貝葉斯用於連續特徵,並假設特徵服從常態分佈。多項式樸素貝葉斯用於計數數據,並假設特徵服從多項式分佈。伯努利樸素貝葉斯用於二元特徵,並假設特徵服從伯努利分佈。樸素貝葉斯是一種簡單且有效率的演算法,易於實現,訓練和預測速度快。

7.神經網路

神經網路是一種受大腦結構和功能啟發的機器學習演算法。它們由分層連接在一起的人工神經元組成,稱為節點或單元。神經網路可以學習執行廣泛的任務,包括分類、回歸和生成序列。它們特別適合需要學習輸入資料和輸出之間複雜關係的任務。

有許多不同類型的神經網絡,包括前饋神經網路、卷積神經網路和遞歸神經網路。前饋神經網路是最基本的神經網路類型,由一個輸入層、一個或多個隱藏層和一個輸出層組成。卷積神經網路用於影像分類和物件偵測等任務,它們旨在處理具有網格狀結構的數據,例如影像。循環神經網路用於語言翻譯和語音識別等任務,它們旨在處理順序數據,例如時間序列或自然語言。

神經網路使用最佳化演算法(例如隨機梯度下降)進行訓練,以最小化衡量預測輸出與真實輸出之間差異的損失函數。在訓練期間調整節點之間連接的權重以最小化損失。

8.隨機森林

隨機森林演算法是一種整合方法,將多個決策樹的預測結合起來進行最終預測。透過在訓練資料的不同子集上訓練許多決策樹,然後對各個樹的預測進行平均來創建隨機森林。這個過程稱為自舉,因為樹是在資料的自舉樣本上訓練的。 bootstrapping過程將隨機性引入樹訓練過程中,這有助於減少過度擬合。

隨機森林廣泛用於分類、迴歸和特徵選擇等任務。它們以處理具有許多特徵的大型數據集的能力以及在廣泛任務中的良好表現而聞名。它們還可以抵抗過度擬合,這使它們成為許多機器學習應用程式的不錯選擇。

9.Boosting演算法

Boosting是一種機器學習技術,涉及訓練一系列弱模型並將它們的預測結合起來做出最終預測。在boosting中,弱模型被依次訓練,每個模型都被訓練來修正前一個模型的錯誤。最終預測是透過使用加權多數票組合各個弱模型的預測來做出的。各個模型的權重通常是根據模型的準確性來選擇的。 Boosting通常用於分類和回歸等任務。它以在廣泛的任務上實現高精度的能力以及處理具有許多特徵的大型數據集的能力而聞名。

以上是常見的監督學習演算法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:163.com。如有侵權,請聯絡admin@php.cn刪除