private INDArray phi(INDArray diffSquared, INDArray sigma) {
        // 1/sqrt(2PIs^2) * e^((in-u)^2/2*s^2)
        INDArray minustwovariance = sigma.mul(sigma).muli(2).negi();

        // This is phi_i(x,mu,sigma)
        INDArray likelihoods = Transforms.exp(diffSquared.divi(minustwovariance))
                        .divi(Transforms.pow(sigma.mul(SQRT_TWO_PI), (double) mLabelWidth));

        return likelihoods;
    }
private INDArray phi ( INDArray diffSquared , INDArray sigma ) { INDArray minustwovariance = sigma . mul ( sigma ) . muli ( 2 ) . negi ( ) ; INDArray likelihoods = Transforms . exp ( diffSquared . divi ( minustwovariance ) ) . divi ( Transforms . pow ( sigma . mul ( SQRT_TWO_PI ) , ( double ) mLabelWidth ) ) ; return likelihoods ; }
This method calculates 'phi' which is the probability
density function (see Bishop 23)
@param diffSquared This is the 'x-mu' term of the Gaussian distribution (distance between 'x' and the mean value of the distribution).
@param sigma This is the standard deviation of the Gaussian distribution.
@return This returns an array of shape [nsamples, nlabels, ndistributions] which contains the probability density (phi) for each of the
samples * labels * distributions for the given x, sigma, mu.