@Override public Matrix predict(Matrix x) { Matrix xt = MatlibMatrixUtils.transpose(x); final Matrix mult = MatlibMatrixUtils.dotProduct(MatlibMatrixUtils.dotProduct(MatlibMatrixUtils.transpose(u), xt),this.w); if(this.biasMode) MatlibMatrixUtils.plusInplace(mult,this.bias); Matrix ydiag = new DiagonalMatrix(mult); return ydiag; } }
public static void main(String[] args) { SparseMatrix a = SparseMatrix.sparse(4, 1118); MatlibMatrixUtils.plusInplace(a, 1); SparseMatrix xtrow = MatlibMatrixUtils.transpose(SparseMatrix.random(1118,22917,1 - 0.9998818947086253)); System.out.println("xtrow sparsity: " + MatlibMatrixUtils.sparsity(xtrow)); MeanVector mv = new MeanVector(); System.out.println("doing: a . xtrow"); for (int i = 0; i < 10; i++) { Timer t = Timer.timer(); MatlibMatrixUtils.dotProductTranspose(a, xtrow); mv.update(new double[]{t.duration()}); System.out.println("time: " + mv.vec()[0]); } } }
public static void main(String[] args) { SparseMatrix a = SparseMatrix.sparse(4, 1118); MatlibMatrixUtils.plusInplace(a, 1); SparseMatrix xtrow = MatlibMatrixUtils.transpose(SparseMatrix.random(1118,22917,1 - 0.9998818947086253)); System.out.println("xtrow sparsity: " + MatlibMatrixUtils.sparsity(xtrow)); MeanVector mv = new MeanVector(); System.out.println("doing: a . xtrow"); for (int i = 0; i < 10; i++) { Timer t = Timer.timer(); MatlibMatrixUtils.dotProductTranspose(a, xtrow); mv.update(new double[]{t.duration()}); System.out.println("time: " + mv.vec()[0]); } } }