Class AlgorithmMixGaussEM

java.lang.Object
java.lang.Thread
gov.nih.mipav.model.algorithms.AlgorithmBase
gov.nih.mipav.model.algorithms.AlgorithmMixGaussEM
All Implemented Interfaces:
ActionListener, WindowListener, Runnable, EventListener

public class AlgorithmMixGaussEM extends AlgorithmBase
Author:
aailb Copyright (c) 2016, Mo Chen All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution Neither the name of nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • Field Details

    • X

      private double[][] X
    • label

      private int[] label
    • mixGaussOut

      private AlgorithmMixGaussEM.model mixGaussOut
    • llh

      private double[] llh
    • iter

      private int iter
    • randomGen

      RandomNumberGen randomGen
  • Constructor Details

    • AlgorithmMixGaussEM

      public AlgorithmMixGaussEM()
  • Method Details

    • runAlgorithm

      public void runAlgorithm()
      Description copied from class: AlgorithmBase
      Actually runs the algorithm. Implemented by inheriting algorithms.
      Specified by:
      runAlgorithm in class AlgorithmBase
    • mixGaussEm_demo

      public void mixGaussEm_demo()
    • mixGaussRnd

      public void mixGaussRnd(int d, int k, int n)
    • test_discreteRnd

      public void test_discreteRnd()
    • discreteRnd

      public int[] discreteRnd(double[] pin, int n)
    • test_dirichletRnd

      public void test_dirichletRnd()
    • dirichletRnd

      public double[] dirichletRnd(double ain, double[] m)
    • test_gamrnd

      public void test_gamrnd()
    • gamrnd

      public double gamrnd(double a, double b)
    • test_gaussRnd2

      public void test_gaussRnd2()
    • gaussRnd

      private double[] gaussRnd(double[] mu, double[][] Sigma)
    • test_gaussRnd

      public void test_gaussRnd()
    • gaussRnd

      private double[][] gaussRnd(double[] mu, double[][] Sigma, int n)
    • plotClass

      private void plotClass(double[][] X, int[] label, String title)
    • mixGaussPred

      private void mixGaussPred(double[][] R, double[][] X, AlgorithmMixGaussEM.model mod)
    • mixGaussEm

      private void mixGaussEm(double[][] X, int init)
    • initialization

      private double[][] initialization(double[][] X, int init)
    • initialization

      private double[][] initialization(double[][] X, int[] init)
    • initialization

      private double[][] initialization(double[][] X, AlgorithmMixGaussEM.model init)
    • expectation

      private double[][] expectation(double[][] X, AlgorithmMixGaussEM.model mod)
    • loggausspdf

      private double[] loggausspdf(double[][] Xin, double[] mu, double[][] Sigma)
    • maximization

      private AlgorithmMixGaussEM.model maximization(double[][] X, double[][] R)
    • plot

      private void plot(double[] llh)
    • logsumexp

      public double[] logsumexp(double[][] ain, int dim)