/** * Creates a new {@code OnlinePerceptron}. */ public OnlinePerceptron() { this(VectorFactory.getDenseDefault()); }
/** * Creates a new {@code OnlinePerceptron}. */ public OnlineVotedPerceptron() { this(VectorFactory.getDenseDefault()); }
/** * Creates a new {@code OnlinePerceptron}. */ public OnlinePerceptron() { this(VectorFactory.getDenseDefault()); }
/** * Creates a new {@code OnlinePerceptron}. */ public OnlinePerceptron() { this(VectorFactory.getDenseDefault()); }
/** * Creates a new {@code OnlinePerceptron}. */ public OnlineVotedPerceptron() { this(VectorFactory.getDenseDefault()); }
/** * Creates a new {@code OnlinePerceptron}. */ public OnlineVotedPerceptron() { this(VectorFactory.getDenseDefault()); }
private Vector convert(FeatureVector feature) { return VectorFactory.getDenseDefault().copyArray(feature.asDoubleVector()); } }
@Override public Vector convertToVector() { return VectorFactory.getDenseDefault().copyValues( this.getMinSupport(), this.getMaxSupport()); }
@Override public Vector convertToVector() { return VectorFactory.getDenseDefault().copyValues( this.getMinSupport(), this.getMaxSupport()); }
@Override public Vector convertToVector() { return VectorFactory.getDenseDefault().copyValues( this.getMinSupport(), this.getMaxSupport()); }
/** * Creates a new, empty {@link FactorizationMachine} of the given * input dimensionality (d) and factor count (k). It initializes the * internal d-dimensional weight vector and k-by-d factor matrix based on * these sizes. All values are initialized to 0. * * @param dimensionality * The input dimensionality (d). Cannot be negative. * @param factorCount * The number of factors for pairwise interactions (k). Cannot be * negative. */ public FactorizationMachine( final int dimensionality, final int factorCount) { this(0.0, VectorFactory.getDenseDefault().createVector(dimensionality), MatrixFactory.getDenseDefault().createMatrix( factorCount, dimensionality)); }
/** * Creates a new, empty {@link FactorizationMachine} of the given * input dimensionality (d) and factor count (k). It initializes the * internal d-dimensional weight vector and k-by-d factor matrix based on * these sizes. All values are initialized to 0. * * @param dimensionality * The input dimensionality (d). Cannot be negative. * @param factorCount * The number of factors for pairwise interactions (k). Cannot be * negative. */ public FactorizationMachine( final int dimensionality, final int factorCount) { this(0.0, VectorFactory.getDenseDefault().createVector(dimensionality), MatrixFactory.getDenseDefault().createMatrix( factorCount, dimensionality)); }
/** * Creates a new, empty {@link FactorizationMachine} of the given * input dimensionality (d) and factor count (k). It initializes the * internal d-dimensional weight vector and k-by-d factor matrix based on * these sizes. All values are initialized to 0. * * @param dimensionality * The input dimensionality (d). Cannot be negative. * @param factorCount * The number of factors for pairwise interactions (k). Cannot be * negative. */ public FactorizationMachine( final int dimensionality, final int factorCount) { this(0.0, VectorFactory.getDenseDefault().createVector(dimensionality), MatrixFactory.getDenseDefault().createMatrix( factorCount, dimensionality)); }
private static Collection<? extends InputOutputPair<? extends gov.sandia.cognition.math.matrix.Vector, Boolean>> createData() { final List<InputOutputPair<gov.sandia.cognition.math.matrix.Vector, Boolean>> ret = new ArrayList<InputOutputPair<gov.sandia.cognition.math.matrix.Vector, Boolean>>(); final LinearPerceptronDataGenerator dg = dataGen(); for (int i = 0; i < TOTAL_DATA_ITEMS; i++) { final IndependentPair<double[], PerceptronClass> pointClass = dg.generate(); final double[] pc = pointClass.firstObject(); final PerceptronClass pcc = pointClass.secondObject(); final boolean bool = pcc.equals(PerceptronClass.TRUE); final gov.sandia.cognition.math.matrix.Vector vec = VectorFactory.getDenseDefault().copyArray(pc); final InputOutputPair<gov.sandia.cognition.math.matrix.Vector, Boolean> item = DefaultInputOutputPair.create( vec, bool); ret.add(item); } System.out.println("Data created"); return ret; }
private static Collection<? extends InputOutputPair<? extends gov.sandia.cognition.math.matrix.Vector, Boolean>> createData() { final List<InputOutputPair<gov.sandia.cognition.math.matrix.Vector, Boolean>> ret = new ArrayList<InputOutputPair<gov.sandia.cognition.math.matrix.Vector, Boolean>>(); final LinearPerceptronDataGenerator dg = dataGen(); for (int i = 0; i < TOTAL_DATA_ITEMS; i++) { final IndependentPair<double[], PerceptronClass> pointClass = dg.generate(); final double[] pc = pointClass.firstObject(); final PerceptronClass pcc = pointClass.secondObject(); final boolean bool = pcc.equals(PerceptronClass.TRUE); final gov.sandia.cognition.math.matrix.Vector vec = VectorFactory.getDenseDefault().copyArray(pc); final InputOutputPair<gov.sandia.cognition.math.matrix.Vector, Boolean> item = DefaultInputOutputPair.create( vec, bool); ret.add(item); } System.out.println("Data created"); return ret; }
final VectorFactory<?> vectorFactory = VectorFactory.getDenseDefault(); final Vector weights = vectorFactory.createVector(this.dimensionality);
final VectorFactory<?> vectorFactory = VectorFactory.getDenseDefault(); final Vector weights = vectorFactory.createVector(this.dimensionality);
@Override public Vector sample( final Random random) { // Create the result vector. final int K = this.getParameters().getDimensionality(); final Vector y = VectorFactory.getDenseDefault().createVector(K); double sum = 0.0; for (int i = 0; i < K; i++) { final double yi = GammaDistribution.sampleStandard( this.parameters.get(i), random); y.set(i, yi); sum += yi; } if (sum != 0.0) { y.scaleEquals(1.0 / sum); } return y; }
@Override public Vector sample( final Random random) { // Create the result vector. final int K = this.getParameters().getDimensionality(); final Vector y = VectorFactory.getDenseDefault().createVector(K); double sum = 0.0; for (int i = 0; i < K; i++) { final double yi = GammaDistribution.sampleStandard( this.parameters.get(i), random); y.set(i, yi); sum += yi; } if (sum != 0.0) { y.scaleEquals(1.0 / sum); } return y; }
@Override public Vector sample( final Random random) { // Create the result vector. final int K = this.getParameters().getDimensionality(); final Vector y = VectorFactory.getDenseDefault().createVector(K); double sum = 0.0; for (int i = 0; i < K; i++) { final double yi = GammaDistribution.sampleStandard( this.parameters.get(i), random); y.set(i, yi); sum += yi; } if (sum != 0.0) { y.scaleEquals(1.0 / sum); } return y; }