8.gitchat训练营-朴素贝叶斯分类器——条件概率的参数估计

不再简单地将频率当作概率

        已知朴素贝叶斯公式:
P(C|F_1,F_2,...,F_n)=\frac{1}{z}P(C)\prod_{i=1}^nP(F_i|C)
        其中,F_i表示样本的第i个特征,C为类别标签。P(F_i|C)表示样本被判定为类别C前提下,第i个特征的条件概率。
        现在采用另外一种方式,通过该特征在数据样本中的分布来计算该特征的条件概率
        首先先明确一下符号:

  • D:表示训练集;
  • D_c:表示训练集中最终分类结果为 c 的那部分样本的集合;
  • X:表示一个训练样本(单个样本);
  • x_i^{(j)}:表示第 j 个样本的第 i 个特征的特征值;
  • mD 中样本的个数;
  • m_cD_c 中样本的个数,一般情况下(m_c < m)。
            我们假设:
                    1. P(x_i | c) 具有特定的形式,这个具体的形式是事先就已经认定的,不需要求取
                    2. P(x_i | c) 被参数 \theta_{c,i} 唯一确定
            那么,我们现在所拥有的是:
                    1.P(x_i | c) 的形式
                    2.数据集合 D,其中每个样本的第 i 个特征都符合上述假定
            我们要做的是:利用 D 求出 \theta_{c,i} 的值
            这里举例说明一下,比如:P(x_i |c) 符合高斯分布,则:
    P(x_i|c) = \frac{1}{{ \sqrt {2\pi \sigma_{c,i}^2 } }}exp( \frac{-(x_i - \mu_{c,i})^2 }{{2\sigma_{c,i} ^2 }})
            高斯分布又名正态分布(在二维空间内形成钟形曲线),每一个高斯分布由两个参数——均值和方差,即上式中的 \mu_{c,i}\sigma_{c,i} ——决定,也就是说 \theta_{c,i} = (\mu_{c,i} ,\sigma_{c,i} )
    高斯分布

            如果我们认定特征 x_i 具有高斯分布的形式,又知道了 \mu_{c,i}\sigma_{c,i} 的取值,我们也就获得了对应 x_i 的具体概率分布函数。
            直接带入 x_i 的值计算相应条件概率,再进一步计算所有特征条件概率的积,就可以得出当前样本的后验概率了。
            问题就在于:我们不知道 \theta_{c,i}\mu_{c,i}\sigma_{c,i})的值,因此首先需要求出它们。
            \theta_{c,i} 是我们要以 D 为训练数据,通过训练过程得到的结果。
            这个训练过程,要用到概率统计中参数估计(Parameter Estimation)的方法。

极大似然估计 (Maximum Likelihood Estimation, MLE)

        参数估计的常用策略是:
                1. 先假定样本特征具备某种特定的概率分布形式;
                2. 再基于训练样本对特征的概率分布参数进行估计。
        D_c 是训练集中所有被分类为 c 的样本的集合,其中样本数量为 m_c;每一个样本都有 n 个特征;每一个特征有一个对应的取值。我们将第 j 个样本的第 i 个特征值记作:x_i^{(j)}
        我们已经假设 P(x_i | c) 符合某一种形式的分布,该分布被参数 \theta_{c,i} 唯一确定。为了明确起见,我们把 P(x_i | c) 写作 P(x_i | \theta_{c,i})。现在,我们要做的是,利用 D_c 来估计参数 \theta_{c,i}
        现在我们要引入一个新的概念——似然(Likelihood)。似然指某种事件发生的可能,和概率相似。
        二者区别在于:概率用在已知参数的情况下,用来预测后续观测所得到的结果。似然则正相反,用于参数未知,但某些观测所得结果已知的情况,用来对参数进行估计。
        参数 \theta_{c,i} 的似然函数记作 L(\theta_{c,i}),它表示了 D_c 中的 m_c 个样本 X_1,X_2,… X_{m_c} 在第 i 个特征上的联合概率分布:
L(\theta_{c,i}) = \prod_{j=1}^{m_c} P(x_i^{(j)}|\theta_{c,i})
极大似然估计,就是去寻找让似然函数 L(\theta_{c,i}) 的取值达到最大的参数值的估计方法

