深度/機器學習基礎知識要點:SVM、Clustering、LR、GBDT

SVM

  • SVM(Support Vector Machines)定義

    一個能使兩類之間的空間大小最大的一個超平面。這個超平面在二維平面上看到的就是一條直線,在三維空間中就是一個平面…。因此,我們把這個劃分數據的決策邊界統稱爲超平面。離這個超平面最近的點就叫做支持向量,點到超平面的距離叫間隔。支持向量機就是要使超平面和支持向量之間的間隔儘可能的大,這樣超平面纔可以將兩類樣本準確的分開,而保證間隔儘可能的大就是保證我們的分類器誤差儘可能的小,儘可能的健壯。

  • 點到超平面的距離公式

    • 超平面的方程:
      在這裏插入圖片描述

    • 點到超平面的距離d的公式:
      在這裏插入圖片描述
      W||W||爲超平面的範數
      常數bb類似於直線方程中的截距
      p(x1,x2,...xn)p(x_1,x_2,...x_n)爲樣本的中的一個點,其中xix_i表示爲第ii個特徵變量

  • 核函數
    對於非線性的情況,SVM 的處理方法是選擇一個核函數,通過將數據映射到高維空間,來解決在原始空間中線性不可分的問題。

    在這裏插入圖片描述
    上圖所述的這個數據集,是用兩個半徑不同的圓圈加上了少量的噪音生成得到的,所以,一個理想的分界應該是一個“圓圈”而不是一條線(超平面)。
    只需要把它映射到 一個三維空間中,下圖即是映射之後的結果,將座標軸經過適當的旋轉,就可以很明顯地看出,數據是可以通過一個平面來分開的:
    在這裏插入圖片描述

Clustering

  • 距離度量
    最常用的距離度量就是閔科夫斯基距離,其特例包括歐氏距離和曼哈頓距離:
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述

  • k-means算法

    在這裏插入圖片描述

  • 高斯混合聚類
    在這裏插入圖片描述

  • 密度聚類

    此類算法假定聚類結構能通過樣本分佈的緊密程度確定。通常情況下,密度聚類算法從樣本密度角度考察樣本的可連接性,並基於可連接樣本不斷拓展聚類簇以得到最終聚類結果。

    DBSCAN算法

  • 層次聚類

    層次聚類試圖在不同層次上對數據集進行劃分,從而形成樹狀的聚類結構。

LR

