Revert "Revert "use a map to track the features whose weights need to be udpated""

This reverts commit 0f0b93822b6cb00f5d7ca3da4902b21fea07e3df.
have to use a new map each batch