PLUS_MULT.setMultiplicator(alpha); x.assign(updateDirection, PLUS_MULT); PLUS_MULT.setMultiplicator(-alpha); residual.assign(aTimesUpdate, PLUS_MULT);
@Override public boolean apply(int key, double value) { int i = key / columns; int j = key % columns; fun.setMultiplicator(value * alpha); if (transposeA) { Crows[j].assign(Brows[i], fun); } else { Crows[i].assign(Brows[j], fun); } return true; } }
@Override protected void map(IntWritable key, VectorWritable value, Context context) throws IOException, InterruptedException { Vector bCol = value.get(); /* * MAHOUT-817: PCA correction for B': b_{col=i} -= s_q * xi_{i} */ if (xi != null) { /* * code defensively against shortened xi which may be externally * supplied */ int btIndex = key.get(); double xii = xi.size() > btIndex ? xi.getQuick(btIndex) : 0.0; plusMult.setMultiplicator(-xii); bCol.assign(sq, plusMult); } for (int i = 0; i < k; i++) { vRow.setQuick(i, bCol.dot(uHat.viewColumn(i)) / sValues.getQuick(i)); } context.write(key, vRowWritable); }
@Override protected void map(IntWritable key, VectorWritable value, Context context) throws IOException, InterruptedException { Vector bCol = value.get(); /* * MAHOUT-817: PCA correction for B': b_{col=i} -= s_q * xi_{i} */ if (xi != null) { /* * code defensively against shortened xi which may be externally * supplied */ int btIndex = key.get(); double xii = xi.size() > btIndex ? xi.getQuick(btIndex) : 0.0; plusMult.setMultiplicator(-xii); bCol.assign(sq, plusMult); } for (int i = 0; i < k; i++) { vRow.setQuick(i, bCol.dot(uHat.viewColumn(i)) / sValues.getQuick(i)); } context.write(key, vRowWritable); }
@Override protected void map(IntWritable key, VectorWritable value, Context context) throws IOException, InterruptedException { Vector bCol = value.get(); /* * MAHOUT-817: PCA correction for B': b_{col=i} -= s_q * xi_{i} */ if (xi != null) { /* * code defensively against shortened xi which may be externally * supplied */ int btIndex = key.get(); double xii = xi.size() > btIndex ? xi.getQuick(btIndex) : 0.0; plusMult.setMultiplicator(-xii); bCol.assign(sq, plusMult); } for (int i = 0; i < k; i++) { vRow.setQuick(i, bCol.dot(uHat.viewColumn(i)) / sValues.getQuick(i)); } context.write(key, vRowWritable); }
PLUS_MULT.setMultiplicator(alpha); x.assign(updateDirection, PLUS_MULT); PLUS_MULT.setMultiplicator(-alpha); residual.assign(aTimesUpdate, PLUS_MULT);
plusMult.setMultiplicator(alpha); x.assign(updateDirection, plusMult); plusMult.setMultiplicator(-alpha); residual.assign(aTimesUpdate, plusMult);
double xii = xi.size() > btIndex ? xi.getQuick(btIndex) : 0.0; pmult.setMultiplicator(xii); if (sbAccum == null) { sbAccum = new DenseVector(btRow.size());
double xii = xi.size() > btIndex ? xi.getQuick(btIndex) : 0.0; pmult.setMultiplicator(xii); if (sbAccum == null) { sbAccum = new DenseVector(btRow.size());
double xii = xi.size() > btIndex ? xi.getQuick(btIndex) : 0.0; pmult.setMultiplicator(xii); if (sbAccum == null) { sbAccum = new DenseVector(btRow.size());