List of usage examples for org.apache.commons.math3.distribution.fitting MultivariateNormalMixtureExpectationMaximization fit
public void fit(final MixtureMultivariateNormalDistribution initialMixture, final int maxIterations, final double threshold) throws SingularMatrixException, NotStrictlyPositiveException, DimensionMismatchException
From source file:sly.speakrecognizer.test.math.MultivariateNormalMixtureExpectationMaximizationFitterTest.java
@Test(expected = NotStrictlyPositiveException.class) public void testMaxIterationsPositive() { // Maximum iterations for fit must be positive integer double[][] data = getTestSamples(); MultivariateNormalMixtureExpectationMaximization fitter = new MultivariateNormalMixtureExpectationMaximization( data);/*from w w w .ja v a2s . c o m*/ MixtureMultivariateNormalDistribution initialMix = MultivariateNormalMixtureExpectationMaximization .estimate(data, 2); fitter.fit(initialMix, 0, 1E-5); }
From source file:sly.speakrecognizer.test.math.MultivariateNormalMixtureExpectationMaximizationFitterTest.java
@Test(expected = NotStrictlyPositiveException.class) public void testThresholdPositive() { // Maximum iterations for fit must be positive double[][] data = getTestSamples(); MultivariateNormalMixtureExpectationMaximization fitter = new MultivariateNormalMixtureExpectationMaximization( data);//from w w w . j ava2 s . c om MixtureMultivariateNormalDistribution initialMix = MultivariateNormalMixtureExpectationMaximization .estimate(data, 2); fitter.fit(initialMix, 1000, 0); }
From source file:sly.speakrecognizer.test.math.MultivariateNormalMixtureExpectationMaximizationFitterTest.java
@Test(expected = ConvergenceException.class) public void testConvergenceException() { // ConvergenceException thrown if fit terminates before threshold met double[][] data = getTestSamples(); MultivariateNormalMixtureExpectationMaximization fitter = new MultivariateNormalMixtureExpectationMaximization( data);/*from www. j ava 2 s. c o m*/ MixtureMultivariateNormalDistribution initialMix = MultivariateNormalMixtureExpectationMaximization .estimate(data, 2); // 5 iterations not enough to meet convergence threshold fitter.fit(initialMix, 5, 1E-5); }