zl程序教程

您现在的位置是:首页 >  工具

当前栏目

【数据挖掘】贝叶斯公式应用 拼写纠正示例分析 ( 先验概率 | 似然概率 | 后验概率 )

应用 分析 示例 公式 数据挖掘 贝叶斯 概率 拼写
2023-06-13 09:17:42 时间

文章目录
P(D)

分母可忽略

P ( H_n ) \times P ( D | H_n )

含义

I . 拼写纠正 简介


1 . 拼写纠正 :

① 应用场景 : 用户输入错误的单词 , 会自动为用户纠正 ;

② 引入贝叶斯方法 : 这里就涉及到了贝叶斯公式的应用 ;

2 . 贝叶斯方法纠正单词 :

① 提出假设 : 首先要猜测用户想要输入的是哪个单词 , 给出几个猜测的可能项 ;

② 计算概率 : 然后计算出每个猜测正确的可能性是多少 ;

③ 选取结果 : 最后将可能性最大的单词确定为用户想要输入的单词 , 自动将错误单词纠正为该单词 ;

3 . 涉及到两个事件概率 :

① 事件

A

: 用户实际输入的错误单词 ;

② 事件

B

: 猜测用户想要输入某个单词单词 ;

③ 事件转化为公式变量 : 用户实际输入错误单词时 ( 事件

A

) , 猜测用户想要输入的是某个单词 的 概率 ( 事件

B

) ;

④ 计算公式为 :

P ( 猜测用户想要输入的是某个单词 | 用户实际输入单词 )

即 :

P ( B | A )

单词纠正准确率 : 很明显 ,用户量越大 , 收集的数据越多 , 单词纠正的准确率就越高 ;

II . 拼写纠正 案例需求


1 . 用户实际输入错误单词 :

D

; ( 实际观测数据 Data )

2 . 猜测用户想要输入的单词 :

H_1 , H_2 , \cdots , H_n

; ( 假设 Hypothesis )

III . 计算每个假设的概率


计算每个假设的概率 :

① 用户输入错误单词

D

时 , 想要输入单词

H_1

的概率 :

P ( 用户想要输入单词 H_1 | 用户实际出入错误单词 D )

, 记做

P(H_1 | D)

;

② 用户输入错误单词

D

时 , 想要输入单词

H_2

的概率 :

P ( 用户想要输入单词 H_2 | 用户实际出入错误单词 D )

, 记做

P(H_2 | D)

;

\vdots

③ 用户输入错误单词

D

时 , 想要输入单词

H_n

的概率 :

P ( 用户想要输入单词 H_n | 用户实际出入错误单词 D )

, 记做

P(H_n | D)

;

IV . 引入 贝叶斯公式


引入 贝叶斯公式 计算单个猜测的概率 :

① 用户输入错误单词

D

时 , 想要输入单词

H_1

的概率 :

P ( 用户想要输入单词 H_1 | 用户实际出入错误单词 D )

, 记做

P(H_1 | D)

;

② 逆向概率引入 :

P(H_1 | D)

不容易计算出来 , 这里通过其 逆向概率 计算该概率 ,

③ 引入 逆向概率 :

P(D | H_1)

, 即输入

H_1

单词时 , 输错成

D

的概率 ;

④ 单个事件概率 ( 先验概率 ) : 其中需要知道输入

H_1

单词的概率

P (H_1)

, 和 输入错误单词

D

的概率

P ( D )

;

⑤ 已知概率 : 上述逆向概率 ( 似然概率 ) 和 单个事件概率 ( 先验概率 ) , 都可以通过统计学方法得出 ;

P(H_1 | D) = \frac{ P ( H_1 ) \times P ( D | H_1 ) }{ P( D ) }

V . 使用贝叶斯公式计算每个假设的概率


使用贝叶斯公式计算每个假设的概率 :

① 用户输入错误单词

D

时 , 想要输入单词

H_1

的概率 :

P(H_1 | D) = \frac{ P ( H_1 ) \times P ( D | H_1 ) }{ P( D ) }

② 用户输入错误单词

D

时 , 想要输入单词

H_2

的概率 :

P(H_2 | D) = \frac{ P ( H_2 ) \times P ( D | H_2 ) }{ P( D ) }
\vdots

③ 用户输入错误单词

D

时 , 想要输入单词

H_n

的概率 :

P(H_n | D) = \frac{ P ( H_n ) \times P ( D | H_n ) }{ P( D ) }

VI . 比较每个假设概率时

P(D)

分母可忽略


P(D)

分母可忽略 :

① 观察公式 : 比较上述

n

个概率值 ,

P(H_1 | D) , P(H_2 | D) , \cdots , P(H_n | D)

之间比较 , 即

\frac{ P ( H_1 ) \times P ( D | H_1 ) }{ P( D ) } , \frac{ P ( H_2 ) \times P ( D | H_2 ) }{ P( D ) } , \cdots , \frac{ P ( H_n ) \times P ( D | H_n ) }{ P( D ) }

之间比较 , 其分母都是

P(D)

, 比较时 , 可以忽略该变量 ;

② 忽略概率 : 即 输入错误单词

D

的概率可以不用考虑 ;

③ 比较概率 : 只比较公式中的分子即可 :

P ( H_1 ) \times P ( D | H_1 ) , P ( H_2 ) \times P ( D | H_2 ) , \cdots ,P ( H_n ) \times P ( D | H_n )

之间进行比较 ;

VII .

P ( H_n ) \times P ( D | H_n )

含义


1 .

P ( H_n ) \times P ( D | H_n )

含义 :

P ( H_n )

: 表示用户输入

H_n

单词的概率 ; 这个值可以通过统计得出 ;

P ( D | H_n )

: 表示用户输入

H_n

单词时 , 输错成

D

错误单词的概率 ;

2 .

P(H_n , D)

:

P ( H_n ) \times P ( D | H_n )

, 其结果是 同时 输入

H_n

单词 和 输错成

D

单词的概率 ,

P(H_n , D)

;

VIII . 先验概率 , 似然概率 与 后验概率


1 . 先验 ( Prior ) 概率 : 某个假设独立出现的概率 , 是一个单独事件的概率 , 这个概率是已知的 ;

① 已知条件 : 这个对应求解的已知条件 ;

② 示例对应 : 这里对应用户输入

H_n

单词的概率 , 这可以通过统计得出来 ;

2 . 似然 ( Likelihood ) 概率 : 某个假设生成观测到的数据的概率 , 是一个联合概率事件 ;

① 示例对应 : 这里对应 : 用户输入

H_n

单词时 , 输错成

D

错误单词的概率 ; 似然概率 又叫 条件概率 ;

3 . 后验概率 : 针对提出的多个假设 , 每个假设出现的概率取决于 先验概率 和 似然概率 的乘积大小 , 值越大 , 概率越大 ;

① 目标结果 : 这个对应贝叶斯公式的目标结果 ;

② 示例对应 : 这里对应用户实际想要输入的单词 , 即

H_1 , H_2 , \cdots , H_n

中概率最大的那个单词 ;