• 机器学习(1)朴素贝叶斯分类器


       机器学习算法在学习很生活中有很多使用,比如对网页进行分类、模式识别等等,有些算法使用的范围比较广,需要有基本的认识和掌握。

       首先介绍一个基本概念:监督学习和无监督学习。区别就在于是否先王机器中输入一定数量的训练集,对机器进行训练。然后将未知数据输入机器,得到输出结果。

    监督学习(supervised learning)是需要的,而无监督学习(unsupervised learning)是不需要的。

      朴素贝叶斯分类器(native bayes classifier)属于监督学习算法。本质上是一种最大似然估计(maximum likelihood estimation)。(最大似然估计简单来说就是:

    已知一个未知数据具有特征F1、F2、F3....情况下,判断这个数据属于分类C1还是C2,只需计算 P(C1 | F1、F2、F3)和 P(C2 | F1、F2、F3),选择概率较大

    的一个作为我们的估计。)

      朴素贝叶斯一个最常见的使用是文本分类,我们用这个例子来说明它的基本思想。

      样本训练:我们要将文本分为几大类,分别为C1、C2、C3....。先找一系列文本,并给这些文本贴上所属类别的标签。机器读入这些训练样本,根据它们计算不同类

    别中各个单词出现的概率概率:

      对于C1类别,我们计算:P(w1|C1)、P(w2|C1)、P(w3|C1)、P(w4|C1).....

      对于C2类别,我们计算:P(w1|C2)、P(w2|C2)、P(w3|C2)、P(w4|C2).....

      对于C3类别,我们计算:P(w1|C3)、P(w2|C3)、P(w3|C3)、P(w4|C3).....

      ........

      然后计算出各个不同类别的文本出现的概率,即P(C1)、P(C2)、P(C3).....

      样本训练结束。

      对某一段文本进行分类,基本过程如下:

       我们假设这段文本由单词w1、w2、w3....构成,根据最大似然估计的思想,计算出P(C1 | w1、w2、w3....)、P(C2 | w1、w2、w3....)、P(C3| w1、w2、w3....),

       然后选择概率最大的一项对应的类别作为最终结果,输出。关键是对P(C | w1、w2、w3....)的处理。

       根据公式,P(C | w1、w2、w3....)=[ P( w1、w2、w3....  | C ) * P ( C ) ]/P(w1、w2、w3.....)

       由于计算不同的P的时候,文本都是相同的,都是w1、w2、w3......,所以分母P(w1、w2、w3......)是同一个值,可以忽略不计,只需比较分子的大小即可。

       分子中P(C)已知,刚刚已经算出来了。而另一项

       P(w1、w2、w3....wn | C )=P(w1|C)*P(w2|C、w1)*P(w3|C、w1、w2)*....*P(wn|C、w1、w2、w3......w(n-1))

                                              =P(w1|C)*P(w2|C)*P(w3|C)*....*P(wn|C)                           //关键一步,假定各个单词之间相互独立,前提条件中的单词变量可以省去

       上式分解之后,各个子项已经知道,可以很方便的计算出来。从而可以计算出各个类别对应的 P( w1、w2、w3....  | C ) * P ( C ) 值的大小,进行比较,选择最大者进行分类。

    补充说明:

      输入文本进行测试的时候,可能出现某些单词在训练样本中根本没出现过,即P(w|C)= 0 ,这时如果直接进行计算,可能各个类别得到的概率值都是0,无法比较,所以要对

    没有出现过的单词作特殊处理,避免这种情况的出现。可以给他们赋一个很小的值。如P(w|C)=1/m,m是训练样本中单词的总数。网易的机器学习在线课程中,提到一个拉普拉斯平滑(Laplace smoothing),作用也是这个。

    关于贝叶斯分类器有下面这些文档可以参考:

    朴素贝叶斯分类器:

    http://zh.wikipedia.org/wiki/%E6%9C%B4%E7%B4%A0%E8%B4%9D%E5%8F%B6%E6%96%AF%E5%88%86%E7%B1%BB%E5%99%A8

    最大似然估计:

    http://zh.wikipedia.org/wiki/%E6%9C%80%E5%A4%A7%E4%BC%BC%E7%84%B6%E4%BC%B0%E8%AE%A1

    监督学习:

    http://zh.wikipedia.org/wiki/%E7%9B%A3%E7%9D%A3%E5%BC%8F%E5%AD%B8%E7%BF%92

  • 相关阅读:
    poli-java开源BI软件
    Spring Boot 教程
    微信小程序支持windows PC版了
    Java-JDK-windows和linux版-百度云下载
    ssh -i 密钥文件无法登陆问题
    锐捷交换机18010-X端口假死现象
    zabbix4.4安装
    yum只下载不安装
    openstack迁移计算节点所有云主机
    ceph SSD HDD分离与openstack调用
  • 原文地址:https://www.cnblogs.com/yulele/p/2795388.html
Copyright © 2020-2023  润新知