机器学习的输入是数据,数据本质上具有随机性,因此概率语言可用于描述我们的数据并解决机器学习问题。我举了一个通过头发长度来确定性别的例子来演示如何使用概率来解决分类问题。

高斯分布

由于许多原因,男性和女性可以有不同长度的头发。但总的来说,女性的头发总是比男性长,我们怎么能用数学语言来描述真相呢?基本上,我们可以假设女性的头发长度和男性的头发长度分布是高斯分布,女性的平均头发长度大于男性。μ0和μ1可分别用于描述女性的分布和男性的平均值。σ0和σ1可以是两个标准偏差。

女性和男性头发的概率密度函数

因此女性的头发长度分布概率密度函数是

男性可以用类似的方式写的。

分类问题

分类问题:如何通过给出人的头发长度x0来预测性别。问题可用概率语言描述,P(Y = 0 | X =0)和P(Y = 1 | X =0),看哪个是较大的。Y = 0表示该人是女性,Y = 1表示该人是男性。

对于P(Y = 0 | X =0),它可以通过条件概率定义进行扩展:

上面的过程忽略了P(X =0),因为当比较P(Y = 0 | X =0)和P(Y = 1 | X =0))时,它们都具有相同的分母P(X =0) )。

对于P(Y = 1 | X =0),它也可以以相同的方式扩展

为了比较两者,除法是有帮助的。

如果t> 1,我们知道这是一个女人,否则就是男人。

训练过程

根据女性头发长度和男性头发长度的训练数据,采用极大似然估计方法估计女性头发的高斯分布参数和男性头发的分布参数。在给定两个高斯分布的情况下,可以计算出t。

P(X=₀|Y=0) = f₀(₀), 是一个非常小的数,通过乘以Δ和概率密度,我们可以得到女性拥有长度为₀的头发的概率。以同样的方式我们得到P(X=₀|Y=1) = f₀(₀)。

因此

我将举例说明如何训练我们的分类器

人们的头发长度训练数据集

利用极大似然估计方法,可以求解各高斯分布的参数

男性的头发分布参数也可以通过给定的数据集来计算

剩下的概率

然后对于每个,,我们可以计算t来确定其性别

t是关于0的一元函数。为了更好地理解这个函数。从图中可以看出,当0大于12.5和15之间的数字时,t总是大于1,这意味着人总是女性。

y表示t,x表示0

更多的问题分析

基于这些,我们可以分析在给出女性头发长度时分类为男性的错误,并且在给出男性头发长度时将错误归类为女性。为了描述两个错误之一,可以调整t函数。对于这些内容,您可以参考《模式识别》相关内容,它可以清晰全面地解释了这些概念。

相关文章