機器學習(2)

Dylaris發表於2024-10-18

線性分類(LinearClassification)

線性可分性(Linear Separability)

線性可分性是指在一個特徵空間中,能夠用一個 超平面 將不同類別的資料點完全分開。換句話說,如果存在一個 線性函式(通常是一個線性方程或線性組合),能夠將兩類資料點劃分為兩側,則這些資料被稱為線性可分

1

  • 超平面

    • 在二維空間中,超平面是一個線段
    • 在三維空間中,它是一個平面
    • 在更高維空間中,超平面是一個維度減一的空間

    超平面可以用線性方程表示,如 w⋅x+b=0,其中 w 是權重向量,x 是特徵向量,b 是偏置項

  • 線性可分

    如果存在這樣的超平面,使得所有屬於類A的資料點位於超平面的一側,而所有屬於類B的資料點位於另一側,則稱這兩類資料是線性可分的

  • 線性不可分

    如果無法用一個超平面將兩類資料完全分開,那麼這些資料被稱為線性不可分。此時,可能需要使用更復雜的模型,例如非線性分類器(如支援向量機的核方法、神經網路等)

二分類(Binary Classification)

目的是將輸入資料分為 兩個類別(一般是0和1)

它通常用於解決具有 兩個明確標籤的問題,例如

  • 是/否
  • 正/負
  • 成功/失敗

線性分類器(Linear Classifier)

是一種用於分類任務的 機器學習模型,它透過線性組合特徵來進行決策。線性分類器的核心思想是透過一個 超平面 將不同類別的資料點劃分開

支援向量機(Support Vector Machine)

支援向量機的意思就是讓支援向量和超平面之間的間隔儘可能的大

支援向量 (Support Vector)

支援向量指的是在訓練資料集中,距離決策邊界最近 的樣本點。這些樣本點對模型的決策邊界有 直接影響

最大間隔解(Maximum Margin Solution)

這裡有多種劃分解,但是那種更好呢?如何評估。就是用 間隔 來衡量的
2

最大間隔的計算

3

最大間隔分類器(Maximum Margin Classifier)

在支援向量機中,最大間隔分類器的目標是找到一個超平面,該超平面將不同類別的資料點分開,並且使得兩類之間的間隔(margin)最大化。間隔是指到最近的資料點(支援向量)到超平面的距離

什麼是穩定性(Stability)與擾動(Perturbations)

  • 擾動:指的是輸入資料的微小變化或噪聲

  • 穩定性:指模型對輸入資料變化的敏感程度。一個穩定的模型在面對輸入的小變化時,輸出的變化應該是小的

最大間隔的穩定性

最大間隔解之所以被認為對輸入擾動最穩定,原因如下:

  • 較大的間隔:最大間隔分類器在分類時有較大的安全區域(即間隔),這意味著即使 某些資料點受到小的擾動,它們仍然可能落在正確的分類區域內 。因此,模型的決策邊界不會因為輸入的輕微變化而發生顯著改變

  • 支援向量的重要性:只有 距離決策邊界最近的支援向量對模型的決策有直接影響 ,而其它遠離邊界的資料點不太會影響分類決策。因此,模型對輸入擾動的健壯性提高

最佳化問題

讓 ||w|| 最小即可
5

考慮到一些異常值可能會影響超平面的選擇,所以提供了一個超引數C
6

以下是更詳細的解釋
7

梯度下降(Gradient Descent)

批次梯度下降

在批次梯度下降中,我們計算 整個資料集的平均梯度,然後 一次性更新 所有引數。這能確保每次引數更新時都考慮了整個資料集的資訊,但缺點是 計算量很大,尤其當資料集非常龐大時

8

這裡就是用梯度下降的去解決支援向量機中的最佳化問題(就是那個最小化的問題)

計算次梯度

當我們處理不可微的函式(如絕對值函式、分段線性函式等)時,傳統的梯度下降演算法無法使用,因為這些函式在某些點可能沒有定義明確的梯度。在這種情況下,次梯度為我們提供了一個替代方案

10

損失函式的比較

9

隨機梯度下降(Stochastic Gradient Descent)

SGD的關鍵點是:每次更新引數時,僅使用 一個樣本的資料來計算梯度並更新引數

SGD步驟

14

11

