Machine Learning Approach to Report Prioritization with an ...


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Machine Learning Approach to Report Prioritization with an ...

  1. 1. Machine Learning Approach to Report Prioritization with an Application to Travel Time Dissemination Piotr Szczurek Bo Xu Jie Lin Ouri Wolfson
  2. 2. Agenda <ul><li>Background </li></ul><ul><li>Model and Problem Definition </li></ul><ul><li>Machine Learning Approach </li></ul><ul><li>Application – Travel Time Dissemination </li></ul><ul><li>Results </li></ul><ul><li>Conclusion </li></ul>
  3. 3. Background <ul><li>Technology in vehicles </li></ul><ul><ul><li>Computers </li></ul></ul><ul><ul><li>GPS </li></ul></ul><ul><ul><li>Communication devices (802.11p, C2C) </li></ul></ul><ul><li>Sensing of environment </li></ul><ul><ul><li>Video cameras </li></ul></ul><ul><ul><li>GPS </li></ul></ul><ul><ul><li>Temperature </li></ul></ul><ul><ul><li>Automobile status: break sensors, accelerometers </li></ul></ul>
  4. 4. Background <ul><li>Dissemination of information </li></ul><ul><ul><li>Limited by connectivity and bandwidth </li></ul></ul><ul><li>Store-and-forward communication </li></ul><ul><ul><li>Information is stored in a local database of limited size </li></ul></ul><ul><ul><li>Addresses connectivity issues </li></ul></ul><ul><li>Prioritization </li></ul><ul><ul><li>Not all information may be communicated </li></ul></ul><ul><ul><li>Not all information may be stored </li></ul></ul><ul><ul><li>Need to select most useful information to be kept and communicated </li></ul></ul>
  5. 5. Model and Problem Definition <ul><li>System: </li></ul><ul><ul><li>Set of mobile nodes: physical entity capable of data computation, storage, and short range wireless communication </li></ul></ul><ul><ul><li>Nodes observe environment through sensing device (e.g. GPS) </li></ul></ul><ul><li>Reports: </li></ul><ul><ul><li>Data derived from the sensing device </li></ul></ul><ul><ul><li>Fixed set of attributes and their values. </li></ul></ul><ul><ul><ul><li>(all reports have fixed size) </li></ul></ul></ul><ul><ul><li>Created over time by nodes </li></ul></ul><ul><ul><li>Examples: </li></ul></ul><ul><ul><ul><li>Speed report (average speed, timestamp, vehicle id) </li></ul></ul></ul><ul><ul><ul><li>Parking space report (parking meter id, availability) </li></ul></ul></ul><ul><ul><li>Once created, stored in report database </li></ul></ul>
  6. 6. Model and Problem Definition <ul><li>Report database </li></ul><ul><ul><li>Local database maintained by each node </li></ul></ul><ul><ul><li>Limited in size </li></ul></ul><ul><li>Communication </li></ul><ul><ul><li>Reports stored in the database are communicated over time to a subset of other nodes in the network </li></ul></ul><ul><ul><li>Broadcast communication: reports are sent to all nodes within transmission range </li></ul></ul><ul><ul><li>Communication protocol: decides when and how many reports to broadcast </li></ul></ul><ul><ul><li>Remaining question: which reports should be broadcast? </li></ul></ul>
  7. 7. Model and Problem Definition <ul><li>Relevance value </li></ul><ul><ul><li>Utility a report holds when it would be sent to other nodes, given the sending node’s current characteristics and the attribute values of the report </li></ul></ul><ul><ul><li>Highly application specific, difficult to specify </li></ul></ul><ul><ul><li>Value of a report can change over time </li></ul></ul><ul><ul><li>Can be a range of values (0..1) or Boolean (0 or 1) </li></ul></ul><ul><ul><li>Example: parking space availability (0 for occupied, 1 for not occupied) </li></ul></ul><ul><li>What to broadcast and keep in report database? </li></ul><ul><ul><li>Find relevance value for each report and keep (or broadcast) the highest valued reports </li></ul></ul><ul><li>Problem: finding the relevance value of a report </li></ul>
  8. 8. Machine Learning Approach <ul><li>Idea: use received reports as input to a machine learning process </li></ul><ul><li>Assumptions: </li></ul><ul><ul><li>Nodes can judge the relevance of a report after it is received </li></ul></ul><ul><ul><li>Relevance value is based on a goal common to all nodes </li></ul></ul><ul><li>Method description: </li></ul><ul><ul><li>Define a goal on which the relevance value is based </li></ul></ul><ul><ul><li>Relevance value of a report is then defined based on how close the report achieves the goal </li></ul></ul><ul><ul><li>For every incoming report, use report’s attributes and sender’s characteristics as input values. Use relevance value as output. This creates a training example. </li></ul></ul><ul><ul><li>Use a supervised machine learning algorithm to find a model for mapping inputs to outputs. </li></ul></ul><ul><ul><li>Use learned models to find the relevance value of a report </li></ul></ul>
  9. 9. Machine Learning Approach <ul><li>Two ways of learning: </li></ul><ul><ul><li>Online: models are updated while training </li></ul></ul><ul><ul><li>Offline: </li></ul></ul><ul><ul><ul><li>First, collect training examples </li></ul></ul></ul><ul><ul><ul><li>Second, use learned model </li></ul></ul></ul><ul><li>Offline learning </li></ul><ul><ul><li>Advantage: Nodes do not incur overhead of learning </li></ul></ul><ul><ul><li>Disadvantage: model is not adaptable </li></ul></ul><ul><ul><li>Can also be used to bootstrap online learning </li></ul></ul><ul><ul><li>Used for finding useful attributes </li></ul></ul><ul><li>Research questions: </li></ul><ul><ul><li>Can the relevance value be learned? </li></ul></ul><ul><ul><li>What advantage does the learned model offer? </li></ul></ul>
  10. 10. Application – Travel Time Dissemination <ul><li>Assume every vehicle in system carries GPS, on-board computer with communication capabilities (e.g. 802.11b) </li></ul><ul><li>Each vehicle has a known destination to which it travels along the shortest path </li></ul><ul><li>Vehicles measure travel times on road segments as they traverse them </li></ul><ul><li>Travel times are encapsulated by reports. Each report contains: </li></ul><ul><ul><ul><li>Report ID </li></ul></ul></ul><ul><ul><ul><li>Road segment ID </li></ul></ul></ul><ul><ul><ul><li>Travel time </li></ul></ul></ul><ul><ul><ul><li>Time of measurement </li></ul></ul></ul><ul><li>Reports are stored in reports database of a limited size (200 reports) </li></ul><ul><li>Reports database is a list of all received or generated reports. List is ranked by ranking function . If database size is exceeded, lowest ranked report is discarded. </li></ul><ul><li>Example of ranking function: r=1/ageOfReport </li></ul>
  11. 11. Application – Travel Time Dissemination <ul><li>Reports are disseminated over VANET </li></ul><ul><li>Incoming and newly generated reports are used to update a digital map </li></ul><ul><li>Digital map contains: </li></ul><ul><ul><li>Road segment identifier </li></ul></ul><ul><ul><li>Coordinates of the segment endpoints </li></ul></ul><ul><ul><li>Road type </li></ul></ul><ul><ul><li>Travel time estimate (average of all reports for latest time interval; initially free-flow) </li></ul></ul><ul><ul><li>List of reports used for the estimate </li></ul></ul><ul><ul><li>Time period number (indicates 5-minute interval; initially -1) </li></ul></ul>
  12. 12. Application – Travel Time Dissemination <ul><li>Travel time updates </li></ul><ul><ul><li>Executed at end of each 5-minute interval </li></ul></ul><ul><ul><li>All reports generated or received within that interval are used </li></ul></ul><ul><ul><li>For each road segment in digital map: </li></ul></ul><ul><ul><ul><li>Reports for the most current period are identified. All others are discarded. </li></ul></ul></ul><ul><ul><ul><li>Report period number is then compared with that in digital map: </li></ul></ul></ul><ul><ul><ul><ul><li>>: Time period is updated and all reports are inserted in list. Travel time estimate is average of all inserted reports. </li></ul></ul></ul></ul><ul><ul><ul><ul><li><: All reports are discarded </li></ul></ul></ul></ul><ul><ul><ul><ul><li>=: All reports are inserted in list; duplicates are discarded. Travel time estimate is average of all inserted reports. </li></ul></ul></ul></ul><ul><li>After each update, vehicles recalculate the shortest path to their destination </li></ul>
  13. 13. Application – Travel Time Dissemination <ul><li>Communication </li></ul><ul><ul><li>Based on TrafficInfo algorithm </li></ul></ul><ul><ul><li>Combination flooding/periodic broadcasting </li></ul></ul><ul><ul><li>Flooding for freshly created reports </li></ul></ul><ul><ul><li>Periodic broadcasting of subset of reports from report database. Subset is chosen based on ranking function. Highest K ranked reports are chosen. </li></ul></ul><ul><ul><li>Size of subset (K) is determined by Good Citizen Formula . </li></ul></ul><ul><ul><ul><li>Based on transmission range, node density, and last broadcast time </li></ul></ul></ul><ul><ul><li>Broadcast period is determined based on transmission range and vehicle velocity </li></ul></ul>
  14. 14. Application – Travel Time Dissemination <ul><li>Example: </li></ul><ul><ul><li>Vehicle A just traversed road segment 123 at time of 1:04pm (time period 2). The recorded travel time was 10 minutes. </li></ul></ul><ul><ul><li>Vehicle A creates a report with ID 1, using the measured travel time. Report contains: </li></ul></ul><ul><ul><ul><li>Report ID (1) </li></ul></ul></ul><ul><ul><ul><li>Road segment ID (123) </li></ul></ul></ul><ul><ul><ul><li>Travel time (10 minutes) </li></ul></ul></ul><ul><ul><ul><li>Time of measurement (1:04pm) </li></ul></ul></ul><ul><ul><li>Vehicle A updates its digital map at 1:05pm. Currently, it holds no reports for segment 1. The following changes are applied for road segment 123: </li></ul></ul><ul><ul><ul><li>Travel time estimate = 10 minutes </li></ul></ul></ul><ul><ul><ul><li>List of reports: [report 1] </li></ul></ul></ul><ul><ul><ul><li>Time period = 2 </li></ul></ul></ul>
  15. 15. Application – Travel Time Dissemination <ul><li>Example (continued): </li></ul><ul><ul><li>Vehicle A broadcasts report 1 at 1:06pm (in time period 3). </li></ul></ul><ul><ul><li>Vehicle B receives the report. </li></ul></ul><ul><ul><li>Vehicle B updates its digital map at 1:10pm. It currently has one report (report 2) for segment 123, with travel time of 11 minutes, for time period 2. The following changes are applied for road segment 123: </li></ul></ul><ul><ul><ul><li>Travel time estimate = 10.5 minutes </li></ul></ul></ul><ul><ul><ul><li>List of reports: [report 1], [report 2] </li></ul></ul></ul>
  16. 16. Application – Travel Time Dissemination <ul><li>Learning the ranking function (offline) </li></ul><ul><ul><li>Goal of application: vehicles choose the best (shortest) paths to their destinations </li></ul></ul><ul><ul><li>Relevance of a report: report is good when it changes the shortest path </li></ul></ul><ul><ul><ul><li>0 if report does not change path </li></ul></ul></ul><ul><ul><ul><li>1 if report changes shortest path </li></ul></ul></ul><ul><ul><li>Attributes: </li></ul></ul><ul><ul><ul><li>Age of report in time periods </li></ul></ul></ul><ul><ul><ul><li>Distance to road segment in terms of free-flow travel time form vehicle’s current position to the road segment contained in report </li></ul></ul></ul><ul><ul><ul><li>Road type : either highway or city street </li></ul></ul></ul>
  17. 17. Application – Travel Time Dissemination <ul><li>Learning (continued) </li></ul><ul><ul><li>Learning examples created artificially by emulating different scenarios </li></ul></ul><ul><ul><li>25 learning epochs: </li></ul></ul><ul><ul><ul><li>Each epoch had vehicles placed randomly on a road network (region of Chicago) </li></ul></ul></ul><ul><ul><ul><li>Random destination for each vehicle </li></ul></ul></ul><ul><ul><ul><li>All vehicles have digital map with one report containing free-flow travel time and random period number between 0 and 100 </li></ul></ul></ul><ul><ul><ul><li>Random segment is chosen from the road network. Its travel time is chosen from a uniform distribution between 0 and free-flow travel time </li></ul></ul></ul><ul><ul><ul><li>101 reports are created for each vehicle with ages 0..100 </li></ul></ul></ul><ul><ul><ul><li>Each report is about the chosen road segment and contains the assigned travel time </li></ul></ul></ul><ul><ul><ul><li>Every vehicle applies the 101 reports independently. After each is applied it is checked whether the shortest path would change. </li></ul></ul></ul><ul><ul><ul><li>If report would change path, a positive training example is created; otherwise a negative training example is created </li></ul></ul></ul><ul><ul><li>Two road networks were used (from different regions of Chicago). On smaller region, 100 vehicles were used; 250 was used for the larger region. </li></ul></ul>
  18. 18. Application – Travel Time Dissemination <ul><li>Learning (continued) </li></ul><ul><ul><li>Weka learning toolkit was used for learning </li></ul></ul><ul><ul><li>Negative examples were downsampled to match positives </li></ul></ul><ul><ul><li>7677 positive and 7677 negative examples </li></ul></ul><ul><ul><li>5 classifiers were tested: </li></ul></ul><ul><ul><ul><li>Naïve Bayesian (NaiveBayes Weka implementation) </li></ul></ul></ul><ul><ul><ul><li>Logistic Regression (using Logistic Weka implementation) </li></ul></ul></ul><ul><ul><ul><li>Support Vector Machines (using SMO Weka implementation, w/ buildLogisticModels enabled) </li></ul></ul></ul><ul><ul><ul><li>Artificial Neural Network (using Multilayer Perceptron Weka implementation) </li></ul></ul></ul><ul><ul><ul><li>Decision Tree (using J48 Weka implementation) </li></ul></ul></ul>
  19. 19. Results <ul><li>10-fold cross validation </li></ul><ul><li>All algorithms, with exception of decision trees, performed similarly with an accuracy of approximately 83-84% </li></ul><ul><li>The decision trees had the best accuracy of 96.22% </li></ul><ul><ul><li>But unusable model: complex tree with most leaf nodes being homogeneous </li></ul></ul><ul><li>Logistic regression model most understandable: </li></ul><ul><ul><li>U = -0.0322*age - 0.02*distance + 0.3885*[road=highway] – 0.3885*[road=city street] + 4.9053 </li></ul></ul>
  20. 20. Results <ul><li>3 logistic regression models were derived: </li></ul><ul><ul><li>Using region 1 examples </li></ul></ul><ul><ul><li>Using region 2 examples </li></ul></ul><ul><ul><li>Using examples from both regions </li></ul></ul><ul><li>No major difference in coefficients for all models, except for road type </li></ul><ul><ul><li>This shows that the relevance values are dependent on the makeup of road network </li></ul></ul><ul><li>Usefulness of derived models in report prioritization </li></ul><ul><ul><li>Tested SWANS/STRAW simulator </li></ul></ul><ul><ul><li>100 vehicles were randomly placed in region 1. Each travelled to random destinations for 1 hour. </li></ul></ul><ul><ul><li>Majority of highway segments had reduced speed limits (simulated accident scenario) </li></ul></ul><ul><ul><li>Number of broadcasted reports limited to 10 </li></ul></ul><ul><ul><li>Two evaluation metrics were used: </li></ul></ul><ul><ul><ul><li>Average Trip Time: average time to reach destination </li></ul></ul></ul><ul><ul><ul><li>Total Path Travel Time Difference: calculated by taking the absolute value of the difference between travel time along the shortest path given vehicle’s current knowledge and full knowledge </li></ul></ul></ul><ul><ul><li>Compared to common heuristics (1/(age+distance) used by TrafficInfo) </li></ul></ul>
  21. 21. Results
  22. 22. Results
  23. 23. Conclusion <ul><li>Proposed a machine learning approach to report prioritization for use in peer-to-peer environments </li></ul><ul><li>Uses incoming reports in order to provide input to supervised machine learning algorithms </li></ul><ul><li>Learned model can then be used by all nodes in order to rank the reports to be disseminated </li></ul><ul><li>Accurate prediction is feasible </li></ul><ul><li>Learned model outperformed heuristics in terms of disseminating the information most likely to affect the vehicle’s path </li></ul>