使用 matlab 进行一维高斯贝叶斯分类

Posted

技术标签:

【中文标题】使用 matlab 进行一维高斯贝叶斯分类【英文标题】:1D Gaussian Bayes Calssification using matlab 【发布时间】:2015-04-09 21:35:02 【问题描述】:

如果我有 2 个类和一个特征,并且该特征通常分布在具有不同均值和方差的两个类上,类似这样

现在我想找到判别曲面的方程并将其绘制在图形上,类似这样(这可能不是正确的曲面,它只是我正在寻找的一个说明)

有没有办法用 matlab 做到这一点?!

【问题讨论】:

【参考方案1】:

显然,您希望将一个点分类为分布中的一个点,该点在该点具有较高的密度。因此,分离点将是两个密度相等的点。通常(多变量)情况下,您的问题称为Quadratic discriminant analysis。

对于 QDA,可以通过分析找到分离曲线(通常是二阶曲面,抛物线的推广)。幸运的是,您的情况是一维的,所以一维抛物线只是一个(或两个)点。

推导如下

最后一个是x上的二次方程,它的解就是分离点。在某些情况下,有 2 个解,这意味着有 2 个密度交点。

你需要做的是完成我的推导(为x写下我们的公式),这个x是高斯参数的函数,你可以用任何你喜欢的语言计算。

【讨论】:

所以它总是必须通过两个密度的交点?!如果我有 3 个密度函数(3 个类)我应该如何计算线性表面?! 查看这个帖子:***.com/questions/25170150/… @Doggynub,直观地说,如果这些分布的均值不同,那么您可以按均值递增的顺序处理成对的分布。

以上是关于使用 matlab 进行一维高斯贝叶斯分类的主要内容,如果未能解决你的问题,请参考以下文章

高斯朴素贝叶斯分类

使用高斯朴素贝叶斯的多类分类

使用sklearn进行高斯朴素贝叶斯分类的数据类型,如何清理数据[重复]

实战|朴素贝叶斯分类对文档进行分类

独家 | 一文读懂贝叶斯分类算法(附学习资源)

基于贝叶斯分类器的数据处理与MATLAB实现matlab优化算法一