// 1. first item bias
IntArrayList items = (IntArrayList) datamodel.getItemIDs();
for (int i = 0; i < items.size(); i++) {
int itemid = items.get(i);
Vector tmp = datamodel.getVectorOfUsers(itemid);
Iterator<Element> iter = tmp.iterateNonZero();
double rate = 0.0;
while (iter.hasNext()) {
rate += (iter.next().get() - mean);
}
bitems.put(itemid, rate / (tmp.getNumNondefaultElements() + lamda2));