2014-06-17 18 views
0

假設我們有幾個可以用作訓練集的數據點。每行由4個表示列(特徵)的布爾值組成。第五列表示類,它也採用布爾值。下面是一個例子(它們幾乎是隨機的):如何在ML問題上計算概率而不是實際分類

1,1,1,0,1 
0,1,1,0,1 
1,1,0,0,1 
0,0,0,0,0 
1,0,0,1,0 
0,0,0,0,0 

現在,我想要做的是建立一個模型,使得對於任何給定的輸入(新行),系統不會返回類本身(如在正常分類問題的情況下),而是這個特定輸入屬於0類或1類的概率。我該怎麼做?更重要的是,我怎樣才能生成與該計算相關的置信區間或錯誤率?

回答

2

並非所有的分類算法都返回概率,因爲並非所有分類算法都有一個基礎概率模型。例如,分類樹只是一組規則,您可以將每個新輸入分配給特定的類。

確實有分類算法有一個潛在的概率模型的例子是邏輯迴歸。在該算法中,一個特定的輸入x是在類的概率是

prob = 1/(1 + exp(-theta * x)) 

其中θ爲具有相同數量的尺寸x的係數的向量。通常,從概率轉移到分類,你只需設定閾值,例如

if prob < 0.5 
    return 0; 
else 
    return 1; 
end 

其他分類算法可能有概率的解釋,例如隨機森林本質上是一個投票的算法有多個分類樹。如果80%的樹投票支持1級,20%的投票支持2級,那麼您可以輸出80%的投票率。但這是模型運作的副作用,而不是明確的基礎概率模型。