本文用於自己整理機器學習相關概念與原理,如有錯誤歡迎在評論裏指正!~
熵
信息量:I(xi)=−log(p(xi))
熵:H(x)=−∑inp(xi)log(p(xi))
KL散度(相對熵):DKL(p∣∣q)=∑inp(xi)(Iq(xi)−Ip(xi)))=∑inp(xi)logq(xi)p(xi)=−H(x)+[−∑inp(xi)log(q(xi))]
交叉熵:H(p,q)=−∑inp(xi)log(q(xi))
參數模型與非參數模型
參考博客
SVM
幾何間隔:γ=∣∣ω∣∣2
約束條件:yi(ωTxi+b)≥1,(i=1,2,...,m)
1. 原始問題
硬間隔(結構風險
):
- minω,b21∣∣ω∣∣2
- yi(ωTxi+b)≥1,(i=1,2,...,m)
軟間隔(結構風險
+經驗風險
):
- minω,b21∣∣ω∣∣2+C∑i=1mξi
- yi(ωTxi+b)≥1−ξi,(i=1,2,...,m)
2. 拉格朗日函數
拉格朗日函數:L(ω,b,α)=21∣∣ω∣∣2+∑i=1mαi(1−yi(ωTxi+b))
拉格朗日原始問題:minω,bmaxαL(ω,b,α)
拉格朗日對偶問題:maxαminω,bL(ω,b,α)
3. 對偶問題
L(ω,b,α)分別對ω和b求偏導:
ω=∑i=1mαiyixi
0=∑i=1mαiyi
硬間隔對偶問題即爲:
- maxα∑i=1mαi−21∑i=1mαiαjyiyjxiTxj
- 對於i=1,2,...,m:
- ∑i=1mαiyi=0
- αi≥0
軟間隔對偶問題即爲:
- maxα∑i=1mαi−21∑i=1mαiαjyiyjxiTxj
- 對於i=1,2,...,m:
- ∑i=1mαiyi=0
- C≥αi≥0
4. 轉化爲對偶問題的好處
- 不等式約束轉化爲等式約束
- 方便引入核函數
- 降低問題複雜度:
a. 原始問題中,複雜度與樣本的維度ω有關;對偶問題中,複雜度只與樣本數量m有關。
b. 係數α僅在支持向量中非0,其它全部爲0。
5. 合頁損失函數
軟間隔最大化,則有合頁損失函數:L(y(ωx+b))=[1−y(ωx+b)]+
優化目標爲:min∑i=im[1−yi(ωxi+b)]++λ∣∣ω∣∣2
6. 多分類SVM
- ovr:訓練k個分類器,總體速度較快
- 訓練單個模型時,相對速度較慢
- 類別不對稱,可採用較大的懲罰因子C
- 當有新的類別加進來時,需要對所有的模型進行重新訓練
- ovo:訓練2k(k−1)個分類器,總體速度較慢
- 在訓練單個模型時,相對速度較快
- 當有新的類別加進來時,不需要重新訓練所有的模型
7. 高斯核函數
參考博客
LR
1. 二項邏輯迴歸
對數機率爲輸入x的線性函數:logit(P(Y=1∣x))=1−P(Y=1∣x)P(Y=1∣x)=ωx
條件概率分佈爲:
- logit(P(Y=1∣x))=1+eωxeωx
- logit(P(Y=0∣x))=1+eωx1
2. 多項邏輯迴歸(K項)
第i項與第K項的對數概率比:P(Y=K∣x)P(Y=i∣x)=ωix
再根據總概率和爲1,多項邏輯迴歸的條件概率分佈爲:
- logit(P(Y=i∣x))=1+∑i=1K−1eωxeωix
- logit(P(Y=K∣x))=1+∑i=1K−1eωx1
3. 損失函數
似然函數:∏i=1N[π(xi)]yi[1−π(xi)]1−yi
對數似然:L(ω)=∑i=1N[yilnπ(xi)+(1−yi)ln(1−π(xi))]
損失函數:J(ω)=−N1∑i=1N[yilnπ(xi)+(1−yi)ln(1−π(xi))],本質上就是衡量真實分佈和預測分佈之間的交叉熵
4. LR與SVM區別
- LR是參數模型,SVM是非參數模型。
- 從目標函數來看,區別在於邏輯迴歸採用的是logistical loss,SVM採用的是hinge loss.這兩個損失函數的目的都是增加對分類影響較大的數據點的權重,減少與分類關係較小的數據點的權重。
- SVM的處理方法是隻考慮support vectors,也就是和分類最相關的少數點,去學習分類器。而邏輯迴歸通過非線性映射,大大減小了離分類平面較遠的點的權重,相對提升了與分類最相關的數據點的權重。
- 邏輯迴歸相對來說模型更簡單,好理解,特別是大規模線性分類時比較方便。而SVM的理解和優化相對來說複雜一些,SVM轉化爲對偶問題後,分類只需要計算與少數幾個支持向量的距離,這個在進行復雜核函數計算時優勢很明顯,能夠大大簡化模型和計算。
- logic 能做的 svm能做,但可能在準確率上有問題,svm能做的logic有的做不了。