標籤:

1.4 機器學習中的一些基本概念

1.4.1 有參和無參模型

有固定數量參數的模型稱為有參模型,參數隨訓練集數量增加的模型稱為無參模型。有參模型用起來簡單但是具有很強的假設,無參模型很靈活但是對大型數據計算困難。

1.4.2 一個簡單的無參分類器:K-nearest neighbors

KNN演算法過程:對於測試數據 mathrm{x} ,找到訓練集中最近的 K 個點,返回類別的比例作為估計。 p(y=cmid mathrm{x},D,K)=frac{1}{K}sum_{iin N_k(mathrm{x},D)}I(y_i=c) 	ag{1.2}

其中, N_K(mathrm{x},D)D 中離 mathrm{x} 最近的 K 個點, I(e) 是指示函數,定義如下: I(e)=left{ egin{array}{} 1 qquad 	ext{if e is true} \ 0 qquad 	ext{if e is false} 	ag{1.3} end{array} 
ight.

1.4.3 維度詛咒

N
ightarrowinfty 時,KNN分類器可以達到最好性能的2倍。然而KNN不適用於高維數據。

1.4.4 分類和回歸的有參模型

對付維度詛咒的主要辦法是對數據的分布做出一些假設。這些假設也被稱為歸納偏執,體現在有參模型當中。

1.4.5 線性回歸

線性回歸假設響應是輸入的線性函數: y(mathrm{x})=mathrm{w}^Tmathrm{x}+epsilon=sum^D_{j=1}w_jx_j+epsilon	ag{1.4}

其中, mathrm{w}^Tmathrm{x} 表示輸入向量 mathrm{x} 與模型權重 mathrm{w} 的內積, epsilon 是線性預測與真實響應之間的殘差。通常假設 epsilon 服從高斯分布,表示為 epsilonsim N(mu,sigma^2)mu 是均值, sigma^2 是方差。

重寫如下: p(ymid mathrm{x},	heta)=N(ymid mu(mathrm{x}),sigma^2(mathrm{x}))	ag{1.5}

很明顯這個模型是條件概率密度。對於最簡單的情況,假設 mumathrm{x} 的線性函數, mu=mathrm{w}^Tmathrm{x} ,以及雜訊是固定的, sigma^2(x)=sigma^2 。這種情況下, 	heta=(mathrm{w},sigma^2) 是模型的參數。當輸入是1維時,能表示期望響應為: mu(x)=w_0+w_1x=mathrm{w}^Tmathrm{x}	ag{1.6}

其中, w_0 是偏執, w_1 是斜率,並定義向量 mathrm{x}=(1,x)

線性回歸能倍用於非線性關係的模型,通過替換 mathrm{x} 為輸入的非線性函數 phi(mathrm{x})

p(ymidmathrm{x},	heta)=N(ymidmathrm{w}^Tphi(mathrm{x},sigma^2))	ag{1.7}

比如 phi(mathrm{x})=[1,x,x^2,ldots,x^d] ,這也被稱為多項式回歸。

1.4.6 邏輯回歸

可以改變兩個地方來泛化線性回歸到二分類問題。第一,替換高斯分布為伯努利分布,這樣能更適合二元響應, yin{0,1} 。也就是: p(ymidmathrm{x},mathrm{w})=Ber(ymidmu(mathrm{x}))	ag{1.8}

其中, mu(x)=E[ymid mathrm{x}]=p(y=1mid mathrm{x}) 。第二,之前是計算輸入的線性組合,現在通過一個函數:mu(mathrm{x})=sigm(mathrm{w}^Tmathrm{x})	ag{1.9}

來確保 0lemu(x)le1。其中 sigm(eta) 是 sigmoid 函數,定義為: sigm(eta)	riangleqfrac{1}{1+exp(-eta)}=frac{e^eta}{e^eta+1}	ag{1.10}

把這兩步放到一起,就得到邏輯回歸: p(ymid mathrm{x},mathrm{w})=Ber(ymid sigm(mathrm{w^Tmathrm{x}}))	ag{1.11}

一個邏輯回歸的簡單例子:

p(y_i=1mid x_i,mathrm{w})=sigm(w_0+w_1x_i)	ag{1.12}

如果閾值設為0.5,可以得到一個決策規則: hat{y}=1Longleftrightarrow p(y=1mid mathrm{x})>0.5	ag{1.13}

在使得 sigm(w_0+w_1x)=0.5 的點 x^* 處,可以畫一條垂線,倍稱為決策邊界。邏輯回歸同樣可以擴展為非線性決策邊界。

1.4.7 過擬合

過度擬合數據中的雜訊會對真實數據分布做出錯誤的估計。

1.4.8 模型選擇

當有很多模型可以選擇時,如何選擇一個正確的模型?一個自然的方法是計算在訓練集上的錯誤率: err(f,D)=frac{1}{N}sum^N_{i=1}I(f(mathrm{x}_i)
e y_i)	ag{1.14}

其中, f(mathrm{x}) 是分類器。但這會導致過擬合。合理的方式是,把訓練數據分為訓練集和驗證集,在驗證集上選擇合理的模型參數,並使用這個參數在全部數據上重新訓練。如果訓練數據過少,則可以使用交叉驗證的方式。

1.4.9 沒有免費午餐定理

任何演算法在全部可能數據上的性能都是相同的,只能是針對問題選擇演算法。


推薦閱讀:

梯度下降及其優化演算法
嘗試克服一下小夥伴對神經網路的恐懼No.26
Learning Explanatory Rules from Noisy Data 閱讀筆記3
如何正確使用「K均值聚類」?
泰坦尼克號存活預測

TAG:機器學習 |