Can we train a better CRF model to predict indoor human location given sensor data?
Challenges:
Standard training algorithms based on maximum likelihood require running inference at each iteration of optimization, which can be very expensive. Maximum pseudo-likelihood is more efficient but it over-estimate the dependency parameters. Neither ML or MPL performs feature selection explicitly, and neither of them is able to adequately handle continuous observations.
Approach:
Training Conditional Random Fields using Virtual Evidence Boosting
Virtual evidence boosting extend LogitBoost Algorithm to make use of Virtual evidence from neighbors rather than true value of neighbors, hence avoid over-estimating neighborhood dependencies. Also, Virtual evidence boosting training model can perform feature selection and parameter estimation in a unified and efficient manner.
Preprocessing of sensor data:
Dataset:
MIT PlaceLab Data Set describes a small, four-hour test datasets of relatively intensive home activity. The class label will be the location of the person in placelab. The nodes of CRF model will denote where the person is at a certain time. There are 8 possible locations of the person: Living Room, Dining room,Kitchen,Office,Bedroom,Bathroom,Power room.
All the data were taken at different rate. For example, there are strictly 4 data points of each second of the "video difference" data, while there are not necessarily a data point in a minute of the "water flow" data. (It only has a value when the water is running. Most of the time there was only a small number indicating the dripping of water.
Preprocessing of the data need to find the sensor data corresponding to the current class label, then take the most frequently occurred data at that time slot as the value of the formatted data.
The value of the data are not in a unified frame at all. For example, the tempreture data having values of around 16-30 Celsius. The illumination data has a value of 0 and 2 indicating the light is on in a room and a value of 1 or 3 indicating the light is off. Those non-uniformed data need to be processed into values correspond to a location the sensor suggests the people might be at.
Note that there are some feathers that are useless and were discarded. For example the air pressure data was unchanged throughout the whole time. Also there is only one pressure sensor it is not going to give any useful information about where this person is. Similarly some other feathers were discarded.
Algorithm implemented
inputs: structure of CRF and training data (i,yi), with yi in {1,2,..8}
outputs:Learned F
for m= 1,2..8 do  
  Run BP using F to get virtual evidences ve(xi, n(yi));
  for k=1,2...,8 do
    for i=1,2..226 do
      compute likelihood p(yi|ve(xi,n(yi)));
      compute weight wki= p(yi|ve(xi,n(yi)))(1-p(yi|ve (xi,n(yi)));       Compute working response zki
    end
  end
Obtain "best" fm;
Update F=F+fm;
end
The virtual evidence is the stacking of local feathers and the lamda message from Belief Propagation. The posterior probability is get from logistic regression and the way to get the best feather of each iteration is to solve a Weighted Least Square Problem.
Results are discussion:
We can see the trained CRF model selects the most informative feather 6 (video difference) and 7 (object moving) at the first two iterations. Then with the ensemble of "weak learners" the Error Rate goes down. The error Rate wouldn't be very low because there are times when the person changes location in a short period of time the sensor data wouldn't be able to capture that well. But with experiments of changing the starting feather or increase the number of iterations, the trained CRF could always pick the most informative feathers at the beginning iterations and converge at similar error rates.
Comments:
Testing on this relatively small real world dataset proves the power of virtul evidence boosting. Given bigger dataset it's promising the VEB algorithm will pick the "best" "weak" learners to ensemble to a strong learner. The preprocessing of sensor data can vary based on different goals, however the dataset I achieved after preprocessing can be used with similar problem (determine human location) if other researchers are interested in solving with different approaches.
Lin Liao, Tanzeem Choudhury, Dieter Fox, and Henry Kautz. "Training Conditional Random Fields using Virtual Evidence Boosting." Appears in the Proceedings of International Joint Conference on Artificial Intelligence (IJCAI 2007). January 2007, Hyderabad, India.
Parameter Estimation in CRF using Virtual Evidence Boosting
Rong Yang June 2nd 2009