Матрица единственного числа. RCOND = NaN предупреждение на этапе EMM GMM
На этапе EM GMM я вызываю функцию gaussianND как:
pdf(:, j) = gaussianND(unseen_data, mu(j, :), sigma{j});
который оценивает гауссиан для всех точек данных для каждого кластера 'j'. У меня 150 точек данных и 10 кластеров.
Я получаю сообщение об ошибке: "Предупреждение. Матрица является единственной, близкой к единичной или плохо масштабированной. Результаты могут быть неточными. RCOND = NaN. " В следующей строке кода функции gaussianND:
pdf = 1 / sqrt((2*pi)^n * det(Sigma)) * exp(-1/2 * sum((meanDiff * inv(Sigma) .* meanDiff), 2));
который в основном рассчитывает многомерный гауссовский. Для одной итерации шага EM я получаю вероятности кластера (вероятность того, что каждая точка данных принадлежит каждому кластеру), что имеет смысл, однако с более чем одной итерацией я получаю все мои вероятности кластера как "NaN" и предупреждение выше,
Может кто-нибудь объяснить мне, почему и решение, пожалуйста?