1. 贝叶斯公式的起源与核心思想
贝叶斯公式由英国数学家托马斯·贝叶斯提出,源于他生前为解决“逆概率”问题所撰写的论文。
逆概率指在无法预先得知事件比例的情况下,通过观察结果来推断事件发生的概率,例如通过摸出黑球推测袋子中黑球与白球的比例。
通过学校性别与穿衣情况的案例说明:已知穿长裤,推断其为女生的概率,引入了条件概率与联合概率的计算逻辑。
2. 贝叶斯公式的推导过程
以学校中男生占60%、女生占40%为前提,男生全穿长裤,女生一半穿长裤,计算穿长裤的总体概率为80%。
在已知穿长裤的前提下,求女生概率:通过联合概率与边际概率的计算,得出女生概率为25%。
推导过程中引入条件概率定义,利用联合概率P(女生且穿长裤) = P(女生) × P(穿长裤|女生),并将其转化为贝叶斯公式:
P(女生|穿长裤) = [P(穿长裤|女生) × P(女生)] / P(穿长裤)。
3. 拼写纠正案例中的应用
当用户输入非字典单词如“THA”时,系统需推测其真实意图(如“THE”“THAT”)。
采用贝叶斯方法计算每个候选词的概率,公式中P(正确词|输入)正比于P(输入|正确词) × P(正确词),其中P(输入|正确词)反映拼写相似度(增删改查次数),P(正确词)反映词频。
实际应用中,由于所有候选词的P(输入|正确词)可能相同,最终决策依赖于词频的高低,高频词优先显示。
4. 垃圾邮件分类案例中的应用
用D表示一封邮件内容(由多个单词组成),H⁺表示垃圾邮件,H⁻表示正常邮件。
目标是计算P(H⁺|D),即在已知邮件内容下其为垃圾邮件的概率。
朴素贝叶斯假设各词独立,将复杂文本分类问题分解为单个词的条件概率乘积,结合词频进行判断。
5. 朴素贝叶斯在自然语言处理中的挑战与背景
文本数据转化为数字表示需经历分词、构建字典、词频统计等步骤。
生成的特征矩阵是稀疏矩阵,因绝大多数词未出现在特定文本中,导致大量零值。
稀疏性带来模型训练的难题,尤其是在求导过程中,零值导致梯度难以计算,因此自然语言处理发展出专门的网络结构(如RNN、CNN、Transformer)以应对稀疏性。
6. 垃圾邮件预测中的概率建模
垃圾邮件中不存在两封完全相同的邮件,相同关键词出现的概率极低,因此通过关键词频率判断邮件是否为垃圾邮件。
利用条件独立假设,将多个词的出现概率相乘,简化计算过程。
关键词出现频率越高,其在垃圾邮件中的条件概率越大,越可能被判定为垃圾邮件。
7. 朴素贝叶斯模型的三种类型及适用场景
多项式朴素贝叶斯:适用于离散型数据,尤其是文本分类,如垃圾邮件检测和拼写纠错,基于词频统计建模。
高斯朴素贝叶斯:适用于连续型特征数据,假设特征服从正态分布,适合处理数值型变量,避免多项式模型在连续数据中的误差。
伯努利朴素贝叶斯:适用于特征为二值型(0或1)的场景,如文档中是否包含某关键词,常用于文本分类中“是否存在某特征”的判断。
8. 模型参数说明与影响
alpha 参数:控制拉普拉斯平滑(平滑参数),默认值为0.1,用于防止概率为零,可通过调整观察准确率与计算效率。
prior 参数:是否使用先验概率,默认为true,先验概率由数据集中各类别的频率决定,对分类性能影响显著。
二值化阈值:用于将连续特征转为0/1形式,可设置阈值进行特征二值化,若未设置则默认按正负划分,适用于伯努利模型。
9. 模型调用与代码实现要点
模型训练使用 fit(X, y) 方法,其中 X 为特征矩阵,y 为标签向量。
实际选择模型需根据数据特征判断:文本数据优先使用多项式或伯努利模型,数值型数据优先使用高斯模型。