public JacobiConditioner(Matrix a) { if (a.numCols() != a.numRows()) { throw new IllegalArgumentException("Matrix must be square."); } inverseDiagonal = new DenseVector(a.numCols()); for (int i = 0; i < a.numCols(); ++i) { inverseDiagonal.setQuick(i, 1.0 / a.getQuick(i, i)); } }
@Test public void testNumNonZerosDense() { DenseVector vector = new DenseVector(10); vector.assign(1); vector.setQuick(3, 0); vector.set(5, 0); assertEquals(8, vector.getNumNonZeroElements()); }
public static DenseVector read16b(File in, double scale) throws IOException { DataInputStream input = new DataInputStream(new FileInputStream(in)); int rows = (int) (in.length() / 2); DenseVector data = new DenseVector(rows); for (int i = 0; i < rows; i++) { data.setQuick(i, input.readShort() * scale); } return data; }
/** * Feeds forward from hidden to output * * @return Output unit activations. */ public DenseVector hiddenToOutput(Vector hiddenActivation) { DenseVector activations = new DenseVector(numOutput); for (int i = 0; i < numOutput; i++) { activations.setQuick(i, outputWeights[i].dot(hiddenActivation)); } activations.assign(outputBias, Functions.PLUS); return activations; }
/** * Feeds forward from hidden to output * * @return Output unit activations. */ public DenseVector hiddenToOutput(Vector hiddenActivation) { DenseVector activations = new DenseVector(numOutput); for (int i = 0; i < numOutput; i++) { activations.setQuick(i, outputWeights[i].dot(hiddenActivation)); } activations.assign(outputBias, Functions.PLUS); return activations; }
/** * Feeds forward from hidden to output * * @return Output unit activations. */ public DenseVector hiddenToOutput(Vector hiddenActivation) { DenseVector activations = new DenseVector(numOutput); for (int i = 0; i < numOutput; i++) { activations.setQuick(i, outputWeights[i].dot(hiddenActivation)); } activations.assign(outputBias, Functions.PLUS); return activations; }
private static Vector randomVector(int size, double entryMean) { DenseVector v = new DenseVector(size); Random r = RandomUtils.getRandom(); for (int i = 0; i < size; ++i) { v.setQuick(i, r.nextGaussian() * entryMean); } return v; }
public JacobiConditioner(Matrix a) { if (a.numCols() != a.numRows()) { throw new IllegalArgumentException("Matrix must be square."); } inverseDiagonal = new DenseVector(a.numCols()); for (int i = 0; i < a.numCols(); ++i) { inverseDiagonal.setQuick(i, 1.0 / a.getQuick(i, i)); } }
public JacobiConditioner(Matrix a) { if (a.numCols() != a.numRows()) { throw new IllegalArgumentException("Matrix must be square."); } inverseDiagonal = new DenseVector(a.numCols()); for (int i = 0; i < a.numCols(); ++i) { inverseDiagonal.setQuick(i, 1.0 / a.getQuick(i, i)); } }
@Override protected void map(Writable key, VectorWritable value, Context context) throws IOException, InterruptedException { Vector qRow = value.get(); if (sValues != null) { for (int i = 0; i < k; i++) { uRow.setQuick(i, qRow.dot(uHat.viewColumn(i)) * sValues.getQuick(i)); } } else { for (int i = 0; i < k; i++) { uRow.setQuick(i, qRow.dot(uHat.viewColumn(i))); } } /* * MAHOUT-1067: inherit A names too. */ if (qRow instanceof NamedVector) { uRowWritable.set(new NamedVector(uRow, ((NamedVector) qRow).getName())); } else { uRowWritable.set(uRow); } context.write(key, uRowWritable); // U inherits original A row labels. }
@Override protected void map(Writable key, VectorWritable value, Context context) throws IOException, InterruptedException { Vector qRow = value.get(); if (sValues != null) { for (int i = 0; i < k; i++) { uRow.setQuick(i, qRow.dot(uHat.viewColumn(i)) * sValues.getQuick(i)); } } else { for (int i = 0; i < k; i++) { uRow.setQuick(i, qRow.dot(uHat.viewColumn(i))); } } /* * MAHOUT-1067: inherit A names too. */ if (qRow instanceof NamedVector) { uRowWritable.set(new NamedVector(uRow, ((NamedVector) qRow).getName())); } else { uRowWritable.set(uRow); } context.write(key, uRowWritable); // U inherits original A row labels. }
@Override protected void map(Writable key, VectorWritable value, Context context) throws IOException, InterruptedException { Vector qRow = value.get(); if (sValues != null) { for (int i = 0; i < k; i++) { uRow.setQuick(i, qRow.dot(uHat.viewColumn(i)) * sValues.getQuick(i)); } } else { for (int i = 0; i < k; i++) { uRow.setQuick(i, qRow.dot(uHat.viewColumn(i))); } } /* * MAHOUT-1067: inherit A names too. */ if (qRow instanceof NamedVector) { uRowWritable.set(new NamedVector(uRow, ((NamedVector) qRow).getName())); } else { uRowWritable.set(uRow); } context.write(key, uRowWritable); // U inherits original A row labels. }
int[] observedSequence = observedSequenceIt.next(); initialProbabilities.setQuick(hiddenSequence[0], initialProbabilities .getQuick(hiddenSequence[0]) + 1); countTransitions(transitionMatrix, emissionMatrix, observedSequence, initialProbabilities.setQuick(i, initialProbabilities.getQuick(i) / isum);
int[] observedSequence = observedSequenceIt.next(); initialProbabilities.setQuick(hiddenSequence[0], initialProbabilities .getQuick(hiddenSequence[0]) + 1); countTransitions(transitionMatrix, emissionMatrix, observedSequence, initialProbabilities.setQuick(i, initialProbabilities.getQuick(i) / isum);
int[] observedSequence = observedSequenceIt.next(); initialProbabilities.setQuick(hiddenSequence[0], initialProbabilities .getQuick(hiddenSequence[0]) + 1); countTransitions(transitionMatrix, emissionMatrix, observedSequence, initialProbabilities.setQuick(i, initialProbabilities.getQuick(i) / isum);
/** * Feeds forward from input to hidden unit.. * * @return Hidden unit activations. */ public DenseVector inputToHidden(Vector input) { DenseVector activations = new DenseVector(numHidden); for (int i = 0; i < numHidden; i++) { activations.setQuick(i, hiddenWeights[i].dot(input)); } activations.assign(hiddenBias, Functions.PLUS); activations.assign(Functions.min(40.0)).assign(Functions.max(-40)); activations.assign(Functions.SIGMOID); return activations; }
/** * Feeds forward from input to hidden unit.. * * @return Hidden unit activations. */ public DenseVector inputToHidden(Vector input) { DenseVector activations = new DenseVector(numHidden); for (int i = 0; i < numHidden; i++) { activations.setQuick(i, hiddenWeights[i].dot(input)); } activations.assign(hiddenBias, Functions.PLUS); activations.assign(Functions.min(40.0)).assign(Functions.max(-40)); activations.assign(Functions.SIGMOID); return activations; }
/** * Feeds forward from input to hidden unit.. * * @return Hidden unit activations. */ public DenseVector inputToHidden(Vector input) { DenseVector activations = new DenseVector(numHidden); for (int i = 0; i < numHidden; i++) { activations.setQuick(i, hiddenWeights[i].dot(input)); } activations.assign(hiddenBias, Functions.PLUS); activations.assign(Functions.min(40.0)).assign(Functions.max(-40)); activations.assign(Functions.SIGMOID); return activations; }