极大似然估计

        我们把让 L(\theta_{c,i} ) 达到最大的参数值记作 \theta_{c,i}^*。则 \theta_{c,i}^* 满足这样的情况:
                1. 将 \theta_{c,i}^* 带入到 P(x_i|c) 的分布形式中去,确定了唯一的一个分布函数 f(x) (比如这个 f(x) 是一个高斯函数,\theta_{c,i}^* 对应的是它的均值和方差);
                2. 将 D_c 中每一个样本的第 i 个特征的值带入到 f(x) 中,得到的结果是一个 [0,1] 之间的概率值,将所有 m_cf(x) 的计算结果累计相乘,最后得出的结果是最大的。
        也就是说将参数换成其他任何值,再做上述 1 和 2 之后的结果,一定小于 \theta_{c,i}^* 做 1 和 2 的结果。
        求取 \theta_{c,i}^* 的过程,就是最大化 L(\theta_{c,i}) 的过程:
\theta_{c,i}^*= argmax L(\theta_{c,i})
        为了便于计算,我们对上面等式取对数,得到 \theta_{c,i} 的对数似然:
LL(\theta_{c,i}) = \sum_{j=1}^{m_c} log(P(x_i^{(j)}|\theta_{c,i}))
        要知道,最大化一个似然函数同最大化它的自然对数是等价的
        因为自然对数 log 是一个连续且在似然函数的值域内严格递增的上凸函数。所以我们可以参考前面线性回归目标函数的求解办法:对似然函数求导,然后在设定导函数为0的情况下,求取 \theta_{c,i} 的最大值——\theta_{c,i}^*

正态分布的极大似然估计

正态分布的极大似然估计

        P(x_i | c) 为正态分布。此时,我们有:
LL(\theta_{c,i}) = LL(\mu_{c,i}, \sigma_{c,i}^2) = \sum_{j=1}^{m_c} log(\frac{1}{{ \sqrt {2\pi \sigma_{c,i}^2 } }}exp( \frac{-(x_i^{(j)} - \mu_{c,i})^2 }{{2\sigma_{c,i} ^2 }}))
        注意,这里我们把 \sigma_{c,i}^2 看作一个独立参数,即:
\theta_{c,i} = (\mu_{c,i}, \sigma_{c,i} ^ 2)
        我们先对 \mu_{c,i} 求偏导:
\frac{\partial{ LL(\mu_{c,i}, \sigma_{c,i}^2)}}{\partial{\mu_{c,i}}} = \sum_{j=1}^{m_c}( \frac{x_i^{(j)} - \mu_{c,i} }{{\sigma_{c,i} ^2 }})
        令:
\frac{\partial{ LL(\mu_{c,i}, \sigma_{c,i}^2)}}{\partial{\mu_{c,i}}} = 0
        
\sum_{j=1}^{m_c}( \frac{x_i^{(j)} - \mu_{c,i} }{{\sigma_{c,i} ^2 }}) = 0
        
\mu_{c,i} = \frac{1}{m_c} \sum_{j=1}^{m_c}(x_i^{(j)})
        然后对 \sigma_{c,i} 求偏导:
\frac{\partial{ LL(\mu_{c,i}, \sigma_{c,i}^2)}}{\partial{\sigma_{c,i}^2}} = \sum_{j=1}^{m_c}(\frac{-1}{2\sigma_{c,i}^2} + \frac{(x_i^{(j)} - \mu_{c,i})^2}{2\sigma_{c,i}^2\sigma_{c,i}^2})
        
\sum_{j=1}^{m_c}(\frac{-1}{2\sigma_{c,i}^2} + \frac{(x_i^{(j)} -\mu_{c,i})^2}{2\sigma_{c,i}^2\sigma_{c,i}^2}) = 0
        最后得出:
\sigma_{c,i}^2 = \frac{1}{m_c} \sum_{j=1}^{m_c}(x_i^{(j)} - \mu_{c,i})^2
        这样我们就估算出了第 i 个特征正态分布的两个参数,第 i 个特征的具体分布也就确定下来了。
        注意:虽然我们此处用的是正态分布——一种连续分布,但是实际上,离散特征的分布一样可以用同样的方法来求,只不过把高斯分布公式改成其他的分布公式就好了。
        估算出了每一个特征的 \theta_{c,i} 之后,再将所有求出了具体参数的分布带回到朴素贝叶斯公式中,生成朴素贝叶斯分类器,再用来做预测,就好了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 230,247评论 6 543
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 99,520评论 3 429
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 178,362评论 0 383
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 63,805评论 1 317
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 72,541评论 6 412
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 55,896评论 1 328
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 43,887评论 3 447
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 43,062评论 0 290
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 49,608评论 1 336
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 41,356评论 3 358
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 43,555评论 1 374
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 39,077评论 5 364
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 44,769评论 3 349
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 35,175评论 0 28
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 36,489评论 1 295
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 52,289评论 3 400
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 48,516评论 2 379

推荐阅读更多精彩内容