在多元高斯分布中如何处理某一特征的零标准差

我使用多元高斯分布来分析异常情况。训练集的外观如下

19-04-16    05:30:31    1   0   0   377816  305172  5567044 0   0   0   14  62  75  0   0   100 0   0<Date>      <time>     <--------------------------- -------   Features --------------------------->

假设上述特征中的一个不变,始终为零。

计算均值 = mu

mu = mean(X)'

计算sigma2如下

sigma2 = ((1/m) * (sum((X - mu') .^ 2)))'

使用标准高斯公式计算每个数据集中各个特征的概率

guassian

对于某个特定特征,如果所有值都为零,那么均值(mu)也为零。随后sigma2也会为零。因此,当我通过高斯分布计算概率时,会遇到“除以零”的问题。

然而,在测试集中,这个特征值可能会波动,我希望将其视为异常情况。应该如何处理?我不想忽略这样的特征。


回答:

所以,每当你有一个恒定不变的变量时,这个问题就会发生。但用正态分布来近似它完全没有意义。关于这种变量的所有信息都包含在一个值中——这就是为什么会发生除以0现象的直觉原因。

如果你知道在训练集中没有观察到的变量有这些波动,你可以简单地设定这种变量的方差不小于某个值。你可以使用函数max(variance(X), eps)来代替经典的方差定义。这样,你就可以确保不会发生除以0的情况。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注