beyondstars
95 天前
下列举例使用贝叶斯方法,利用 API 可用性探测以及浏览器兼容性矩阵来计算用户当前使用特定浏览器的后验概率。
例如考虑如下的浏览器兼容性矩阵:
```
firefox chrome edge
api1 y n y
api2 y y n
```
设随机变量 X 表示用户当前使用的浏览器。
令 X=firefox, X=chrome, X=edge 的先验概率都为 1/3 。
现假设观测到 api1 可用,则可得后验概率:
Pr{api1 | X=firefox}
= Pr{X=firefox | api1 } Pr{X=firefox} / Pr {api1}
= Pr{X=firefox | api1 } Pr{X=firefox} / ( Pr{X=firefox}Pr{X=firefox|api1} + Pr{X=chrome}Pr{X=chrome|api1} + Pr{X=edge}Pr{X=edge|api1} )
= (1 * (1/3)) / ((1/3 * 1) + (1/3 * 0) + (1/3 * 1))
= 1/3 / 2/3
= 1/2
对先验概率进行更新:
Pr{X=edge} -> 1/2
同理可得,Pr{X=firefox} -> 1/2 ,Pr{X=chrome} -> 0 。
现假设在这之后又观测到了 api2 不可用,那么
Pr{^api2|X=edge}
= Pr{X=edge|^api2}Pr{X=edge} / Pr{^api2}
= Pr{X=edge|^api2}Pr{X=edge} / (Pr{X=firefox}Pr{X=firefox|^api2} + Pr{X=chrome}Pr{X=chrome|^api2} + Pr{X=edge}Pr{X=edge|^api2})
= 1 * 1/2 / ( 1/2 * 0 + 0 * 0 + 1/2 * 1 )
= 1
由此可得,先后观测到 api1, ^api2 两个事件后,X=edge 的(后验)概率变为 1 。