/** * Updates the clusters for all the given points. * * @param dataPoints * The examples to update. */ public void updateCluster(Collection<? extends Vector> dataPoints) { int initNumUpdates = numUpdates; this.numUpdates += dataPoints.size(); double finalEta = 1 / (double) numUpdates; Vector shiftVector = DenseVectorFactoryMTJ.INSTANCE.createVector( centroid.getDimensionality()); for (Vector sample : dataPoints) { shiftVector.plusEquals(sample); } // Move centroid towards data point centroid.scaleEquals(initNumUpdates * finalEta); centroid.scaledPlusEquals(finalEta, shiftVector); }
/** * Updates the clusters for all the given points. * * @param dataPoints * The examples to update. */ public void updateCluster(Collection<? extends Vector> dataPoints) { int initNumUpdates = numUpdates; this.numUpdates += dataPoints.size(); double finalEta = 1 / (double) numUpdates; Vector shiftVector = DenseVectorFactoryMTJ.INSTANCE.createVector( centroid.getDimensionality()); for (Vector sample : dataPoints) { shiftVector.plusEquals(sample); } // Move centroid towards data point centroid.scaleEquals(initNumUpdates * finalEta); centroid.scaledPlusEquals(finalEta, shiftVector); }
/** * Updates the clusters for all the given points. * * @param dataPoints * The examples to update. */ public void updateCluster(Collection<? extends Vector> dataPoints) { int initNumUpdates = numUpdates; this.numUpdates += dataPoints.size(); double finalEta = 1 / (double) numUpdates; Vector shiftVector = DenseVectorFactoryMTJ.INSTANCE.createVector( centroid.getDimensionality()); for (Vector sample : dataPoints) { shiftVector.plusEquals(sample); } // Move centroid towards data point centroid.scaleEquals(initNumUpdates * finalEta); centroid.scaledPlusEquals(finalEta, shiftVector); }
errors.scaledPlusEquals(weightChange, inputs); this.totalChange += Math.abs(weightChange); errors.scaledPlusEquals(factorChange, derivative); factorTimesInput.scaledPlusEquals(-factorChange, inputs);
errors.scaledPlusEquals(weightChange, inputs); this.totalChange += Math.abs(weightChange); errors.scaledPlusEquals(factorChange, derivative); factorTimesInput.scaledPlusEquals(-factorChange, inputs);
errors.scaledPlusEquals(weightChange, inputs); this.totalChange += Math.abs(weightChange); errors.scaledPlusEquals(factorChange, derivative); factorTimesInput.scaledPlusEquals(-factorChange, inputs);