List of usage examples for org.apache.mahout.math DenseMatrix DenseMatrix
public DenseMatrix(int rows, int columns)
From source file:com.cloudera.knittingboar.messages.GlobalParameterVectorUpdateMessage.java
License:Apache License
/** * message that is sent from the POLRMasterDriver to the POLRWorkerDrive * // w ww. j av a 2 s . co m * numCategories has to be 2 in the case of logistic regression * * @param response_dst_host * @param numCategories * @param numFeatures */ public GlobalParameterVectorUpdateMessage(String response_dst_host, int numCategories, int numFeatures) { this.dst_host = response_dst_host; // beta = new DenseMatrix(numCategories - 1, numFeatures); this.parameter_vector = new DenseMatrix(numCategories - 1, numFeatures); }
From source file:com.cloudera.knittingboar.messages.TestParameterVector.java
License:Apache License
public void testSerde() throws IOException { int classes = 20; int features = 10000; //GradientBuffer g = new GradientBuffer( classes, features ); Matrix m = new DenseMatrix(classes, features); //m.set(0, 0, 0.1); //m.set(0, 1, 0.3); //g.numFeatures(); for (int c = 0; c < classes - 1; c++) { for (int f = 0; f < features; f++) { m.set(c, f, (double) ((double) f / 10.0f)); }// w w w . java2 s. c o m } System.out.println("matrix created..."); ParameterVector vec_gradient = new ParameterVector(); vec_gradient.SrcWorkerPassCount = pass_count; vec_gradient.parameter_vector = m; vec_gradient.AvgLogLikelihood = -1.368f; vec_gradient.PercentCorrect = 72.68f; vec_gradient.TrainedRecords = 2500; assertEquals(10000, vec_gradient.numFeatures()); assertEquals(10000, vec_gradient.parameter_vector.columnSize()); assertEquals(20, vec_gradient.numCategories()); assertEquals(20, vec_gradient.parameter_vector.rowSize()); byte[] buf = vec_gradient.Serialize(); ParameterVector vec_gradient_deserialized = new ParameterVector(); vec_gradient_deserialized.Deserialize(buf); assertEquals(pass_count, vec_gradient_deserialized.SrcWorkerPassCount); assertEquals(0.1, vec_gradient_deserialized.parameter_vector.get(0, 1)); assertEquals(0.2, vec_gradient_deserialized.parameter_vector.get(0, 2)); assertEquals(0.3, vec_gradient_deserialized.parameter_vector.get(0, 3)); assertEquals(0.4, vec_gradient_deserialized.parameter_vector.get(0, 4)); assertEquals(0.5, vec_gradient_deserialized.parameter_vector.get(0, 5)); assertEquals(-1.368f, vec_gradient_deserialized.AvgLogLikelihood); assertEquals(72.68f, vec_gradient_deserialized.PercentCorrect); assertEquals(2500, vec_gradient_deserialized.TrainedRecords); }
From source file:com.cloudera.knittingboar.messages.TestParameterVectorGradient.java
License:Apache License
public void testSerde() throws IOException { int classes = 20; int features = 10000; //GradientBuffer g = new GradientBuffer( classes, features ); Matrix m = new DenseMatrix(classes, features); //m.set(0, 0, 0.1); //m.set(0, 1, 0.3); //g.numFeatures(); for (int c = 0; c < classes - 1; c++) { for (int f = 0; f < features; f++) { m.set(c, f, (double) ((double) f / 10.0f)); }/*from w ww . j a va2 s .c o m*/ } System.out.println("matrix created..."); ParameterVectorGradient vec_gradient = new ParameterVectorGradient(); vec_gradient.SrcWorkerPassCount = pass_count; vec_gradient.parameter_vector = m; vec_gradient.AvgLogLikelihood = -1.368f; vec_gradient.PercentCorrect = 72.68f; vec_gradient.TrainedRecords = 2500; assertEquals(10000, vec_gradient.numFeatures()); assertEquals(10000, vec_gradient.parameter_vector.columnSize()); assertEquals(20, vec_gradient.numCategories()); assertEquals(20, vec_gradient.parameter_vector.rowSize()); byte[] buf = vec_gradient.Serialize(); ParameterVectorGradient vec_gradient_deserialized = new ParameterVectorGradient(); vec_gradient_deserialized.Deserialize(buf); assertEquals(pass_count, vec_gradient_deserialized.SrcWorkerPassCount); assertEquals(0.1, vec_gradient_deserialized.parameter_vector.get(0, 1)); assertEquals(0.2, vec_gradient_deserialized.parameter_vector.get(0, 2)); assertEquals(0.3, vec_gradient_deserialized.parameter_vector.get(0, 3)); assertEquals(0.4, vec_gradient_deserialized.parameter_vector.get(0, 4)); assertEquals(0.5, vec_gradient_deserialized.parameter_vector.get(0, 5)); assertEquals(-1.368f, vec_gradient_deserialized.AvgLogLikelihood); assertEquals(72.68f, vec_gradient_deserialized.PercentCorrect); assertEquals(2500, vec_gradient_deserialized.TrainedRecords); }
From source file:com.cloudera.knittingboar.sgd.GradientBuffer.java
License:Apache License
public GradientBuffer(int numCategories, int numFeatures) { this.numCategories = numCategories; this.gamma = new DenseMatrix(numCategories - 1, numFeatures); }
From source file:com.cloudera.knittingboar.sgd.MultinomialLogisticRegressionParameterVectors_deprecated.java
License:Apache License
public MultinomialLogisticRegressionParameterVectors_deprecated(int numCategories, int numFeatures) { this.numCategories = numCategories; this.gamma = new DenseMatrix(numCategories - 1, numFeatures); }
From source file:com.cloudera.knittingboar.sgd.ParallelOnlineLogisticRegression.java
License:Apache License
/** * Main constructor//from ww w. jav a 2 s . c o m * * * * @param numCategories * @param numFeatures * @param prior */ public ParallelOnlineLogisticRegression(int numCategories, int numFeatures, PriorFunction prior) { this.numCategories = numCategories; this.prior = prior; updateSteps = new DenseVector(numFeatures); updateCounts = new DenseVector(numFeatures).assign(perTermAnnealingOffset); beta = new DenseMatrix(numCategories - 1, numFeatures); // brand new factor for parallelization this.gamma = new GradientBuffer(numCategories, numFeatures); }
From source file:com.cloudera.knittingboar.sgd.TestGradientBuffer.java
License:Apache License
public void testAccumulateGradientMatrix() { GradientBuffer g0 = new GradientBuffer(2, 2); g0.setCell(0, 0, 0.4);//from w w w . j a va 2 s . co m g0.setCell(0, 1, 0.3); assertEquals(g0.numFeatures(), 2); /* GradientBuffer g1 = new GradientBuffer( 2, 2 ); g1.setCell(0, 0, 0.1); g1.setCell(0, 1, 0.3); assertEquals( g1.numFeatures(), 2 ); */ Matrix m = new DenseMatrix(2, 2); m.set(0, 0, 0.1); m.set(0, 1, 0.3); g0.AccumulateGradient(m); //m.get(arg0, arg1) // check source assertEquals(m.get(0, 0), 0.1); // check accumlation in g0 assertEquals(g0.getCell(0, 0), 0.5); // check source assertEquals(m.get(0, 1), 0.3); // check accumlation in g0 assertEquals(g0.getCell(0, 1), 0.6); System.out.println("matrix accumulation test done!"); assertNotNull(0); }
From source file:com.cloudera.knittingboar.sgd.TestGradientBuffer.java
License:Apache License
public void testAverageGradientBuffer() { System.out.println("testAverageGradientBuffer --------"); GradientBuffer g0 = new GradientBuffer(2, 2); g0.setCell(0, 0, 0.1d);//from w w w.j a va2 s. c om g0.setCell(0, 1, 0.5d); assertEquals(g0.numFeatures(), 2); Matrix m = new DenseMatrix(2, 2); m.set(0, 0, 0.5d); m.set(0, 1, 0.1d); g0.AccumulateGradient(m); //m.get(arg0, arg1) // check source assertEquals(m.get(0, 0), 0.5d); // check accumlation in g0 //assertEquals( g0.getCell(0, 0), 0.6 ); junit.framework.Assert.assertEquals(0.6d, g0.getCell(0, 0), 0.0001); // check source assertEquals(m.get(0, 1), 0.1d); // check accumlation in g0 // assertEquals( g0.getCell(0, 1), 0.6 ); Utils.PrintVectorNonZero(g0.gamma.viewRow(0)); //Utils.PrintVectorNonZero(g0.gamma.viewRow(1)); g0.AverageAccumulations(2); Utils.PrintVectorNonZero(g0.gamma.viewRow(0)); System.out.println("matrix accumulation AVG test done!"); //System.out.println( "add test: " + ( 10.0d + 6.0d ) ); assertNotNull(0); }
From source file:com.cloudera.knittingboar.sgd.TestPOLRWorkerNode.java
License:Apache License
/** * [ ******* Rebuilding this currently ******* ] * // w w w .j a va 2s . com * Tests replacing the beta, presumably from the master, after we've run POLR a bit * @throws Exception */ public void testReplaceBetaMechanics() throws Exception { System.out.println("\n------ testReplaceBetaMechanics --------- "); // ---- this all needs to be done in JobConf job = new JobConf(defaultConf); InputSplit[] splits = generateDebugSplits(workDir, job); System.out.println("split count: " + splits.length); POLRWorkerNode worker_model_builder = new POLRWorkerNode(); // ------------------ // generate the debug conf ---- normally setup by YARN stuff worker_model_builder.setup(this.generateDebugConfigurationObject()); System.out.println("split: " + splits[0].toString()); TextRecordParser txt_reader = new TextRecordParser(); long len = Integer.parseInt(splits[0].toString().split(":")[2].split("\\+")[1]); txt_reader.setFile(splits[0].toString().split(":")[1], 0, len); worker_model_builder.setRecordParser(txt_reader); // worker_model_builder.RunNextTrainingBatch(); worker_model_builder.compute(); // worker_model_builder.polr.Set // ------------------- now replace beta ------------ double val1 = -1.0; // GradientBuffer g0 = new GradientBuffer( 2, worker_model_builder.FeatureVectorSize ); Matrix m = new DenseMatrix(2, feature_vector_size); for (int x = 0; x < feature_vector_size; x++) { m.set(0, x, val1); } worker_model_builder.polr.SetBeta(m); for (int x = 0; x < feature_vector_size; x++) { assertEquals(worker_model_builder.polr.noReallyGetBeta().get(0, x), val1); } System.out.println("--------------------------------\n"); }
From source file:com.elex.dmp.core.TopicModel.java
License:Apache License
public TopicModel(int numTopics, int numTerms, double eta, double alpha, String[] dictionary, int numThreads, double modelWeight) { this(new DenseMatrix(numTopics, numTerms), new DenseVector(numTopics), eta, alpha, dictionary, numThreads, modelWeight);/* w w w . j a v a 2 s . c om*/ }