1.參數模型(parametric models)與非參數模型(non-parametric models)
模型是否有固定數目的參數?若是則為參數模型,若參數數目隨著訓練數據集增大而增加則為非參數模型。一般而言,參數模型更快,然而卻對數據分布特性進行了更強的假設。非參數模型則更加靈活,但是對于大數據集的計算量較大,難以處理。
非參數模型的例子:kNN算法。對于kNN算法的測試數據點x,需要計算x與訓練集中每個點的距離。計算量隨著訓練集增大。
2.生成模型(generative)與判別模型(discriminative)
生成方法基于數據學習得到聯合概率分布P(Y,X), 然后計算P(Y|X) = P(Y,X)/ P(X),并以此作為預測。典型的生成模型有樸素貝葉斯,隱馬爾可夫模型。由于模型給出了對于輸入X,對于可能輸出Y的生成關系,所以叫做生成模型。
判別模型直接學習得到決策函數f(X),或者得到條件概率P(Y|X)。該模型僅關注對于輸入X,應該預測什么樣的輸出Y。k近鄰算法、感知機、決策樹、邏輯回歸、最大熵模型、SVM、Boosting與條件隨機場等都是典型的判別模型。
3. 無免費午餐定理(No Free Lunch Theorem)
All models are wrong, but some models are useful --George Box
沒有適用于所有問題的最好模型。原因在于,在一個領域內的假設極可能不適用于其它的領域。因此,對于來自現實世界的不同的數據,我們需要選擇不同的模型來解決需求。
4.精確率(precision)與召回率(recall)
對于兩分類問題,精確率與召回率是常用的評價指標。舉個例子,我們想通過王二以前在淘寶的瀏覽行為(點擊、收藏、加入購物車等)來預測下個月王二會買哪些商品。對于淘寶上的商品,王二要么買,要么就是不買,這就是個兩分類問題。
我們把“買”作為正類,“不買”作為負類。我們可以把預測結果分成四種情況:
a. 預測買的商品,王二確實買了(True Positive,簡稱TP)
b. 預測買的商品,王二實際沒買(Fause Positive, 簡稱FP)
c. 預測沒買的,王二實際買了(Fause Negtive, FN)
d. 預測沒買的,王二確實沒買(True Negtive, TN)
圖中右邊圓代表我們預測“買”的商品( Predict = TP+FP),左邊圓代表王二實際購買的商品(Positive = TP+FN)。中間交集即為我們預測“買”的正確的部分(TP)。那么精確率等于我們預測“買”的商品中正確的,除以我們預測“買”的商品, 即Precision = TP/Predict 。召回率是預測買的正確的部分,占王二實際購買商品的比率,即Recall = TP/Positive 。
這個淘寶的例子是從阿里巴巴大數據競賽來的靈感,有興趣的可以去看看它這里對Precision與Recall的具體定義。有人可能會問,示例圖里怎么沒有TN呢?這個就留給大家思考吧: )
擴展:對于分類器的評價,有個常用的標準,受試者工作特征曲線(receiver operating characteristic curve, ROC)。ROC曲線的橫坐標為FPR( false positive rate),縱坐標為TPR( true positve rate)。計算公式如下:
TPR = TP/Postive = TP/( TP + FN)
FPR = FP/Negtive = FP/(FP + TN)
ROC曲線關鍵點的解釋:
( TPR=0,FPR=0 ) 把每個實例都預測為負類的模型
( TPR=1,FPR=1 ) 把每個實例都預測為正類的模型
( TPR=1,FPR=0 ) 代表理想模型
分類模型越好則其對應的ROC曲線越接近左上角,而一個隨機猜測模型應位于連接點(TPR=0,FPR=0)和(TPR=1,FPR=1)的主對角線上。
ROC曲線下方的面積(AUC)提供了評價模型平均性能的另一種方法。(TPR=1,FPR=0)的理想模型AUG = 1;如果模型是個簡單的隨機猜測模型,那么它的AUG = 0.5,如果一個模型好于另一個,則它的曲線下方面積相對較大。
5.維度災難(The curse of dimensionality)
在高維空間中數據變的非常稀疏。比如對于kNN算法,假設訓練樣本均勻分布在D維空間的邊長為1的立方體中。為了預測x的類別,若我們想使用整個數據集中10%的數據點對x的類別進行投票,則需要一個邊長為0.8的立方體,才能夠囊括足夠的數據點;如果我們只使用1%的樣本點投票呢?我們需要的小立方體的邊長為0.63。可以看到這時我們的算法已經不是基于局部的了,更別說所謂“最近鄰”了。
高維空間的數據稀疏性將導致一系列困難:
a. 需要更多的采樣的樣本點
b. 在組織和搜索數據時有賴于檢測對象區域,這些區域中的對象通過相似度屬性而形成分組。然而在高維空間中,所有的數據都很稀疏,從很多角度看都不相似,因而平常使用的數據組織策略變得極其低效。
c. 距離在高維度下失去意義
在某種意義上,幾乎所有的高維空間都遠離其中心,或者從另一個角度來看,高維單元空間可以說是幾乎完全由超立方體的“邊角”所組成的,沒有“中部”。一維正態分布有68%的值落于正負標準差之間,而在十維空間上只有0.02%。這對于理解卡方分布是很重要的直覺理解。
卡方分布:若N個隨機變量服從標準正態分布,那么它們的平方和(注意在計算歐氏距離時就要用到各個變量的平方和)構成的新的變量服從卡方分布,N是自由度。
然而,由于本征維度的存在,其概念是指任意低維數據空間可簡單地通過增加空余(如復制)或隨機維將其轉換至更高維空間中,相反地,許多高維空間中的數據集也可削減至低維空間數據,而不必丟失重要信息。這一點也通過眾多降維方法的有效性反映出來,如應用廣泛的主成分分析方法。針對距離函數和最近鄰搜索,當前的研究也表明除非其中存在太多不相關的維度,帶有維數災難特色的數據集依然可以處理,因為相關維度實際上可使得許多問題(如聚類分析)變得更加容易。另外,一些如馬爾可夫蒙特卡羅或共享最近鄰搜索方法,經常在其他方法因為維數過高而處理棘手的數據集上表現得很好。
6.核函數(Kernels)
7.過擬合(over fitting)
Reference:
[1] <<Machine Learning: A Problistic Perspective>>
[2] <<Pattern Recognition and Machine Learning>>
[3] <<統計學習方法>> - 李航
[4] curse of dimensionality 維數災難
文章列表