code: protected double smoothCounter(int i, List<Double> counters, List<Double> params){
  		double alpha = 1;
  		return counters.get(i) + Math.pow(params.get(i), alpha);
  	}
docs: Dirichlet smoothing
  -------------------
  
  Without a prior:
  P(data | theta) = theta(i)^beta(i) = counters(i)
  
  
  With a dirichlet prior:
  P(data | theta)*p(theta) = theta(i)^(beta(i) + alpha(i)) =
  theta(i)^beta(i) + theta(i)^alpha(i)
  counters(i) + params(i)^alpha(i)