一些机器学习算法
假设对于某个数据集,随机变量C表示样本为C类的概率,F1表示测试样本某特征出现的概率,套用基本贝叶斯公式,则如下所示: 上式表示对于某个样本,特征F1出现时,该样本被分为C类的条件概率。那么如何用上式来对测试样本分类呢? 举例来说,有个测试样本,其特征F1出现了(F1=1),那么就计算P(C=0|F1=1)和P(C=1|F1=1)的概率值。前者大,则该样本被认为是0类;后者大,则分为1类。 对该公示,有几个概念需要熟知: 先验概率(Prior) :P(C)是C的先验概率,可以从已有的训练集中计算分为C类的样本占所有样本的比重得出。 证据(Evidence) :即上式P(F1),表示对于某测试样本,特征F1出现的概率。同样可以从训练集中F1特征对应样本所占总样本的比例得出。 似然(likelihood) :即上式P(F1|C),表示如果知道一个样本分为C类,那么他的特征为F1的概率是多少。 对于多个特征而言,贝叶斯公式可以扩展如下: 分子中存在一大串似然值。当特征很多的时候,这些似然值的计算是极其痛苦的。现在该怎么办? 为了简化计算,朴素贝叶斯算法做了一假设:“朴素的认为各个特征相互独立”。这么一来,上式的分子就简化成了: P(C) P(F1|C) P(F2|C)…P(Fn|C)。 这样简化过后,计算起来就方便多了。 这个假设是认为各个特征之间是独立的,看上去确实是个很不科学的假设