理解高斯分类器

https://www.toutiao.com/a6701544090300842507/

 

 2019-06-12 15:33:44

正态分布

概述

正态分布可能是常用的统计分布函数之一。在本文中,我们讨论了单变量和多变量正态分布,以及如何使用贝叶斯定理导出高斯分类器。像高斯这样的分类器简单而直观,并且可以解释。

正态/高斯分布

在现实生活中,我们总是会对某些现象产生不确定性和怀疑。例如,如果有人问我们一个随机的成年人的体重,我们不能给出一个确定的答案,因为我们知道不是所有成年人的体重都一样。你能得到的最好的答案是平均体重,而平均体重已经让我们对成年人的体重产生了不确定性。在形式上,某些现象的不确定性导致随机变量(通常用x表示)的概念,其通过概率分布在数学上建模。

正态分布是钟形分布,如下图所示

钟形正态分布

单变量正态分布的概率密度函数由下式给出:

 

从技术上讲,我们将其称为x的概率密度,由均值和方差给出。

当我们想要表达对一个量的不确定性时(例如成年人的体重),单变量分布是合适的。如果我们想表达我们对多个量的不确定性(联合随机变量-成人体重和身高)怎么办呢?这导致多元正态分布,其方程如下:

 

Σ是协方差矩阵。函数符号N和f可以互换使用。

协方差矩阵的影响或随机变量之间的相关性如下:

 

均值和方差的极大似然估计(MLE)

假设我们有一堆成年人的权重,我们想要找到一个正态分布模型(均值,方差)来表示数据。为了找到使数据的似然性最大化的最优均值和方差,使用MLE。请看下图,它清楚地解释了MLE的概念。钟形红色曲线是利用均值的变化值(值从左到右递增)给出的理论正态分布函数。观察到的数据在平均值处达到峰值的可能性与样本平均值一致。同样的过程也适用于方差的估计。

 

均值和方差的MLE:

 

高斯分类器

让我们假设我们得到一个机器学习训练数据集,它分为两类(1和2 -二元分类)。这里的目标是预测新数据所属的类。换句话说,对于给定的新数据(x),我们想要估计p(y = 1 | x)和p(y = 2 | x)。X被分配给具有最高概率的类。贝叶斯定理可以帮助我们估计p(y = 1 | x)和p(y = 2 | x)。

 

p(y = c | x)是p(y = 1 | x)和p(y = 2 | x)

假设p(x | y = c)是高斯/正态分布。

p(y = c)是一个先验类,它是#class c / #total sample的比率。

出于分类的目的,我们可以忽略标准化常数,它的目的是使类后验成为一个有效的概率分布。

可以从训练数据集中估算出提所有项。

由于假设p (x|y = c)为高斯分布,故称为“高斯”分类器。它也被称为“混合高斯”和“判别”分类器。

高斯分类器有两种变体,取决于类的协方差矩阵是否相等。协方差矩阵假设对类边界有影响。Shared协方差矩阵导致线性边界,而separate协方差矩阵导致二次边界。

Python中的二元高斯分类器实现

为了应用所有上述理论并且为了简单起见,我们在Python中实现用于简单二元分类的高斯分类器。我们使用两种方法创建GaussianClassifier类——train()和predict()。

 

 

我们使用乳腺癌机器学习数据集测试我们的实现。我们使用67%的数据作为训练集,其余的数据作为测试集。我们打印出准确率和混淆情况。

 

以下是由此产生的混淆矩阵和准确度得分,这些得分并不差。

 

最后

高斯分类器是一种生成方法,它试图模拟后验类和输入类条件分布。因此,我们可以使用高斯分类器在输入空间中生成新样本。

相反,与像logistic回归这样的方法是有区别的,因为它试图直接对类后验进行建模。因此,并非所有分类方法都相同。

你可能感兴趣的:(人工智能,理解高斯分类器)