机器学习基础:离散和连续数据 您所在的位置:网站首页 离散变量和连续变量的举例 机器学习基础:离散和连续数据

机器学习基础:离散和连续数据

2023-04-24 05:21| 来源: 网络整理| 查看: 265

目录

1. 连续的属性

2. 连续变量中的贝叶斯公式

2.1 上述方法的局限

3. 高斯贝叶斯

4. KDE 核密度估计

5. 贝叶斯的种类

1. 连续的属性

首先回顾一下朴素贝叶斯的公式:

连续变量中P(x_i|c_j)如何求算:

对于连续的属性,我们不能对单个属性值计算概率。比如上面我们得到的概率值全部为\frac{1}{3}。但事实是这样吗?模型是如何感知训练数据的?

通过上图我们发现,数据的分布并不是均匀的,而是在20附近出现的频次要明显高于其他频次。那么对于这样的连续数据我们应该用什么样的方法表示他们的概率呢?

通过将连续的变量分入不同的bins里面,然后用这个bins中的数据与总体样本数量的比值不就是这个bins中所有数据的概率值。

可以分不同的binsbins分的很小的时候,就可以模拟连续数据的概率分布了。

2. 连续变量中的贝叶斯公式

还是上面天气的例子:

我们现在已经知道如何把 P(x_i|c_j)通过分bins的方式求出来了,根据上图中两种分bins的方式,我们应该知道,两种分bins得到的结果完全不一样。具体来说,对于:

X_{temp} = \{x_1,x_2,x_3,x_4,x_5\}分别代表temp处于18-19,\: \: 19-20,\: \: 20-21,\: \: 23-24,\: \: 32-33几个离散的区间。所以P(x_i|c_j)有五种情况,c_jyesno两种情况。

P(18-23|yes)=1 ,当给定yes的条件,温度全部都在18-23内:

P(23-28|yes)=0,当给定yes的条件,没有温度在24-28内。

P(28-33)| yes) = 0,当给定yes的条件,没有温度在29-33内。

P(18-23 | no)= \frac{1}{3},当给定no的条件,只有一条数据符合条件:

P(28-33)| no) = \frac{1}{3},当给定no的条件,只有一条数据符合要求:

如果按照下图的方法划分:

X_{temp}=\{x_1,x_2,x_3\}三种情况,c_jyesno两种情况。

2.1 上述方法的局限

bins的方式不同,导致得到的概率分布函数也不同,因此最终的结果也难免存在偏差。

当数据量不大的情况下,可能数据的分布并不能够与数据量大的时候保持一致,换句话说,通过少量数据得到的分布并不具有代表性。

那么常用的解决思路是什么呢?

3. 高斯贝叶斯

引入高斯分布来代替连续数据的概率分布。之所以这样做,是因为在很多的自然条件下,随机变量的分布都会趋向于高斯分布。因此高斯分布经常被用在连续变量的分布中作为概率分布的假设。

由一个具有平均值(期望值)\mu和标准差\sigma的变量得到观测值x的概率。

\Phi _{\sigma }是一个平均值=\mu,标准差=\sigma,方差=\sigma ^{2}的高斯分布。

概率密度函数:

曲线下的面积为1

均值 \mu和标准差\sigma如何计算:

一个属性XN个样本的均值:

一个属性XN个样本的标准差

这里的标准差计算时,分母之所以采用N-1是为了进行无偏估计。

根据X_{temp}这列的数据,我们很容易算出当c_j=yes的条件下均值和标准差分别是:

同样的我们也可以算出c_j=no的条件下的均值和标准差分别是:

然后我们分别把c_j=yesc_j=no的高斯分布画出来如下图所示:

这个图的纵轴代表的是什么呢?代表的是P(x_i|c_j)

例如我们拿到一个x_i=22.8我们直接带入yesno分别的概率分布函数,就能得到在给定c_j=yesc_j=no的条件下的P(x_i|c_j)。然后我们再乘以先验概率P(c_j)就可以得到预测概率了。那贝叶斯公式里的连乘操作呢?因为我们这个例子只用到了温度一个特征,所以没有和其他属性连乘的操作。

根据最终的结果,我们可以得出结论:22.8℃的时候,不下雨的概率大。

4. KDE 核密度估计

并不是所有的概率分布都满足高斯分布:

这种情况下,我们采用 KDE 方法来进行贝叶斯概率计算:

其中,\phi_{\sigma}是一个均值为0标准差为1的标准正态分布。

KDE的核心思想是通过数据学习其中的概率分布,而不是假定一个固定的概率分布进行计算。

假设现在有一个x,那么计算过程如下:

将给出的xyes或者no条件下的每一个temp(x_1,...x_n)进行差值计算,每做一次差值得到的值,就在横轴上对应位置放置一个\phi_{\sigma}

这个\sigma是手动指定的值,

这样当x与所有给定no条件的temp进行计算完成后,得到的所有正态分布就如上图所示

最终按照公式进行叠加,可以得到下图中的红色线,就是真正的概率密度曲线:

KDE:内核宽度

KDE有一个参数:高斯的标准偏差\sigma="内核带宽")。

参数必须由用户选择。

当指定一个具体的值,例如x = 15 这时候我们要求给定no条件下的概率分布曲线,我们的x_1,...x_n = \{32.1,19.5,23.5\}

优势

可以建立任意概率分布模型。没有关于分布形状的假设 (例如高斯分布)。

劣势

需要选择一个内核带宽\sigma。需要许多参数来表示概率密度函数。

5. 贝叶斯的种类

多变量(Multivariate):属性是象征性的,可以取固定数量的任何值。

二项式(或伯努利式)【Binomial (or Bernoulli)】:属性是二进制的。

多变量的特殊情况

多项式(Multinomial):属性是对应于频率的自然数。

Probability \: \: P(a_{k}=m|c_{j})\approx P(a_{k}=1|c_{j})^{m}/\left ( m! \right )

高斯(Gaussian):属性是数字的,我们可以假设它们来自高斯分布。

核心密度估计(Kernel density estimation):属性是数字,来自一个任意的分布。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有