朴素贝叶斯 – 根据男性特征分析女性是否嫁的问题

本文已收录于 机器学习笔记 系列,共计 20 篇,本篇是第 2 篇

解决什么样的问题?

朴素贝叶斯算法是有监督的学习算法,解决的是分类问题,如客户是否流失、是否值得投资、信用等级评定等多分类问题。

什么是有监督学习?无监督学习?

有监督学习:有标签

无监督学习:聚类” (clustering),聚类目的在于把相似的东西聚在一起

可以解决的典型问题

一句话总结,就是基于特征做二元决策。

  • 垃圾邮件分类(是否为垃圾邮件)
  • 客户是否流失、是否值得投资、信用等级评定等

例题 – 根据男性特征分析女性是否嫁的问题

下面我先给出例子问题。

给定数据如下:该数据共计有四个字段和一个标签。

数据下载:新建 Microsoft Excel 工作表

现在给我们的问题是,新来一个男生,他有以上四个特征,分别是:不帅、性格不好、身高矮、不上进,我们来机器判断是否嫁。

这是一个典型的分类问题,最后我们期望得到的结果要么是嫁、要么是不嫁。

转为数学问题就是比较p(嫁|(不帅、性格不好、身高矮、不上进))与p(不嫁|(不帅、性格不好、身高矮、不上进))的概率,谁的概率大,就给出相应的答案。

根据贝叶斯公式,左侧的公式是我们期望计算出来的结果值,右边是通过贝叶斯公式得出的需要计算的公式。

为什么需要假设特征之间相互独立呢?

但是为什么需要假设特征之间相互独立呢?

1、我们这么想,假如没有这个假设,那么我们对右边这些概率的估计其实是不可做的,这么说,我们这个例子有4个特征,其中帅包括{帅,不帅},性格包括{不好,好,爆好},身高包括{高,矮,中},上进包括{不上进,上进},那么四个特征的联合概率分布总共是4维空间,总个数为2*3*3*2=36个。

24个,计算机扫描统计还可以,但是现实生活中,往往有非常多的特征,每一个特征的取值也是非常之多,那么通过统计来估计后面概率的值,变得几乎不可做,这也是为什么需要假设特征之间独立的原因。

2、假如我们没有假设特征之间相互独立,那么我们统计的时候,就需要在整个特征空间中去找,比如统计p(不帅、性格不好、身高矮、不上进|嫁),

我们就需要在嫁的条件下,去找四种特征全满足分别是不帅,性格不好,身高矮,不上进的人的个数,这样的话,由于数据的稀疏性,很容易统计到0的情况。 这样是不合适的。

根据上面俩个原因,朴素贝叶斯法对条件概率分布做了条件独立性的假设,由于这是一个较强的假设,朴素贝叶斯也由此得名!这一假设使得朴素贝叶斯法变得简单,但有时会牺牲一定的分类准确率。

我们将上面公式整理一下如下:

等式成立的条件需要特征之间相互独立,朴素贝叶斯算法是就是假设各个特征之间相互独立的。

* p(不帅、性格不好、身高矮、不上进) 下面我将一个一个的进行统计计算(在数据量很大的时候,根据中心极限定理,频率是等于概率的,这里只是一个例子,所以我就进行统计即可)。

p(不帅、性格不好、身高矮、不上进|嫁)

p(不帅、性格不好、身高矮、不上进|嫁) = p(不帅|嫁)*p(性格不好|嫁)*p(身高矮|嫁)*p(不上进|嫁)。

P(A|B)——即事件A 在另外一个事件B已经发生条件下的发生概率。

根据最开始给出的表,共计有12个样本,可以分别计算出上面的四个值:

    

    

  • p(不帅|嫁) = 3/6 
  • p(性格不好|嫁) = 1/6
  • p(身高矮|嫁) = 1/6
  • p(不上进|嫁) = 1/6

p(不帅、性格不好、身高矮、不上进)

p(不帅、性格不好、身高矮、不上进) = p(不帅) * p(性格不好) * p(身高矮) * p(不上进)

    

     

  • p(不帅)  = 4/12
  • p(性格不好)  = 4/12
  • p/(身高矮)  = 7/12
  • p(不上进) = 4/12

p(嫁|(不帅、性格不好、身高矮、不上进))

得出结果,p(嫁|(不帅、性格不好、身高矮、不上进)) =  (3/6 *  1/6 * 1/6 *  1/6  * 6/12)/(4/12 * 4/12 * 7/12 * 4/12) = 0.0535714286
同理可得,p(不嫁|(不帅、性格不好、身高矮、不上进))  = (1/6 * 3/6 * 1 * 3/6 *6/12)/(4/12 * 4/12 * 7/12 * 4/12) = 0.964285714

0.964285714 >> 0.0535714286。显然,我们的模型给出的结论是不嫁。

 

参考文献:

https://zhuanlan.zhihu.com/p/26262151

https://cuijiahua.com/blog/2017/11/ml_4_bayes_1.html

【数据仓库 数据挖掘 – 决策树分类 朴素贝叶斯分类算法-哔哩哔哩】https://b23.tv/u1xIpn

作者: 高志远

高志远,24岁,男生

发表评论

邮箱地址不会被公开。