码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Chapter 13 贝叶斯网络实践


    1 朴素贝叶斯的推导、应用及分类

    1.1 朴素贝叶斯的推导

    朴素贝叶斯是基于“特征之间是独立的”这一朴素假设(即:一个特征出现的概率,与其他特征独立),应用贝叶斯定理的监督学习算法。

    对于给定的特征向量x_{1},x_{2}...x_{n},类别y的概率可以根据贝叶斯公式得到:

    P(y|x_{1},x_{2},...,x_{n})=\frac{P(y)P(x_{1},x_{2},..,x_{n}|y)}{P(x_{1},x_{2},..,x_{n})}

    使用朴素的独立性假设:P(x_{i}|y,x_{1},...,x_{i-1},x_{i+1},...,x_{n})=P(x_{i}|y)

    在给定样本的前提下,P(x_{1},x_{2},...,x_{n})是常数:P(y|x_{1},x_{2},...,x_{n})\propto P(y)\prod_{i=1}^{n}P(x_{i}|y)

    从而\widehat{y}=\underset{y}{argmax}P(y)\prod_{i=1}^{n}P(x_{i}|y)

    1.2 朴素贝叶斯的应用

    现实生活中朴素贝叶斯算法应用广泛,如文本分类,垃圾邮件的分类,信用评估,钓鱼网站检测等等。

    1.3 朴素贝叶斯分类

    • 高斯朴素贝叶斯——P(x_{i}|y)=\frac{1}{\sqrt{2\pi }\sigma _{y}}exp(-\frac{(x_{i}-\mu _{y})^{2}}{2\sigma _{y}^{2}}),参数使用极大似然估计(MLE)即可。
    • 多项分布朴素贝叶斯——对于每个类别y,参数为\theta _{y}=(\theta _{y1},\theta _{y2},...,\theta _{yn}),其中n为特征的数目,P(x_{i}|y)的概率为\theta _{yi}。参数\theta _{y}使用极大似然估计的结果为:\widehat{\theta}_{yi}=\frac{N_{yi}+\alpha }{N_{y}+\alpha \cdot n},\alpha \geq 0。假定训练集为T,则有\left\{\begin{matrix} N_{yi}=\sum_{x\in T }x_{i}\\ N_{y}=\sum_{i=1}^{|T|}N_{yi} \end{matrix}\right.,其中,\alpha =1称为Laplace平滑;\alpha <1称为Lidstone平滑。

    2 文本数据的处理流程

    (1)爬取数据

    (2)对文本进行分词,可分为中文分词和英文分词,英文分词可以利用空格完成,中文分词可以利用jieba分词,参考https://blog.csdn.net/qwertyuiop0208/article/details/125251521中的文本特征抽取方法一。

    (3)对数据进行预处理(包括数据清洗和校正等等)参考https://blog.csdn.net/qwertyuiop0208/article/details/125926133

    (4)对数据进行标准化

    (5)经过TF-IDF或者Word2vec等特征提取的方法将字符串转化为向量。

    (6)用机器学习等算法建模和模型评估。

    3 使用TF-IDF得到文本特征

    如果一个词或短语在某一篇文章中出现的概率很高,并且在其它文章中很少出现,则认为该词或短语具有很好的类别区分能力,适合用来分类。TF-IDF用以评估一个词语对于一个文件或者一个语料库中的其中一份文件的重要程度。

    详细操作见:https://blog.csdn.net/qwertyuiop0208/article/details/125251521中的文本特征抽取方法二。

    4 Word2vec的使用

    本质是建立了3层神经网络,将所有词都映射为一定长度的向量;取一定的窗口范围作为当前词的淋浴,估计窗口内的词。其包含两种算法,分别是skip-gram和CBOW,它们的最大区别是skip-gram是通过中心词去预测中心词周围的词,而CBOW是通过周围的词去预测中心词。

  • 相关阅读:
    PyTorch 加载 Mask R-CNN 预训练模型并 fine-tuning
    智云通CRM:客户说“你家东西太贵了”,如何让客户觉得物超所值?
    Java面试题以及答案(三)多线程(必会)
    神经网络-文本-图像-音频-视频基础知识
    Linux:文件解压、复制和移动的若干坑
    去面试了几家BATJ等N家互联网大厂
    sealos一键部署K8S环境(sealos3.0时代教程过时了,目前已经4.0了,请移步使用Sealos一键安装K8S)
    暑假加餐|有钱人和你想的不一样(第8天)+多目标金鹰优化算法(Matlab代码实现)
    Java项目:springboot医院管理系统
    函数8:高阶函数
  • 原文地址:https://blog.csdn.net/qwertyuiop0208/article/details/126186844
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号