NLP降临在我身边 5

最近巨忙,再加上自己不太熟,估计不会有代码实现…但是知识还是学会了的。

朴素贝叶斯

不会用公式,全部用文字敲吧。
朴素贝叶斯由朴素-贝叶斯两个部分组成,首先解释贝叶斯。假设A是特征集,B是种类,且每个特征集都有对应的种类。如果面向的需求是“已知特征集,需要预测种类”(B|A),则可以由三项数据“已知种类时,特征集的频率”(A|B),“种类的频率”(B),“特征集的频率”(A)。
刚刚说到了特征集,也就是说其中不一定只有一个特征,而是一大堆特征。一大堆特征掺在一起,其实是有些混乱的。“朴素”强制认为特征之间没有关联,为完全独立的特征,因此可以做事件的拆分计算。这种方式的原理过于单纯,因此被称为“朴素”。不过原词好像有别的倾向含义…
在实际计算中,特征集的频率(A)位于分母,没得拆,而且是个常数,意义不大,因此将其忽略。种类可能有B1,B2,B3,还有一大堆。计算这些种类的最终概率,取最大值,即为朴素贝叶斯的预测结果。

几种朴素贝叶斯的模型

  1. 多项式模型
    对不起,数学功底不够,看不懂。
    在这里引入了平滑的概念。
  2. 高斯模型
    虽然数学功底还是不够看不懂,不过这个公式长得好像标准正态分布啊。
    当特征是连续变量时,虽然可以采取分段贴标签之类的操作,但还是有些问题,例如分段区间可能不合适、分段长短无法调整等。高斯模型假设每一特征都服从正态分布,即中间凸两边塌,因此只要有特征均值(特征中性的位置),就可以计算出每个特征的疏远性,并应用在朴素贝叶斯中。
  3. 伯努利模型
    虽然感觉乱解释是不负责任的行为,但这个好像二项分布啊…虽然不清楚有什么用途,不过看起来有些像二分类?

朴素贝叶斯优缺点

优点

  1. 当数据规模比较小的时候,追求特征的关联性的效率较低,朴素贝叶斯模型有较高的效率。
  2. 可以进行增量式训练,对系统资源需求相应较低。
  3. 代码实现容易。

缺点

  1. 当数据规模较大时,特征的关联性变得显著,朴素贝叶斯难以利用这一资源。
  2. 对A|B的精准性存在需求。有时因为A|B存在一定问题,会导致朴素贝叶斯受到影响。

朴素贝叶斯sklearn(鸽掉了)

朴素贝叶斯结合TF-IDF(仅感想)

在任务4中,TF-IDF被我称为“兼顾了重要性和特殊性”的特征。假设现在要做SPAM的筛选,“中奖”“恭喜”“赚”“群”这三个词的TF-IDF值较高,通篇邮件的敏感词基本都是他们几个。这时使用朴素贝叶斯模型,就能够构造“已知邮件出现了这些词语,则邮件是SPAM”的预测模型。朴素贝叶斯(NB)在SPAM过滤中表现良好,我觉得可能也与SPAM语料本来就是千篇一律有些关系。
摸了不少鱼,我写一些别的东西安慰一下自己。
现阶段逃避检测机制的文本主要有三种方式,一种是音似,一种是形似,一种是增加干扰部分。比如把群改成裙,把兼职改成兼耻,还有往广告里插小说。最后一种比较有意思,相当于在一个完整的语义中插入了不规则部分,极难识别。我不太清楚业内是怎样对抗这些文本的,希望我以后能学会吧23333

猜你喜欢

转载自blog.csdn.net/weixin_44609088/article/details/89322089
今日推荐