HashMap<Integer, Double> gradient = new HashMap<Integer, Double>();
for(Integer featID : goalX.getT().getValue().getIds()){
//delta(r)*Z/Z^2=delta(r)/Z
//--normalize
SignedValue resT = goalX.getT().getValue().getValueAt(featID).duplicate();
resT.multiLogNumber(-logZ);
//-delta(Z)*r/Z^2
SignedValue resRS = SignedValue.multi(
goalX.getS().getValue().getValueAt(featID),
goalK.getR().getValue()