Class NonnegativeMatrixFactorization


  • public class NonnegativeMatrixFactorization
    extends java.lang.Object
    • Constructor Detail

      • NonnegativeMatrixFactorization

        public NonnegativeMatrixFactorization()
      • NonnegativeMatrixFactorization

        public NonnegativeMatrixFactorization​(int functionType,
                                              Jama.Matrix V,
                                              int rank,
                                              Jama.Matrix W,
                                              Jama.Matrix H,
                                              java.lang.String alg)
    • Method Detail

      • test_mu

        public void test_mu()
      • run

        public void run()
      • admm_seq_conv_nmf

        public void admm_seq_conv_nmf()
      • shift_t

        public Jama.Matrix shift_t​(Jama.Matrix H,
                                   int t)
      • gamma_beta

        public double gamma_beta​(double beta)
      • renormalize_convNMF

        public void renormalize_convNMF​(double[][][] W,
                                        Jama.Matrix H)
      • reconstruct_wh

        public void reconstruct_wh​(Jama.Matrix W_concat,
                                   Jama.Matrix H_concat,
                                   double[][][] W,
                                   Jama.Matrix H,
                                   int t)
      • wlra

        public void wlra()
      • scalingWH

        public void scalingWH​(Jama.Matrix W,
                              Jama.Matrix H)
      • symm_newton

        public void symm_newton()
      • hessian_blkdiag

        public Jama.Matrix hessian_blkdiag​(Jama.Matrix temp,
                                           Jama.Matrix H,
                                           int idx,
                                           boolean[][] projnorm_idx)
      • symm_halsacc

        public void symm_halsacc()
      • symm_anls

        public void symm_anls()
      • sparse_nmf

        public void sparse_nmf()
      • sparse_mu_v_nmf

        public void sparse_mu_v_nmf()
      • sc_nmf

        public void sc_nmf()
      • NNDSVD

        public void NNDSVD​(Jama.Matrix W,
                           Jama.Matrix H,
                           Jama.Matrix A,
                           int k,
                           int flag)
      • norm

        public double norm​(double[] v)
      • pos

        public double[] pos​(double[] A)
      • neg

        public double[] neg​(double[] A)
      • projfunc

        public double[] projfunc​(int[] usediters,
                                 double[] s,
                                 double k1,
                                 double k2,
                                 boolean nn)
      • update_with_SC

        public Jama.Matrix update_with_SC​(double[] stepsizeX_new,
                                          Jama.Matrix X,
                                          java.lang.String name,
                                          double stepsizeX)
      • proj_sparse_nmf

        public void proj_sparse_nmf()
      • weightedgroupedsparseproj_col

        public Jama.Matrix weightedgroupedsparseproj_col​(int[] numiter,
                                                         Jama.Matrix X,
                                                         double s,
                                                         NonnegativeMatrixFactorization.opt options)
      • weightedgroupedsparseproj

        public Jama.Matrix weightedgroupedsparseproj​(double[] gxpmu,
                                                     int[] numiter,
                                                     double[] newmu,
                                                     Jama.Matrix Xorg,
                                                     double s,
                                                     NonnegativeMatrixFactorization.opt options)
      • wgmu

        public Jama.Matrix wgmu​(double[] vgmu,
                                double[] gradg,
                                Jama.Matrix X,
                                Jama.Matrix w,
                                double mu)
      • wcheckcrit

        public void wcheckcrit​(double[] xcrit,
                               double[] maxx,
                               double[] xa,
                               double[] w,
                               double precision)
      • palm_sparse_smooth_nmf

        public void palm_sparse_smooth_nmf()
      • spa

        public void spa()
      • snpa

        public void snpa()
      • semi_mu_nmf

        public void semi_mu_nmf()
      • semi_bcd_nmf

        public void semi_bcd_nmf()
      • robust_mu_nmf

        public void robust_mu_nmf()
      • rank2nmf

        public void rank2nmf()
      • projective_nmf

        public void projective_nmf()
      • vb_pro_nmf

        public void vb_pro_nmf()
      • update_U

        public void update_U​(Jama.Matrix mu_U,
                             Jama.Matrix tau_U,
                             Jama.Matrix V,
                             Jama.Matrix exp_U,
                             Jama.Matrix exp_V,
                             Jama.Matrix var_V,
                             double[] exp_tau,
                             double[] exp_lambdak,
                             int k,
                             NonnegativeMatrixFactorization.opt options)
      • update_V

        public void update_V​(Jama.Matrix mu_V,
                             Jama.Matrix tau_V,
                             Jama.Matrix V,
                             Jama.Matrix exp_V,
                             Jama.Matrix exp_U,
                             Jama.Matrix var_U,
                             double[] exp_tau,
                             double[] exp_lambdak,
                             int k,
                             NonnegativeMatrixFactorization.opt options)
      • update_lambdak

        public void update_lambdak​(double[] alphak_s,
                                   double[] betak_s,
                                   Jama.Matrix exp_U,
                                   Jama.Matrix exp_V,
                                   int k,
                                   NonnegativeMatrixFactorization.opt options)
      • exponential_draw

        public double exponential_draw​(double lambdax)
      • update_exp_lambdak

        public void update_exp_lambdak​(double[] exp_lambdak,
                                       double[] exp_loglambdak,
                                       double[] alphak_s,
                                       double[] betak_s,
                                       int k)
      • TN_vector_expectation

        public double[] TN_vector_expectation​(double[] mus,
                                              double[] taus)
      • TN_vector_variance

        public double[] TN_vector_variance​(double[] mus,
                                           double[] taus)
      • update_exp

        public void update_exp​(Jama.Matrix exp_A,
                               Jama.Matrix var_A,
                               Jama.Matrix mu_A,
                               Jama.Matrix tau_A,
                               int k)
      • gamma_expectation

        public double gamma_expectation​(double alpha,
                                        double beta)
      • gamma_expectation

        public double[] gamma_expectation​(double[] alpha,
                                          double[] beta)
      • gamma_expectation_log

        public double gamma_expectation_log​(double alpha,
                                            double beta)
      • exp_square_diff

        public double exp_square_diff​(Jama.Matrix V,
                                      Jama.Matrix exp_U,
                                      Jama.Matrix exp_V,
                                      Jama.Matrix var_U,
                                      Jama.Matrix var_V)
      • update_tau

        public void update_tau​(double[] alpha_s,
                               double[] beta_s,
                               NonnegativeMatrixFactorization.opt options,
                               Jama.Matrix V,
                               Jama.Matrix exp_U,
                               Jama.Matrix exp_V,
                               Jama.Matrix var_U,
                               Jama.Matrix var_V,
                               int size_Omega)
      • update_exp_tau

        public void update_exp_tau​(double[] exp_tau,
                                   double[] exp_logtau,
                                   double alpha_s,
                                   double beta_s)
      • prob_nmf

        public void prob_nmf()
      • hals_so_nmf

        public void hals_so_nmf()
      • dtpp_nmf

        public void dtpp_nmf()
      • alternating_onmf

        public void alternating_onmf()
      • svrmu_nmf

        public void svrmu_nmf()
      • srgmu_nmf

        public void srgmu_nmf()
      • spg_nmf

        public void spg_nmf()
      • projection_mnls

        public Jama.Matrix projection_mnls​(Jama.Matrix X,
                                           Jama.Matrix B,
                                           Jama.Matrix A)
      • nesterov_mnls

        public Jama.Matrix nesterov_mnls​(int[] iter,
                                         double[] alpha,
                                         Jama.Matrix X,
                                         Jama.Matrix B,
                                         Jama.Matrix A_star,
                                         int max_iter,
                                         java.lang.String func_type)
      • update_alpha

        public double update_alpha​(double alpha,
                                   double q)
      • g_lambda

        public double g_lambda​(double L,
                               double mu)
      • projection_precon_mnls

        public Jama.Matrix projection_precon_mnls​(Jama.Matrix X,
                                                  Jama.Matrix B,
                                                  Jama.Matrix A)
      • smu_nmf

        public void smu_nmf()
      • sagmu_nmf

        public void sagmu_nmf()
      • calc_nls_nmf

        public Jama.Matrix calc_nls_nmf​(Jama.Matrix X,
                                        Jama.Matrix W,
                                        double lambda)
      • robust_online_mu_nmf

        public void robust_online_mu_nmf()
      • online_mu_nmf

        public void online_mu_nmf()
      • incremental_mu_nmf

        public void incremental_mu_nmf()
      • asag_mu_nmf

        public void asag_mu_nmf()
      • acc_online_mu_nmf

        public void acc_online_mu_nmf()
      • recursive_nmu

        public void recursive_nmu()
      • wmedian

        public double[] wmedian​(Jama.Matrix Aorig,
                                double[] yorig)
      • sep_symm_nmtf

        public void sep_symm_nmtf()
      • nenmf

        public void nenmf()
      • NNLS

        public Jama.Matrix NNLS​(int[] iter,
                                Jama.Matrix Grad,
                                Jama.Matrix Z,
                                Jama.Matrix WtW,
                                Jama.Matrix WtV,
                                double tol,
                                NonnegativeMatrixFactorization.opt options)
      • NNLS_MR

        public Jama.Matrix NNLS_MR​(int[] iter,
                                   Jama.Matrix Z,
                                   Jama.Matrix WtW,
                                   Jama.Matrix WtV,
                                   Jama.Matrix Lp,
                                   double LpC,
                                   double tol,
                                   NonnegativeMatrixFactorization.opt options)
      • GetStopCriterion

        public double GetStopCriterion​(int stop_rule,
                                       Jama.Matrix X,
                                       Jama.Matrix gradX)
      • minvol_nmf

        public void minvol_nmf()
      • FGMqpnonneg

        public Jama.Matrix FGMqpnonneg​(java.util.Vector<java.lang.Double> e,
                                       Jama.Matrix A,
                                       Jama.Matrix C,
                                       Jama.Matrix W0,
                                       int maxiter,
                                       int proj)
      • kl_fpa_nmf

        public void kl_fpa_nmf()
      • kl_bmd_nmf

        public void kl_bmd_nmf()
      • div_mu_partial_nmf

        public void div_mu_partial_nmf()
      • div_admm_nmf

        public void div_admm_nmf()
      • pgd_nmf

        public void pgd_nmf()
      • update_direct_pgd

        public void update_direct_pgd​(Jama.Matrix V,
                                      Jama.Matrix W,
                                      Jama.Matrix H,
                                      Jama.Matrix gradW,
                                      Jama.Matrix gradH,
                                      double[] alpha,
                                      double[] obj)
      • fro_mu_partial_nmf

        public void fro_mu_partial_nmf()
      • anls_nmf

        public void anls_nmf()
      • nnlsm_blockpivot

        public Jama.Matrix nnlsm_blockpivot​(int[] success,
                                            int[] numChol,
                                            int[] numEq,
                                            Jama.Matrix A,
                                            Jama.Matrix B,
                                            int isInputProd,
                                            Jama.Matrix init)
      • nnls1_asgivens

        public double[] nnls1_asgivens​(int[] success,
                                       int[] iter,
                                       Jama.Matrix A,
                                       double[] b,
                                       int overwrite,
                                       int isInputProd,
                                       double[] init)
      • nnlsm_activeset

        public Jama.Matrix nnlsm_activeset​(Jama.Matrix Y,
                                           int[] success,
                                           int[] numChol,
                                           int[] numEq,
                                           Jama.Matrix A,
                                           Jama.Matrix B,
                                           int overwrite,
                                           int isInputProd,
                                           Jama.Matrix init)
      • normalEqComb

        public Jama.Matrix normalEqComb​(int[] numChol,
                                        int[] numEq,
                                        Jama.Matrix AtA,
                                        Jama.Matrix AtB,
                                        int[][] PassSet)
      • sortrows

        public int[][] sortrows​(int[] sortIx,
                                int[][] rows)
      • als_nmf

        public void als_nmf()
      • HALSupdt

        public Jama.Matrix HALSupdt​(Jama.Matrix Vorig,
                                    Jama.Matrix UtU,
                                    Jama.Matrix UtM,
                                    double alpha,
                                    double delta,
                                    NonnegativeMatrixFactorization.opt in_options)
      • admm_nmf

        public void admm_nmf()
      • warm_restart

        public void warm_restart​(Jama.Matrix V,
                                 Jama.Matrix W,
                                 Jama.Matrix H,
                                 int rank,
                                 Jama.Matrix W_prev,
                                 Jama.Matrix H_prev,
                                 Jama.Matrix W_tmp1,
                                 Jama.Matrix H_tmp1,
                                 Jama.Matrix H_tmp2,
                                 double[] rel_error,
                                 double[] beta,
                                 double[] betamax,
                                 int epoch,
                                 NonnegativeMatrixFactorization.opt options)
      • do_momentum_w

        public void do_momentum_w​(Jama.Matrix W_tmp1,
                                  Jama.Matrix W,
                                  Jama.Matrix W_prev,
                                  Jama.Matrix H,
                                  Jama.Matrix H_prev,
                                  Jama.Matrix H_tmp1,
                                  double[] beta,
                                  int epoch,
                                  NonnegativeMatrixFactorization.opt options)
      • do_momentum_h

        public void do_momentum_h​(Jama.Matrix H_tmp1,
                                  Jama.Matrix H_tmp2,
                                  Jama.Matrix H,
                                  Jama.Matrix H_prev,
                                  double[] beta,
                                  int epoch,
                                  NonnegativeMatrixFactorization.opt options)
      • normalize_WH

        public void normalize_WH​(Jama.Matrix W_new,
                                 Jama.Matrix H_new,
                                 Jama.Matrix V,
                                 Jama.Matrix W_orig,
                                 Jama.Matrix H_orig,
                                 int rank,
                                 java.lang.String type)
      • nnls_init

        public Jama.Matrix nnls_init​(Jama.Matrix X,
                                     Jama.Matrix W,
                                     Jama.Matrix WtW,
                                     Jama.Matrix WtX)
      • nnls_orth

        public Jama.Matrix nnls_orth​(Jama.Matrix M,
                                     Jama.Matrix U,
                                     Jama.Matrix Mn)
      • SimplexProj

        public Jama.Matrix SimplexProj​(Jama.Matrix y)
      • SimplexColProj

        public Jama.Matrix SimplexColProj​(Jama.Matrix Y)
      • fro_mu_nmf

        public void fro_mu_nmf()
      • display_stop_reason

        public void display_stop_reason​(NonnegativeMatrixFactorization.opt options,
                                        java.lang.String disp_name,
                                        java.lang.String reason,
                                        boolean max_reached_flag)
      • bestMap

        public int[] bestMap​(int[] L1,
                             int[] L2)
      • hungarian

        public void hungarian​(int[] C,
                              int[] T,
                              int[][] A)
      • hmflip

        public void hmflip​(int[][] A,
                           int[] C,
                           int[] LC,
                           int[] LR,
                           int[][] U,
                           int l,
                           int r)
      • hmreduce

        public void hmreduce​(int[][] A,
                             int[] CH,
                             int[] RH,
                             int[] LC,
                             int[] LR,
                             java.util.Vector<java.lang.Integer> SLC,
                             java.util.Vector<java.lang.Integer> SLR)
      • hminiass

        public void hminiass​(int[][] A,
                             int[] C,
                             int[][] U)
      • hminired

        public int[][] hminired​(int[][] A)
      • compute_f

        public void compute_f​(double[] f,
                              double[] p,
                              double[] r,
                              int[] T,
                              int[] H)
      • calc_nmi

        public double calc_nmi​(int[] groundtruthAssignment,
                               int[] algorithmAssignment)
      • calc_entropy

        public double calc_entropy​(int[] assignment)
      • unique

        public int[] unique​(int[] x)
      • calc_purity

        public double calc_purity​(int[] groundtruthAssignment,
                                  int[] algorithmAssignment)
      • count_occurrence

        public int[] count_occurrence​(int[] list)
      • MutualInfo

        public double MutualInfo​(int[] L1,
                                 int[] L2)
      • log2

        public double log2​(double x)
      • litekmeans

        public void litekmeans​(int[][] label,
                               Jama.Matrix center,
                               boolean[] bCon,
                               double[] sumD,
                               Jama.Matrix D,
                               Jama.Matrix X,
                               int k,
                               java.lang.String Distance,
                               Jama.Matrix startMatrix,
                               int[] startVector,
                               java.lang.String Start,
                               int maxit,
                               int reps,
                               int clustermaxit)