/** {@inheritDoc} */ @Override public RealVector preMultiply(final RealVector v) throws DimensionMismatchException { final double[] vectorData; if (v instanceof ArrayRealVector) { vectorData = ((ArrayRealVector) v).getDataRef(); } else { vectorData = v.toArray(); } return MatrixUtils.createRealVector(preMultiply(vectorData)); }
public FunkSVDModel(RealMatrix umat, RealMatrix imat, KeyIndex uidx, KeyIndex iidx, List<FeatureInfo> features) { super(umat, imat, uidx, iidx); featureInfo = ImmutableList.copyOf(features); double[] means = new double[featureCount]; for (int f = featureCount - 1; f >= 0; f--) { means[f] = featureInfo.get(f).getUserAverage(); } averageUser = MatrixUtils.createRealVector(means); }
RealMatrix eBeta = MatrixUtils.createRealMatrix(itemNum, featureCount); for (int user = 0; user < userNum; user++) { RealVector eThetaU = MatrixUtils.createRealVector(new double[featureCount]); for (int k = 0; k < featureCount; k++) { double gammaShpUK = preUserModel.getWeightShpEntry(user, k); RealVector eBetaI = MatrixUtils.createRealVector(new double[featureCount]); for (int k = 0; k < featureCount; k++) { double lambdaShpIK = preItemModel.getWeightShpEntry(item, k);
RealVector uvec = MatrixUtils.createRealVector(new double [userCount]); RealVector ivec = MatrixUtils.createRealVector(new double[itemCount]);
public static ModelEntry computeItemUpdate(List<RatingMatrixEntry> ratings, PMFModel preUserModel, PMFModel preItemModel, PMFModel currUserModel, PFHyperParameters hyperParameters) { RealVector phiUI = MatrixUtils.createRealVector(new double[featureCount]); final int item = ratings.get(0).getItemIndex(); final double itemWeightShpPrior = hyperParameters.getItemWeightShpPrior();
public static ModelEntry computeUserUpdate(List<RatingMatrixEntry> ratings, PMFModel preUserModel, PMFModel preItemModel, PFHyperParameters hyperParameters) { RealVector phiUI = MatrixUtils.createRealVector(new double[featureCount]); final int user = ratings.get(0).getUserIndex(); final double userWeightShpPrior = hyperParameters.getUserWeightShpPrior();
RealVector kappaShp = MatrixUtils.createRealVector(new double[userNum]); RealVector kappaRte = MatrixUtils.createRealVector(new double[userNum]); RealMatrix lambdaShp = MatrixUtils.createRealMatrix(itemNum, featureCount); RealMatrix lambdaRte = MatrixUtils.createRealMatrix(itemNum, featureCount); RealVector tauShp = MatrixUtils.createRealVector(new double[itemNum]); RealVector tauRte = MatrixUtils.createRealVector(new double[itemNum]); RealMatrix gammaShpNext = MatrixUtils.createRealMatrix(userNum, featureCount); RealMatrix lambdaShpNext = MatrixUtils.createRealMatrix(itemNum, featureCount); gammaShpNext = gammaShpNext.scalarAdd(a); lambdaShpNext = lambdaShpNext.scalarAdd(c); RealVector phiUI = MatrixUtils.createRealVector(new double[featureCount]); RealVector gammaRteSecondTerm = MatrixUtils.createRealVector(new double[featureCount]); for (int k = 0; k < featureCount; k++) { double gammaRteUK = 0.0; RealVector lambdaRteSecondTerm = MatrixUtils.createRealVector(new double[featureCount]); for (int k = 0; k < featureCount; k++) { double lambdaRteIK = 0.0;
public FunkSVDModel(RealMatrix umat, RealMatrix imat, KeyIndex uidx, KeyIndex iidx, List<FeatureInfo> features) { super(umat, imat, uidx, iidx); featureInfo = ImmutableList.copyOf(features); double[] means = new double[featureCount]; for (int f = featureCount - 1; f >= 0; f--) { means[f] = featureInfo.get(f).getUserAverage(); } averageUser = MatrixUtils.createRealVector(means); }
/** {@inheritDoc} */ @Override public RealVector preMultiply(final RealVector v) throws DimensionMismatchException { final double[] vectorData; if (v instanceof ArrayRealVector) { vectorData = ((ArrayRealVector) v).getDataRef(); } else { vectorData = v.toArray(); } return MatrixUtils.createRealVector(preMultiply(vectorData)); }
/** {@inheritDoc} */ @Override public RealVector preMultiply(final RealVector v) throws DimensionMismatchException { final double[] vectorData; if (v instanceof ArrayRealVector) { vectorData = ((ArrayRealVector) v).getDataRef(); } else { vectorData = v.toArray(); } return MatrixUtils.createRealVector(preMultiply(vectorData)); }
RealVector X = MatrixUtils.createRealVector(expectedSolution); RealMatrix AMatrix = MatrixUtils.createRealMatrix(A.toArray()); RealVector Bvector = MatrixUtils.createRealVector(b.toArray()); RealVector Axb = AMatrix.operate(X).subtract(Bvector); double norm = Axb.getNorm(); log.debug("tolerance: " + tolerance); RealVector X = MatrixUtils.createRealVector(expectedSolution); RealMatrix AMatrix = MatrixUtils.createRealMatrix(A.toArray()); RealVector Bvector = MatrixUtils.createRealVector(b.toArray());
RealVector uvec = MatrixUtils.createRealVector(new double [userCount]); RealVector ivec = MatrixUtils.createRealVector(new double[itemCount]);