美文网首页
[監督式]分類

[監督式]分類

作者: RJ阿杰 | 来源:发表于2018-11-07 13:45 被阅读0次

    從上篇GradientDescent延伸,這次要處理的是分類問題,從數據特徵中推斷是屬於哪一類別的標籤,例如:從身高、體重、肝指數等特徵判斷是幾年級的學生,或從遊戲HP、MP、ATK、DP判斷人物的等級等等都是屬於分類問題。

    線性回歸做分類問題

    假設我們要預測寶可夢(神奇寶貝)的屬性(一般系或水系),我們把一般系當作1,水系當作-1去做迴歸分析的話,我們會得到一條如下圖的直線,使用線性回歸做分類問題會產生的問題是假如數據不是對稱的分佈就會像右圖那樣偏向某一邊,正常的情況分類問題我們應該是希望得到預測錯誤最少的直線(解),那麼後續我們從GradientDescent的基礎來改善這個問題。

    分類問題的機率

    假設我們有2個類別,類別1(C_1)跟類別2(C_2),我們知道從類別中選中C_1的機率以及從類別中選中C_2的機率,還有從C_1中選中x的機率,從C_2中選中x的機率,就能知道我選中了一個x是從C_1選出來的機率以及x是從C_2選出來的機率。
    例如:我資料有79隻水系,61隻一般系,那麼P(C_1)=79/(79+61)=0.56

    那麼P(x|C_1)呢?
    x根本不在原本的資料中阿,我們怎麼知道C_1抽中x的機率?

    多維高斯分怖

    預備知識:聯合機率分佈概念筆記
    x根本不在原本的資料中阿,我們怎麼知道C_1抽中x的機率?
    那麼我們就需要去預估資料的分佈了,下圖是水系神奇寶貝對應他的SP防禦力跟防禦力,每個點代表一隻神奇寶貝,我們假設資料的分怖是呈多維高斯機率分佈(可能出現機率由中心往外降低),\mu=平均數,\Sigma=協方差矩陣,D=維度,高斯分佈由這3個參數決定,我們要找出符合我們資料的高斯分佈所對應的(\mu,\Sigma,D)D是維度由特徵數決定,這邊特徵有2維(SP防禦跟防禦),D=2 。

    最大似然估計法(Maximum Likelihood)

    最大似然估計法
    我們要計算的是同時觀察到所有這些數據的概率,也就是所有觀測數據點的聯合概率分佈。
    因此,我們需要計算一些可能很難算出來的條件概率。我們將在這裡做出第一個假設,假設每個數據點都是獨立於其他數據點生成的。
    如果事件(即生成數據的過程)是獨立的,那麼觀察所有數據的總概率就是單獨觀察到每個數據點的概率的乘積(即邊緣概率的乘積)。

    • 由數據(樣本)找高斯分佈
      我們假設樣本是一個(P(x|C_1)=f_{\mu,\Sigma}(x))的二維高斯分佈所產生,然後假設每個數據點獨立。
      L(\mu_1,\Sigma_1)就是由這些數據點產生P(x|C_1)的機率,
      因為每個數據點獨立所以等於由每個數據點產生C_1(f_{w,b}(x_1)、f_{w,b}(x_2)...)機率的乘積。
      我們要找到某個(\mu,\Sigma)使L這個機率最大,就是求斜率等於零(函數的最高點或最低點),找到的這個(\mu,\Sigma)就是P(x|C)(\mu,\Sigma)
      1.L(\mu,\Sigma)\mu做偏微分後等於零(斜率=0)移項後可求得\mu
      2.L(\mu,\Sigma)\Sigma做偏微分後等於零(斜率=0)移項後可求得\Sigma
      可以整理成下圖\mu^*,\Sigma^*形式,注意n的範圍為各別計算類別的樣本數。
      \mu^*_1= \frac{1}{類別1樣本數} \sum_{n=1}^{79} x^n
      f_{\mu,\Sigma}(x1)表示由x_1產生C_1的機率。
      注:P(x|C_1)為機率分佈,(f_{\mu,\Sigma}(x_1)、f_{\mu,\Sigma}(x_2)...)為機率,因為x已經確定。
    • 實作
    1. 使用2維高斯分佈抽樣100個點,並作圖。
    2. 計算這100個樣本特徵(特徵:防禦,SP防禦)的聯合機率分佈,求(\mu,\Sigma)最大值。
    3. 繪圖比較

    求分類問題的機率

    經過最大似然估計法後,那麼P(x|C_1)的問題就解決了,我們有了P(x|C_1)後,我們可以代回P(C_1|x)式子求某個特徵值的機率了。
    因此我們假設P(C_1|x)機率大於0.5(50%)就判斷是水系(P(C_1|x)+P(C_2|x)=1),但結果只有47%的準確率,但在7個特徵的情況下,準確率也只有54%,表示可能有underfitting或overfitting。

    • underfitting、overfitting
    1. high Bias即所謂的Underfitting,因為參數過少連Training set都會有頗大的預測誤差。
    2. low Bias high Variance即所謂的Overfitting,因為參數過多導致過度符合Training set的資料特性,使得其無法預測較為普遍的資料集。

    解決overfitting

    我們將\Sigma_1,\Sigma_2共用同一個\Sigma,使機率函數複雜度降低,減少overfitting。
    \Sigma=\frac{類別1樣本數}{樣本總數}\Sigma^1+\frac{類別2樣本數}{樣本總數}\Sigma^2

    能否用其他的分佈

    是可以的,其他的分佈概念相同,以同樣的概念去推導公式。

    後驗概率

    • Sigmoid function
    • 式子簡化
      代入原先的高斯分佈\Sigma_1,\Sigma_2以同一個\Sigma簡化,得w^Tx+b
    • 反思
      如果我們分佈概念推導到分類問題的機率都是要求一個w^T跟B的話,那麼我們是不是可以直接用一個w^T,b的式子來求分類機率呢?
      用一個w^T,b的式子來求分類機率那就是Logistic Regression的概念了。

    參考李宏毅老師ML課程

    相关文章

      网友评论

          本文标题:[監督式]分類

          本文链接:https://www.haomeiwen.com/subject/nlbcxqtx.html