分类问题
① 日常生活中我们每天都进行着分类过程。
② 例如:
- 当你看到一个人,你的脑子下意识判断他是学生还是社会上的人。
- 走在路上,对身旁的朋友说 "这个人的父母有教养" 之类的话。
分类数学描述
① 从数学角度来说,分类问题可做如下定义:
已知集合
② 其中:
- I 叫做特征集合。
- C 叫做类别集合,其中每一个元素是一个类别。
- f 叫做分类器。
注:分类算法的任务就是构造分类器 f。
③ 分类算法的内容是要求给定特征,让我们得出类别,这也是所有分类问题的关键。
朴素贝叶斯分类
① 朴素贝叶斯分类算法的核心算法,是下面这个贝叶斯公式:
注:换个表达形式就会明朗很多,如下:
② 我们最终要求的是 p(类别|特征)。
实例
① 给定数据,如下所示:
② 问题:
- 如果一对是男女朋友,男生向女生求婚。
- 男生的四个特点分别是不帅、性格不好、身高矮、不上进。
- 判断一下女生是嫁还是不嫁?
③ 这个典型的分类问题,就会转为数学问题,比较p(嫁|(不帅、性格不好、身高矮、不上进))与p(不嫁|(不帅、性格不好、身高矮、不上进))的概率。
④ 比较嫁与不嫁的概率,选择概率大的类别。
⑤ 结合朴素贝叶斯公式:
⑥ 我们需要求出 p(嫁|(不帅、性格不好、身高矮、不上进),这是我们不知道的。
⑦ 朴素贝叶斯公式可以将其转化为三个好求的量:
- p(不帅、性格不好、身高矮、不上进|嫁)
- p(不帅、性格不好、身高矮、不上进)
- p(嫁)
⑧ 将待求的量转化为其它可求的值,通过可求的量,就可以求出待求的值了。
朴素解释
① 三个好求的量是根据已知训练数据统计得来的。
注:p(不帅、性格不好、身高矮、不上进|嫁) = p(不帅|嫁)*p(性格不好|嫁)*p(身高矮|嫁)*p(不上进|嫁)。
注:通过统计右边几个概率,就得到了左边的概率。
② 这个等式成立的条件需要特征之间相互独立。
注:这就是朴素贝叶斯分类有朴素一词的来源,朴素贝叶斯算法是假设各个特征之间相互独立,那么这个等式就成立了。
特征不独立
① 假如特征之间不相互独立,那么右边概率的估计是不可做的。
② 比如:
- 我们有4个特征,其中帅包括{帅,不帅},性格包括{不好,好,爆好},身高包括{高,矮,中},上进包括{不上进,上进}。
- 那么四个特征的联合概率分布总共是4维空间,总个数为2*3*3*2=36个。
注:36个,计算机扫描统计还可以。
注:现实生活中,往往有非常多的特征,每一个特征的取值也是非常之多,那么计算机扫描统计变得几乎不可做。
② 比如:
- 假如我们没有假设特征之间相互独立,那么我们统计的时候,就需要在整个特征空间中去找,比如统计p(不帅、性格不好、身高矮、不上进|嫁),
- 我们就需要在嫁的条件下,去找四种特征全满足分别是不帅,性格不好,身高矮,不上进的人的个数,由于数据的稀疏性,很容易统计到0的情况,这是不合适的。
③ 朴素贝叶斯法对条件概率分布做了条件独立性的假设,这是一个较强的假设。
④ 特征之间相互独立这一假设使得朴素贝叶斯法变得简单,但有时会牺牲一定的分类准确率。
⑤ 将上面公式整理一下如下: