几种机器学习模型的基本思路
本文試圖從分類學習來分析現有幾種機器學習模型的基本思路。
首先強調,機器學習所使用的訓練數據和測試數據被看作是依聯合分布概率P(X,Y)P(X,Y)P(X,Y)獨立同分布產生,這是監督學習關于數據的基本假設。
對于分類問題,設輸入空間 X?Rn\mathcal{X} \subseteq R^nX?Rn 為 nnn 維向量的集合,輸出空間為類標記集合 Y={c1,c2,...,cK}\mathcal{Y} = \{ c_1, c_2, ..., c_K \}Y={c1?,c2?,...,cK?}。輸入為特征向量 x∈Xx \in \mathcal{X}x∈X,輸出為類標記 y∈Yy \in \mathcal{Y}y∈Y。XXX 是定義在輸入空間 X\mathcal{X}X 上的隨機變量,YYY 是定義在輸出空間 Y\mathcal{Y}Y 上的隨機變量。P(X,Y)P(X,Y)P(X,Y) 是 XXX 和 YYY 的聯合概率分布。訓練數據集
T={(x1,y1),(x2,y2),...,(xN,yN)}T = \{ (x_1, y_1), (x_2, y_2), ..., (x_N, y_N) \} T={(x1?,y1?),(x2?,y2?),...,(xN?,yN?)}
由 P(X,Y)P(X,Y)P(X,Y) 獨立同分布產生。我們的目的是通過訓練集學習到聯合概率分布 P(X,Y)P(X,Y)P(X,Y) 或條件概率分布 P(Y∣X)P(Y|X)P(Y∣X)。
如果訓練集足夠大,我們由訓練集所獲得的經驗條件概率分布 P^(Y∣X)\hat{P} (Y|X)P^(Y∣X) 可以無限逼近于實際的條件概率分布 P(Y∣X)P(Y|X)P(Y∣X)。但問題在于,我們很難獲得足夠多的樣本。對于分類問題,假設 x(j)x^{(j)}x(j) 可取值有 SjS_jSj? 個,j=1,2,...,nj = 1, 2, ..., nj=1,2,...,n,那么輸入空間與輸出空間所可能的組合數 M=K∏j=1nSjM = K \prod_{j=1}^{n} S_jM=K∏j=1n?Sj?。
事實上,樣本數量 ∣T∣|T|∣T∣ 相對“可能性”數量 MMM 不夠大,是機器學習各分類模型要解決的主要問題。如前所述,如果 ∣T∣M\frac{|T|}{M}M∣T∣? 足夠大,我們實際上可以以經驗條件概率分布 P^(Y∣X)\hat{P} (Y|X)P^(Y∣X) 來作為實際條件概率分布 P(Y∣X)P(Y|X)P(Y∣X)(注意關于數據的基本假設:訓練數據和測試數據被看作是依聯合分布概率 P(X,Y)P(X,Y)P(X,Y) 獨立同分布產生)。
所謂過擬合,就是無視 ∣T∣M\frac{|T|}{M}M∣T∣? 必須保持較高的比例這一要求,所求得的結果其實沒有統計意義。在訓練集之外的現實世界,正是因為數據的巨型數量,才呈現出分布規律。對于分類問題,現實世界中數據數量與“可能性”數量 MMM 的比趨向于無窮。
好,既然 ∣T∣|T|∣T∣ 不夠大,只有想辦法減少 MMM,保持 ∣T∣M\frac{|T|}{M}M∣T∣? 處于較高的比例,才有可能獲得接近 P(Y∣X)P(Y|X)P(Y∣X) 的 P^(Y∣X)\hat{P} (Y|X)P^(Y∣X)。現有的機器學習模型,基本都是遵循這一基本思路設計,考慮到 M=K∏j=1NSjM = K \prod_{j=1}^{N} S_jM=K∏j=1N?Sj?,其中 KKK 是不變的,具體的減少 MMM 的辦法有 222 類。
減少條件特征數 nnn
決策樹
決策樹模型通過計算信息增益來識別對結果(種類)YYY 影響最大的那些特征,決策樹的剪枝實際上就是去掉那些對結果影響小的特征的識別,實際上就是減少了特征數量 nnn,從而 MMM 也得到減小。
最大熵
最大熵模型通過指定“特征”及“特征函數”,來過濾出那些更有價值的樣本點。實際上,這些“特征”往往是某個條件特征或是某些條件特征組合的一種反映,本質上還是條件特征的篩選,設計思路也是減少條件特征數 nnn,從而減小 MMM。
減少條件取值數 SSS
kkk 臨近法
kkk 臨近法模型,對于樣本集中沒有出現過的特征向量 xxx,直接以樣本中“靠近 xxx”的特征向量來表征它。比如極端情況 k=1k = 1k=1,則相當于直接用離 xxx 最近的樣本特征向量來代替 xxx。所以 kkk 臨近法模型的思路其實是:使用少部分(樣本集中出現過的)特征值來取代其他的特征值,也就是減少取值范圍 Sj(j=1,2,...,n)S_{j(j = 1, 2, ..., n)}Sj(j=1,2,...,n)?,從而減小 MMM。
樸素貝葉斯
樸素貝葉斯模型通過條件獨立性假設,來推測樣本集中沒有出現過的特征向量的分布概率。舉個例子,我們知道 xi(1)x_i^{(1)}xi(1)? 取值范圍是 {Si1,Si2}\{S_{i1}, S_{i2}\}{Si1?,Si2?},xi(2)x_i^{(2)}xi(2)? 取值范圍是 {Si3,Si4,Si5}\{S_{i3}, S_{i4}, S_{i5}\}{Si3?,Si4?,Si5?},我們不需要樣本集中出現過 xj={Si1,Si3,...}x_j = \{S_{i1}, S_{i3}, ...\}xj?={Si1?,Si3?,...} 就可以推測 xjx_jxj? 的分布概率。實際上樸素貝葉斯模型同樣是使用少部分(樣本集中出現過的)特征值來取代(計算)其他的特征值,本質上也是減少取值范圍 SSS,從而減小 MMM。
這里多聊聊 kkk 臨近法和樸素貝葉斯,它們雖然基本思路一樣,但考慮問題的角度卻截然相反。樸素貝葉斯基于條件獨立性假設,各條件特征相關性越小越好。kkk 臨近法認為接近的點更相似,但判斷“接近”時只考慮數學上的距離而不考慮各坐標軸(條件特征)是否具有可比性。比如衣服的長度和顏色是兩個無關的特征,但在 kkk 臨近法模型中它們變得相互關聯,根據顏色到數值的映射你會發現某種顏色跟長度 180 更接近(?)。所以其實 kkk 臨近法模型想取得較好的效果,反而要求條件特征具有較高的關聯性,才能使得“特征向量 xxx 在某個特征維度上移動會影響到其它特征維度上的向量 x’x’x’ 與 xxx 的相關性的判斷(即距離)”這件事情顯得合理。
(未完)
總結
以上是生活随笔為你收集整理的几种机器学习模型的基本思路的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1000个手工绘制污渍笔刷
- 下一篇: android格式化手机号正则,Andr