LR(Logistic Regression)邏輯迴歸

  • Logistic分佈

    • Logistic分佈函數如下:
      在這裏插入圖片描述
      μ\mu 是位置參數,γ>0\gamma > 0 是形狀參數。

    • Logistic分佈的密度函數如下:
      在這裏插入圖片描述

    • 示意圖

      在這裏插入圖片描述
      上圖是不同參數對logistic分佈的影響,從圖中可以看到可以看到 μ\mu 影響的是中心對稱點的位置,γ\gamma 越小中心點附近增長的速度越快。
      在深度學習中用到的非線性變換sigmoid函數是邏輯斯蒂分佈的 γ=1,μ=0\gamma=1, \mu=0 的特殊形式。

  • 邏輯斯蒂迴歸模型

    邏輯迴歸是爲了解決分類問題,目標是找到一個有足夠好區分度的決策邊界,從而能夠將兩類很好的分開。

    已知一個事件發生的機率odds是指該事件發生與不發生的概率比值。

    二分類(Y=0,1)(Y=0, 1)情況下即
    P(Y=1x)P(Y=0x)=P(Y=1x)1P(Y=1x)\frac{P(Y=1|x)}{P(Y=0|x)}=\frac{P(Y=1|x)}{1−P(Y=1|x)}

    取odds的對數就
    logistic(P(Y=1x))=logP(Y=1x)1P(Y=1x)=wxlogistic(P(Y=1|x))=log\frac{P(Y=1|x)}{1−P(Y=1|x)}=w⋅x

    • 邏輯迴歸的定義:
      輸出Y=1Y=1的對數機率是由輸入x的線性函數表示的模型,即邏輯斯蒂迴歸模型
  • 邏輯迴歸的似然函數、對數似然函數
    參考詳解

  • 優化方法
    參考詳解

  • 正則化

    在目標函數中加上一個正則化項Φ(w)\Phi(w)

    J(w)=1m[i=1myiloghw(xi)+(1yi)log(1hw(xi))]+λΦ(w)J(w) = -\frac{1}{m}[\sum_{i=1}^{m}y_ilog h_w (x_i) + (1-y_i)log(1-h_w(x_i))] + \lambda \Phi(w)

    正則化項一般會採用L1範數或者L2範數,分別爲Φ(w)=x1Φ(w)=x2\Phi (w)=||x||_1和\Phi (w)=||x||_2

    • L1範數
      L1範數:Φ(w)=x\Phi (w)=|x|
      當採用梯度下降方式來優化目標函數時,對目標函數進行求導,正則化項導致的梯度變化當wj>0w_j > 0 是取1,當wj<0w_j < 0 時取1-1。 因此當wj>0w_j > 0 的時候,wjw_j 會減去一個正數,導致wjw_j 減小,而當wj<0w_j < 0 的時候,wjw_j 會減去一個負數,導致wjw_j 又變大,因此這個正則項會導致參數w_j$ 取值趨近於0,這就是爲什麼L1正則能夠使權重稀疏

    • L2範數
      L2範數: ϕ(w)=j=1nwj2\phi(w) = \sum_{j=1}^{n}w_j^2
      對它求導,得到梯度變化爲Φ(w)wj=2wj\frac{\partial \Phi(w)}{\partial w_j} = 2w_j。同樣的更新之後使得wjw_j 的值不會變得特別大。在機器學習中也將L2正則稱爲weight decay,在迴歸問題中,關於L2正則的迴歸還被稱爲Ridge Regression嶺迴歸。weight decay還有一個好處,它使得目標函數變爲凸函數,梯度下降法和L-BFGS都能收斂到全局最優解。

    L1正則化會導致參數值變爲0,但是L2卻只會使得參數值減小,這是因爲L1的導數是固定的,參數值每次的改變量是固定的,而L2會由於自己變小改變量也變小。而公式中的λ\lambda也有着很重要的作用,它在權衡擬合能力和泛化能力對整個模型的影響,λ\lambda越大,對參數值懲罰越大,泛化能力越好。

GBDT

GBDT (Gradient Boosting Decision Tree) 梯度提升決策樹

  • 集成學習
    集成學習方法中最主要的兩種方法爲Bagging和Boosting

  • Bagging方法

    通過對訓練樣本重新採樣的方法得到不同的訓練樣本集,在這些新的訓練樣本集上分別訓練學習器,最終合併每一個學習器的結果,作爲最終的學習結果。
    學習器之間彼此是相互獨立的,這樣的特點使得Bagging方法更容易並行
    最重要的算法爲隨機森林Random Forest算法。

  • Boosting方法
    Boosting是一種遞進的組合方式,每一個新的分類器都在前一個分類器的預測結果上改進。

  • GBDT

    • GBDT表示
      在這裏插入圖片描述

    GBTD是一個加性模型,通過不斷迭代擬合樣本真實值與當前分類器的殘差yy^hm1y−\hat{y}_{h_{m−1}}來逼近真實值的,按照這個思路,第m個基分類器的預測結果爲
    在這裏插入圖片描述

    hm(x)h_m(x)的優化目標就是最小化當前預測結果Fm1(xi)+h(xi)F_{m−1}(x_i)+h(x_i)yiy_i​之間的差距。
    在這裏插入圖片描述

其他詳細參考:
簡單易學的機器學習算法——梯度提升決策樹GBDT
集成樹之三:GBDT
機器學習算法GBDT

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章