1. 程式人生 > >關於機器學習的一些總結

關於機器學習的一些總結

   以下是自己關於機器學習的一些知識點總結,主要滲透了自己對某些知識點的理解,涵蓋的面較廣,將會不定期地更新。若有理解不一致之處,望指明並相互交流。

1 SVM中常用的核函式有哪些?如何選擇相應的核函式?

   常用的核函式有線性核,多項式核以及高斯核。

1.1 線性核

κ(x,z)=<x,z>\kappa (x,z) = < x,z >
  線性核對應的對映函式為:ϕ(x)=x\phi (x) = x。即對映空間與原始空間是相同的。它適用於原始資料集是線性可分的情況。此時所使用的是線性SVM。


在這裡插入圖片描述

1.2 多項式核

  κ(x,z)=[a<x,z>+c]b\kappa (x,z) = {[a < x,z > + c]^b}
  多項式核將資料從原始空間對映到了高維空間。
  考慮資料集在原始空間的分佈情況:如果分隔的決策面非線性且較為規則的話(比如,決策面是橢圓,橢球,雙曲線等),可以考慮使用多項式核。
 

在這裡插入圖片描述
在這裡插入圖片描述

1.3 高斯核

 κ(x,z)=exp(xz22σ2)\kappa (x,z) = \exp ( - \frac{{{{\left\| {x - z} \right\|}^2}}}{{2{\sigma ^2}}})


  高斯核將資料從原始空間對映到了無限維空間。關於高斯核與多項式核的關係,可以參見這篇文章:關於支援向量機(SVM)的高斯核和懲罰因子C的理解(簡單易懂)
  當原始空間的決策面較不規則,難以使用多項式核進行分類的時候,可以考慮高斯核。因為多項式核只是將原始空間對映成高維空間,而高斯核將原始空間對映成了無限維,所以對應的決策面可以更復雜,可以使得資料更容易被劃分(當然這樣也就可能出現過擬合的情況,關於高斯核引數σ\sigma的理解,上文關於支援向量機(SVM)的高斯核和懲罰因子C的理解(簡單易懂)亦有介紹)。

2 L1和L2正則化的理解?有何區別?

   L1和L2正則化項的加入都是為了避免模型的過擬合。
 

在這裡插入圖片描述   當模型過擬合時,為了擬合訓練資料集,擬合函式需要顧及每一個點,所以就會導致擬合函式在某些區間變化較為劇烈,即擬合函式在某些區間的導數較大,而這可以通過削弱權重係數來避免。L1和L2正則化的思想就是基於這個考慮。

   L1正則化損失函式:
L=L0+λjϖjL = {L_0} + \lambda \sum\limits_j {\left| {{\varpi _j}} \right|}
  實際上,L1正則化就是在原有損失函式L0{L_0}的基礎上加入了權重約束:
jϖjC\sum\limits_j {\left| {{\varpi _j}} \right|} \le C
  L2正則化損失函式:
L=L0+λjϖj2L = {L_0} + \lambda \sum\limits_j {\varpi _j^2}
  類似的,L2正則化就是在原有損失函式的基礎上加上了權重約束:
jϖj2C\sum\limits_j {\varpi _j^2} \le C
 

在這裡插入圖片描述

   上圖表示損失函式L0{L_0}分別在L2和L1正則化權重約束下尋找最優解ϖ{\varpi ^*}示意圖,此時特徵數維度為2,兩個權重約束下的可行域分別為圓形和菱形區域。
   所以:L1正則化約束下的最優解往往位於可行域的凸點,而凸點處的權值 很多為0(上圖所示 )。故而L1正則化的解具有稀疏性,可用於特徵選擇,去掉對研究問題沒有貢獻的特徵,而只保留某些貢獻較大的特徵;L2正則化約束下的最優解很難使得某些個 為0,其更偏向於選擇更多的特徵,這些特徵的權重都會接近於0。 
  

在這裡插入圖片描述   再舉一個特徵選擇的例子:當訓練一個模型對語句表達的情緒(喜怒哀樂)進行判斷時,什麼樣的特徵詞語與情緒相關就是一個特徵選擇的過程。在非常多的特徵詞彙中只有些許詞彙能反應說話者的情緒,這時候就可以利用L1正則化的思想來對特徵進行選擇,去掉對研究問題沒有貢獻的特徵。

3 常見的損失函式有哪些?

   常見的損失函式有平方損失函式(迴歸損失函式),對數損失函式,指數損失函式,Hinge損失函式,感知損失函式。

3.1 平方損失函式

L(Y,f(X))=i=1M(yif(xi))2L(Y,f(X)) = \sum\limits_{i = 1}^M {{{({y_i} - f({x_i}))}^2}}
  其是最小二乘法的應用:常用於連續變數的迴歸問題。最優擬合曲線應該使得所有點的輸出與實際結果之間的距離平方和最小。
  線性迴歸: L(ϖ)=12Mi=1M[f(xi)yi]2,f(xi)=i=0NϖixiL(\varpi ) = \frac{1}{{2M}}\sum\limits_{i = 1}^M {{{[f({x_i}) - {y_i}]}^2}} ,f({x_i}) = \sum\limits_{i = 0}^N {{\varpi _i}{x_i}}

3.2 對數損失函式

L(Y,f(X))=L(Y,P(YX))=i=1MlogP(yxi)L(Y,f(X)) = L(Y,P(\left. Y \right|X)) = - \sum\limits_{i = 1}^M {\log P(\left. y \right|{x_i})}
  其與極大似然估計有異曲同工之處:利用已知的樣本分佈(二分類問題是0-1分佈),找到最大概率導致這種分佈的引數值。
  邏輯迴歸(二分類)
L(ϖ)=1Mi=1ML(y^i,yi)=1Mi=1ML(f(xi),yi)=1Mi=1MlogP(yxi)=1Mi=1Myilogy^i(1yi)log(1y^i)L(\varpi ) = \frac{1}{M}\sum\limits_{i = 1}^M {L({{\hat y}_i},{y_i}) = } \frac{1}{M}\sum\limits_{i = 1}^M {L(f({x_i}),{y_i}) = } \frac{1}{M}\sum\limits_{i = 1}^M { - \log P(y\left| {{x_i}} \right.) = } \frac{1}{M}\sum\limits_{i = 1}^M { - {y_i}\log {{\hat y}_i} - (1 - {y_i})} \log (1 - {\hat y_i})
  其中:P(yxi)=f(xi)yi(1f(xi))(1yi)P(y\left| {{x_i}} \right.) = f{({x_i})^{{y_i}}}{(1 - f({x_i}))^{(1 - {y_i})}}。① 如果xi{x_i}屬於0類, P(y=0xi)P(y = 0\left| {{x_i}} \right.)越接近1越好(此時logP(yxi)-\log P(y\left| {{x_i}} \right.)越靠近0);② 如果xi{x_i}屬於1類,P(y=1xi)P(y = 1\left| {{x_i}} \right.)越接近1越好(此時logP(yxi)-\log P(y\left| {{x_i}} \right.)越靠近0)。
  Softmax分類
L(ϖ)=1Mi=1ML(f(xi),yi)=1Mi=1MyilogaiL(\varpi ) = \frac{1}{M}\sum\limits_{i = 1}^M {L(f({x_i}),{y_i}) = } - \frac{1}{M}\sum\limits_{i = 1}^M {{y_i}\log {a_i}}