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

piecewise affine models from input output data
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Piecewise Affine Models from Input-Output Data

Rajeev Alur Nimit Singhania University of Pennsylvania

  • Summer School on Formal Techniques 2014

Menlo College

slide-2
SLIDE 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
slide-3
SLIDE 3

−30 −20 −10 10 20 30 −30 −20 −10 10 20 30 −55 −45 −35 7 17 27 −45 −35 −25 17 27 −35 −25 −15 27 25 35 45 35 45 55 45 55 65 x1 x2

Example

(10, 10) → 25 (0, 0) → 0 (20, -20) →17

slide-4
SLIDE 4

Example

−30 −20 −10 10 20 30 −30 −20 −10 10 20 30 x1 x2

x2 −5 x1 −5 x2 5 x1 5 x

2

− x

1

3 5

x1 + x2 + 5 x1 - 3

slide-5
SLIDE 5

Example

  • Piecewise Linear Function ƒ:

ƒ(x1, x2) = if x2 − x1 ≤ −35 then x1 − 3 else if (x1 ≤ −5 ∧ x2 ≤ −5) ∨ (5 ≤ x1 ∧ 5 ≤ x2) then x1 + x2 + 5 else

guard condition linear function

slide-6
SLIDE 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
slide-7
SLIDE 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
slide-8
SLIDE 8

Finding Linear Functions

  • Say 3 linear functions

found for the example

  • l1: x1 - 3
  • l2: x1 + x2 + 5
  • l3: 0
  • Every point in D

represented by a linear function

−30 −20 −10 10 20 30 −30 −20 −10 10 20 30 x1 x2

slide-9
SLIDE 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
slide-10
SLIDE 10

Guard for l1

−30 −20 −10 10 20 30 −30 −20 −10 10 20 30 x1 x2

Negative Positive

slide-11
SLIDE 11

−30 −20 −10 10 20 30 −30 −20 −10 10 20 30 x1 x2

Guard for l2

slide-12
SLIDE 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

slide-13
SLIDE 13

−30 −20 −10 10 20 30 −30 −20 −10 10 20 30 x1 x2

Guard for l2

slide-14
SLIDE 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.
slide-15
SLIDE 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?