gpt4 book ai didi

matlab - 多元高斯分布公式实现

转载 作者:行者123 更新时间:2023-11-30 08:52:37 25 4
gpt4 key购买 nike

我在实现用于异常检测的多元高斯分布时遇到了一定的问题。

我引用了吴恩达笔记中的公式

http://www.holehouse.org/mlclass/15_Anomaly_Detection.html

下面是我面临的问题

假设我有一个包含 2 个特征和 m 个训练集的数据集,即 n=2,并且想要确定我的多元高斯概率 p(x;mu;sigma),它应该是一个 [m*1] 矩阵,因为它通过特征相关性产生估计的高斯值。

我面临的问题是我无法使用公式生成矩阵 [m*1]。

我使用 Octave 作为 IDE 来开发算法。

下面是展示我的问题的快照

enter image description here

考虑红色边界方程的乘法,因为红色边界的 LHS 只是一个实数

enter image description here

请帮助我了解我哪里错了

谢谢

最佳答案

我认为您的尺寸有误。

假设您有 m 个实例的二维 (n=2) 数据。我们可以在 MATLAB 中将此数据存储为 n×m 矩阵(列是数据实例,行代表特征/维度)。在这种情况下,我们有:

  • X 大小为 nxm 的数据矩阵,每个实例 x = X(:,i) 是大小为 的向量nx1(我们约定中的列向量)。
  • mu 是均值向量 (mu = Mean(X,2))。这也是一个与实例 nx1 大小相同的列向量。
  • sigma 是协方差矩阵 (sigma = cov(X.'))。它的大小为 nxn(它描述了每个维度如何与其他维度共同变化)。

因此,您以红色突出显示的部分涉及以下大小的表达式:

 = ([nx1] - [nx1])' * [nxn] * ([nx1] - [nx1])
= [1xn] * [nxn] * [nx1]
= 1x1

关于matlab - 多元高斯分布公式实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26611816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com