piecewise affine models from input output data
play

Piecewise Affine Models from Input-Output Data Rajeev Alur Nimit - PowerPoint PPT Presentation

Piecewise Affine Models from Input-Output Data Rajeev Alur Nimit Singhania University of Pennsylvania Summer School on Formal Techniques 2014 Menlo College Problem To represent real valued Input-Output Data D succinctly using a


  1. Piecewise Affine Models from Input-Output Data Rajeev Alur Nimit Singhania � University of Pennsylvania � Summer School on Formal Techniques 2014 Menlo College

  2. Problem • To represent real valued Input-Output Data D succinctly using a piecewise linear function • A piecewise linear function • Input domain partitioned into regions • Each region mapped to a linear function • Region represented by a guard condition

  3. Example 30 0 0 0 0 45 55 65 0 0 0 0 35 45 55 20 (10, 10) → 25 10 0 0 0 0 25 35 45 x 2 (0, 0) → 0 0 0 0 0 0 0 0 0 − 10 − 35 − 25 − 15 0 0 0 27 (20, -20) → 17 − 20 − 45 − 35 − 25 0 0 17 27 − 55 − 45 − 35 0 7 17 27 − 30 − 30 − 20 − 10 0 10 20 30 x 1

  4. Example 30 x1 + x2 + 5 x 1 � 5 20 10 x 2 � 5 x 2 0 0 x 2 � − 5 − 10 5 3 − � x 1 � − 5 x 1 − 20 − x1 - 3 x 2 − 30 − 30 − 20 − 10 0 10 20 30 x 1

  5. Example • Piecewise Linear Function ƒ: guard condition ƒ(x1, x2) = if x2 − x1 ≤ − 35 then linear function x1 − 3 else if (x1 ≤ − 5 ∧ x2 ≤ − 5) ∨ (5 ≤ x1 ∧ 5 ≤ x2) then x1 + x2 + 5 else 0

  6. Solution • In 2 phases • Find a set of linear functions L • Find guard condition for each linear function in L • Optimal solutions to both problems are NP-Hard • Only best effort solution

  7. Finding Linear Functions • To find a set of linear functions L such that • each (x, y) in D is represented by a linear function in L • Learn L iteratively • Pick a random point p in D • Find a linear function that represents points in the neighborhood of p and add it to L • Remove the covered points from D and repeat

  8. Finding Linear Functions • Say 3 linear functions 30 found for the example 20 • l1: x1 - 3 10 • l2: x1 + x2 + 5 x 2 0 • l3: 0 − 10 − 20 • Every point in D represented by a linear − 30 function − 30 − 20 − 10 0 10 20 30 x 1

  9. Finding Guards • To find guard condition Φ for the linear function l in L • marks the region where l is defined • Φ is true on points represented by l , marked positive • Φ is false on points not represented by l, marked negative • Φ needs to separate positive and negative points • Problem of learning a precise binary classifier • Problem of learning interpolant

  10. Guard for l1 Negative 30 20 10 x 2 0 Positive − 10 − 20 − 30 − 30 − 20 − 10 0 10 20 30 x 1

  11. Guard for l2 30 20 10 x 2 0 − 10 − 20 − 30 − 30 − 20 − 10 0 10 20 30 x 1

  12. Precise Classifiers • Find groups of positive and negative points • Each positive and negative group can be separated by a linear inequality • Combine inequalities so that all positive groups can be separated from negative groups

  13. Guard for l2 30 20 10 x 2 0 − 10 − 20 − 30 − 30 − 20 − 10 0 10 20 30 x 1

  14. Precise Classifiers • Use counter example guided approach to learn these groups • Start with a single positive and negative point as positive and negative group. • Iteratively update groups using counter examples until correct classifier is found • Based on interpolant learning technique • “Beautiful Interpolants” by Albarghouthi et. al in CAV 2013.

  15. Conclusion • Presented a technique to represent input-output data using piecewise linear functions • Combined use of machine learning and verification techniques • One potential application in modeling hybrid systems • Questions?

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend