码农知识堂 - 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是通过周围的词去预测中心词。

  • 相关阅读:
    LeetCode 904. 水果成篮 / 907. 子数组的最小值之和(单调栈+动态规划) / 481. 神奇字符串
    百人研发团队百亿销售规模的技术架构实践分享
    阿里巴巴K8S集成seata
    通过easyexcel实现数据导入功能
    Unity DOTS Component概述
    记录一个Spring自己注入自己的一个坑
    信创之国产浪潮电脑+统信UOS操作系统体验2:安装visual studio code和cmake搭建C++开发环镜
    Spring 中更加简单的存储 (五大类注解 + @bean 注解) 和读取 (属性注入 + Setter 注入 + 构造方法注入) 对象
    Python配置OpenCV
    gRPC 高级特性之 重试机制
  • 原文地址:https://blog.csdn.net/qwertyuiop0208/article/details/126186844
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号