SGD優缺點

  • 優點

    • 計算效率高:每次只用一個樣本,更新速度快,適合大規模資料
    • 能跳出區域性最優:由於每次使用一個樣本,更新方向會有更多的波動,這種隨機性有助於避免陷入區域性最優,找到全域性最優解
  • 缺點

    • 噪聲較大:每次更新只考慮一個樣本,更新過程 波動較大,可能導致收斂速度較慢,甚至在最優解附近 震盪
    • 不穩定:由於梯度計算不完全基於全體資料,SGD可能會在最優解附近不穩定

改進SGD

為了提高SGD的收斂性和穩定性:

  • 學習率衰減:隨著訓練進行,逐漸降低學習率,以便更精細地調整引數
  • 動量:使用過去梯度的加權平均值,來平滑引數更新過程,減少震盪

小批次隨機梯度下降(Mini-Batch Stochastic Gradient Descent)

其實就是BGD和SGD的綜合版本

小批次隨機梯度下降在每次更新引數時使用一個 小的樣本集合(即小批次),而不是單個樣本或整個資料集。小批次的大小通常是一個超引數,常見的選擇包括32、64或128等

步驟

15

12

優缺點

  • 計算效率:比批次梯度下降快,因為每次只計算小批次的梯度
  • 穩定性:比SGD更穩定,因為小批次平均了多個樣本的梯度,減少了噪聲
  • 並行處理:小批次使得計算可以更容易並行化,提高訓練速度

多類別分類(Multi-class Classification)

轉換為二分類(Convert to Binary Classification)

將多類別分類問題轉換為二分類問題。二分類任務的目標是將資料點分為兩個類別

  • 一對多(One-vs-Rest, OvR)

    對於 每個 類別,訓練一個二分類模型,區分該類別和所有其他類別

    例如,如果有三個類別 A、B 和 C,模型將分別訓練 A vs. (B+C)、B vs. (A+C) 和 C vs. (A+B)

  • 一對一(One-vs-One, OvO)

    對於 每對 類別訓練一個二分類模型

    例如,對於三個類別 A、B 和 C,將訓練 A vs. B、A vs. C 和 B vs. C 的模型

從二分類擴充套件(Extend from Binary Classification)

從已有的二分類模型或方法擴充套件到處理多類別分類問題

在二分類模型的基礎上,透過採用上述的一對多或一對一策略來實現多類別分類

例如 KNN演算法

KNN

  • 計算距離

KNN 的第一步是計算待分類物件(測試物件)與訓練集中的每個物件之間的距離。常用的距離度量包括:

  • 歐幾里得距離(Euclidean Distance):最常用的距離計算方式,適用於連續資料

    21

  • 曼哈頓距離(Manhattan Distance):也稱為城市街區距離,適用於高維空間

    22

  • 找到鄰居
    計算完距離後,KNN 會根據距離的大小選擇最近的 K 個訓練物件作為鄰居。K 的選擇非常重要:

    • 小的 K 值:可能會導致對噪聲過於敏感,容易出現過擬合
    • 大的 K 值:可能會導致資訊的平滑處理,降低模型的靈活性,容易出現欠擬合
  • 投票標籤

一旦找到了 K 個鄰居,KNN 會根據這 K 個鄰居的標籤進行投票,選擇出現頻率最高的標籤作為測試物件的預測類別。如果是迴歸問題,則取鄰居的平均值作為預測值

  • 總結

    KNN 演算法簡單易於理解,且無需模型訓練,但它的計算量較大,尤其是在處理大型資料集時。KNN 對資料的分佈和鄰居的選擇非常敏感,因此在實際應用中,通常需要對資料進行適當的標準化或歸一化處理

層次分類(Hierarchical Classification)

在具有層次結構的類別體系中進行分類,類別之間的關係呈現出層級結構

使用 Label tree,透過將輸出空間(即所有可能的類別標籤)劃分成一個樹狀結構來實現分類

  • 葉子節點只包含單一類別:每個葉子節點代表一個明確的類別,確保分類結果的清晰性

  • 父節點劃分為多個聚類:每個父節點根據其子類被分成多個子節點,每個子節點對應一個特定的類別。

  • 在每個節點上訓練簡單分類器:每個節點訓練一個簡單的分類器來區分不同的子類,從而提高分類的準確性和效率

20

相關文章