异常检测
前言:异常检测算法的重点是高斯分布的实现与概率阈值的选取。高斯分布是异常检测的核心,其实现就是依靠高斯分布来实现的;而概率阈值的选取决定了整个异常检测算法的实现好坏。下面给出MATLAB实现。
estimateGaussian.m
这部分实质是求均值u和标准差σ。直接将公式实现即可。下面先给出公式。
代码实现也没什么难点,细心点即可。
function [mu sigma2] = estimateGaussian(X)
%ESTIMATEGAUSSIAN This function estimates the parameters of a
%Gaussian distribution using the data in X
% [mu sigma2] = estimateGaussian(X),
% The input X is the dataset with each n-dimensional data point in one row
% The output is an n-dimensional vector mu, the mean of the data set
% and the variances sigma^2, an n x 1 vector
%
% Useful variables
[m, n] = size(X);
% You should return these values correctly
mu = zeros(n, 1);
sigma2 = zeros(n, 1);
% ====================== YOUR CODE HERE ======================
% Instructions: Compute the mean of the data and the variances
% In particular, mu(i) should contain the mean of
% the data for the i-th feature and sigma2(i)
% should contain variance of the i-th feature.
%
mu = 1 / m * sum(X);%计算均值
sigma2 = 1 / (m - 1) * sum((bsxfun(@minus,X,mu) .^ 2));%计算方差
% =======