UTA-splines and UTADIS-splines Olivier Sobrie 1 , 2 - Nicolas Gillis - - PowerPoint PPT Presentation

uta splines and utadis splines
SMART_READER_LITE
LIVE PREVIEW

UTA-splines and UTADIS-splines Olivier Sobrie 1 , 2 - Nicolas Gillis - - PowerPoint PPT Presentation

UTA-splines and UTADIS-splines Olivier Sobrie 1 , 2 - Nicolas Gillis 2 - Vincent Mousseau 1 - Marc Pirlot 2 1 cole Centrale de Paris - Laboratoire de Gnie Industriel 2 University of Mons - Faculty of engineering July 5, 2016 University of Mons


slide-1
SLIDE 1

UTA-splines and UTADIS-splines

Olivier Sobrie1,2 - Nicolas Gillis2 - Vincent Mousseau1 - Marc Pirlot2

1École Centrale de Paris - Laboratoire de Génie Industriel 2University of Mons - Faculty of engineering

July 5, 2016

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

1 / 28

slide-2
SLIDE 2

1 Additive value function model 2 Learning an AVF model 3 UTA(DIS)-poly 4 UTA(DIS)-splines 5 Experiments 6 Conclusion and further research

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

2 / 28

slide-3
SLIDE 3

Additive value function model

1 Additive value function model 2 Learning an AVF model 3 UTA(DIS)-poly 4 UTA(DIS)-splines 5 Experiments 6 Conclusion and further research

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

3 / 28

slide-4
SLIDE 4

Additive value function model

Additive value function model I

Principle

◮ A score is computed for each alternative ◮ The score is used to rank or to sort alternatives

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

4 / 28

slide-5
SLIDE 5

Additive value function model

Additive value function model II

◮ A marginal value function uj is associated to each criterion j ◮ Marginal value functions are monotonic ◮ Marginal value functions are normalized between 0 and 1, s.t.

uj(aj) = 0 and uj(aj) = 1

◮ A weight wj is associated to each criterion j, s.t. n j=1 wj = 1

uj j

+

0aj 1 aj uj(aj) aj

◮ Utility of an alternative a :

U(a) =

n

  • j=1

wj · uj(aj)

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

5 / 28

slide-6
SLIDE 6

Additive value function model

Additive value function model II

◮ A marginal value function uj is associated to each criterion j ◮ Marginal value functions are monotonic ◮ Marginal value functions are normalized between 0 and 1, s.t.

u∗

j (aj) = 0 and u∗ j (aj) = wj ◮ A weight wj is associated to each criterion j, s.t. n j=1 wj = 1

u∗

j

j

+

0aj wj aj u∗

j(aj)

aj

◮ We also have :

u∗

j (a) = wj · uj(aj) and u∗ j (aj) = wj ◮ Utility of an alternative a :

U(a) =

n

  • j=1

wj · uj(aj) =

n

  • j=1

u∗

j (aj)

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

5 / 28

slide-7
SLIDE 7

Additive value function model

Example

600 0.0 0.1 0.2 m u∗

j(aj)

  • dist. beach

800 0.0 0.1 0.2 m

  • dist. center

200 0.0 0.1 0.2 e price 5 45 0.0 0.1 0.2 m2 size 1 5 0.0 0.1 0.2 ⋆ rating

Ranking

Plaza

0.53

Miramar

0.51

Hilton

0.43

Hotel W

0.41

Sorting

Good Bad

Plaza

0.53

Miramar

0.51 0.5

Hilton

0.43

Hotel W

0.41

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

6 / 28

slide-8
SLIDE 8

Learning an AVF model

1 Additive value function model 2 Learning an AVF model 3 UTA(DIS)-poly 4 UTA(DIS)-splines 5 Experiments 6 Conclusion and further research

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

7 / 28

slide-9
SLIDE 9

Learning an AVF model

Existing methods for learning an AVF model

◮ UTA : LP for learning the parameters of an AVF-ranking model ◮ UTADIS : LP for learning the parameters of an AVF-sorting model ◮ Other methods : UTA*, ACUTA, . . . ◮ Monotonicity of the marginals is ensured ◮ Marginals are modeled with piecewise linear functions

u∗

j

j

+

0aj

+

u∗1

j

+

g1

j

+

u∗2

j

+

g2

j

+

u∗3

j

+

g3

j

+

wj

+

aj u∗

j(aj)

aj

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

8 / 28

slide-10
SLIDE 10

UTA(DIS)-poly

1 Additive value function model 2 Learning an AVF model 3 UTA(DIS)-poly 4 UTA(DIS)-splines 5 Experiments 6 Conclusion and further research

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

9 / 28

slide-11
SLIDE 11

UTA(DIS)-poly

UTA(DIS)-poly I

Principle

◮ Use of polynomials for the marginal value functions

u∗

j

j

+

0aj

+

u∗1

j

+

g1

j

+

u∗2

j

+

g2

j

+

u∗3

j

+

g3

j

+

wj

+

aj u∗

j(aj)

aj

u∗

j

j

+

0aj wj aj u∗

j(aj)

aj

Motivations

◮ Improve the flexibility of the model ◮ Improve the interpretability of the model

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

10 / 28

slide-12
SLIDE 12

UTA(DIS)-poly

UTA(DIS)-poly II

◮ Use of semi-definite programming (SDP)

◮ Based on interior point methods ◮ Possibility to impose the nonnegativity of a symmetric matrix

Q =        q1,1 q1,2 q1,3 · · · q1,n q2,2 q2,3 · · · q2,n q3,3 · · · q3,n ... . . . (symmetric) qn,n        ≥ 0

◮ Monotonicity of the marginals guaranteed

◮ Ensured by imposing the nonnegativity of the derivative ◮ Use of Hilbert’s theorems

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

11 / 28

slide-13
SLIDE 13

UTA(DIS)-poly

UTA(DIS)-poly III

Theorem (Hilbert) A polynomial F : Rn → R is nonnegative if it is possible to decompose it as a sum of squares (SOS) : F(z) =

  • s

f 2

s (z)

with z ∈ Rn. Theorem (Hilbert) A non-negative polynomial in one variable is always a SOS. Theorem (Hilbert) A polynomial p(x) in one variable x is non-negative in the interval [v1, v2], if and only if p(x) = (x − v1) · q(x) + (v2 − x) · r(x) where q(x) and r(x) are SOS.

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

12 / 28

slide-14
SLIDE 14

UTA(DIS)-poly

UTA-poly - Example I

x y a1 10 7 a2 6 8 a3 7 5 a1 ≻ a2 ≻ a3

◮ We define u∗ 1(x) and u∗ 2(y) as third degree polynomials :

u∗

1(x) = px,0 + px,1 · x + px,2 · x2 + px,3 · x3,

u∗

2(y) = py,0 + py,1 · y + py,2 · y2 + py,3 · y3. ◮ Scores of a1, a2 and a3 are given by :

U(a1) = px,0 + 10px,1 + 100px,2 + 1000px,3 + py,0 + 7py,1 + 49py,2 + 343py,3, U(a2) = px,0 + 6px,1 + 36px,2 + 324px,3 + py,0 + 8py,1 + 64py,2 + 512py,3, U(a3) = px,0 + 7px,1 + 49px,2 + 343px,3 + py,0 + 5py,1 + 25py,2 + 125py,3.

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

13 / 28

slide-15
SLIDE 15

UTA(DIS)-poly

UTA-poly - Example II

◮ Scores of a1, a2 and a3 are given by :

U(a1) = px,0 + 10px,1 + 100px,2 + 1000px,3 + py,0 + 7py,1 + 49py,2 + 343py,3, U(a2) = px,0 + 6px,1 + 36px,2 + 324px,3 + py,0 + 8py,1 + 64py,2 + 512py,3, U(a3) = px,0 + 7px,1 + 49px,2 + 343px,3 + py,0 + 5py,1 + 25py,2 + 125py,3.

◮ We have a1 ≻ a2 and a2 ≻ a3, which implies :

U(a1) − U(a2) + σ+(a1) − σ−(a1) − σ+(a2) + σ−(a2) > 0, U(a2) − U(a3) + σ+(a2) − σ−(a2) − σ+(a1) + σ−(a1) > 0.

◮ By replacing U(a1), U(a2) and U(a3), we have :

       4px,1 + 64px,2 + 776px,3 − py,1 − 15py,2 − 231py,3 + σ+(a1) − σ−(a1) −σ+(a2) + σ−(a2) > 0, −px,1 − 13px,2 − 19px,3 + 3py,1 + 39py,2 + 387py,3 + σ+(a2) − σ−(a2) −σ+(a3) + σ−(a3) > 0.

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

14 / 28

slide-16
SLIDE 16

UTA(DIS)-poly

UTA-poly - Example III

◮ We impose the derivative of u∗ 1 and u∗ 2 to be SOS :

u∗′

1 = xTQx

= 1 x T q0,0 q0,1 q1,0 q1,1 1 x

  • = q0,0 + (q0,1 + q0,1) x + q1,1x2,

u∗′

2 = yTRy

= r0,0 + (r0,1 + r1,0) y + r1,1y2.

◮ Q and R have to be semi-definite positive, in conjunction with :

     px,1 = q0,0, 2px,2 = q0,1 + q1,0, 3px,3 = q1,1, and      py,1 = r0,0, 2py,2 = r0,1 + r1,0, 3py,3 = r1,1.

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

15 / 28

slide-17
SLIDE 17

UTA(DIS)-poly

UTA-poly - Example IV

◮ We add normalization constraints :

   px,0 = 0, py,0 = 0, 10px,1 + 100px,2 + 1000px,3 + 10py,1 + 100py,2 + 1000py,3 = 1.

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

16 / 28

slide-18
SLIDE 18

UTA(DIS)-poly

UTA-poly - Example V

min σ+(a1) + σ−(a1) + σ+(a2) + σ−(a2) + σ+(a3) + σ−(a3). such that :                                            4px,1 + 64px,2 + 776px,3 − py,1 − 15py,2 − 231py,3 +σ+(a1) − σ−(a1) − σ+(a2) + σ−(a2) > 0, −px,1 − 13px,2 − 19px,3 + 3py,1 + 39py,2 + 387py,3 +σ+(a2) − σ−(a2) − σ+(a3) + σ−(a3) > 0, px,0 = 0, py,0 = 0, 10px,1 + 100px,2 + 1000px,3 + 10py,1 + 100py,2 + 1000py,3 = 1, px,1 = q0,0, 2px,2 = q0,1 + q1,0, 3px,3 = q1,1, py,1 = r0,0, 2py,2 = r0,1 + r1,0, 3py,3 = r1,1, with :

  • Q, R

PSD, σ+(a1), σ−(a1), σ+(a2), σ−(a2), σ+(a3), σ−(a3) ≥ 0.

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

17 / 28

slide-19
SLIDE 19

UTA(DIS)-splines

1 Additive value function model 2 Learning an AVF model 3 UTA(DIS)-poly 4 UTA(DIS)-splines 5 Experiments 6 Conclusion and further research

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

18 / 28

slide-20
SLIDE 20

UTA(DIS)-splines

UTA(DIS)-splines I

Principle

◮ Use of splines for the marginal value functions ◮ Monotonicity of the marginals guaranteed as in UTA(DIS)-poly

u∗

j

j

+

0aj

+

u∗1

j

+

g1

j

+

u∗2

j

+

g2

j

+

u∗3

j

+

g3

j

+

wj

+

aj u∗

j(aj)

aj

u∗

j

j

+

0aj wj aj u∗

j(aj)

aj

+

u∗1

j

+

g1

j

+

u∗2

j

+

g2

j

+

u∗3

j

+

g3

j

Motivations

◮ Improve the flexibility of the model ◮ Generalization of UTA(DIS)-poly and UTA(DIS)

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

19 / 28

slide-21
SLIDE 21

Experiments

1 Additive value function model 2 Learning an AVF model 3 UTA(DIS)-poly 4 UTA(DIS)-splines 5 Experiments 6 Conclusion and further research

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

20 / 28

slide-22
SLIDE 22

Experiments

Implementation

◮ Implemented in MATLAB ◮ CVX library ◮ SDPT3 solver ◮ Everything is available on https://github.com/oso/uta-matlab

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

21 / 28

slide-23
SLIDE 23

Experiments

Example of marginals learned with UTA-poly

300 600 0.0 0.2 0.4 euro u1 D = 2 300 600 0.0 0.2 0.4 euro D = 6 300 600 0.0 0.2 0.4 euro D = 10 500 1,500 0.0 0.2 0.4 km u2 500 1,500 0.0 0.2 0.4 km 500 1,500 0.0 0.2 0.4 km 50 150 0.0 0.1 0.2 m2 u3 50 150 0.0 0.1 0.2 m2 50 150 0.0 0.1 0.2 m2 real marginal learned marginal

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

22 / 28

slide-24
SLIDE 24

Experiments

Example of marginals learned with UTA-splines

300 600 0.0 0.2 0.4 euro u1 D = 1 300 600 0.0 0.2 0.4 euro D = 2 300 600 0.0 0.2 0.4 euro D = 3 500 1,500 0.0 0.2 0.4 km u2 500 1,500 0.0 0.2 0.4 km 500 1,500 0.0 0.2 0.4 km 50 150 0.0 0.1 0.2 m2 u3 50 150 0.0 0.1 0.2 m2 50 150 0.0 0.1 0.2 m2 real marginal learned marginal

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

23 / 28

slide-25
SLIDE 25

Experiments

Test with real data sets

◮ 5 datasets containing 209 to 1728 instances ◮ Instances evaluated on 4 to 10 criteria ◮ Sorting of the alternatives in 4 to 5 categories

Dataset # instances # attributes # categories JRA 172 5 4 CPU 209 6 4 LEV 1000 4 5 SWD 1000 10 4 CEV 1728 6 4

◮ Dataset split 100 times in two disjoint sets (learning set and test set)

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

24 / 28

slide-26
SLIDE 26

Experiments

Test with real data sets I

Test set (number of pieces - degree - continuity)

Size Dataset 1-1-0 1-2-0 1-3-0 30 % CEV 0.7449 ± 0.0110 0.7662 ± 0.0099 0.7487 ± 0.0109 CPU 0.9195 ± 0.0350 0.9119 ± 0.0319 0.9050 ± 0.0315 JRA 0.5950 ± 0.0537 0.6084 ± 0.0540 0.6248 ± 0.0399 LEV 0.5935 ± 0.0134 0.5902 ± 0.0146 0.5768 ± 0.0164 SWD 0.5408 ± 0.0174 0.5439 ± 0.0201 0.5395 ± 0.0186 50 % CEV 0.7463 ± 0.0115 0.7668 ± 0.0130 0.7502 ± 0.0133 CPU 0.9365 ± 0.0261 0.9275 ± 0.0272 0.9166 ± 0.0279 JRA 0.6134 ± 0.0467 0.6177 ± 0.0487 0.6342 ± 0.0376 LEV 0.5961 ± 0.0145 0.5933 ± 0.0159 0.5810 ± 0.0169 SWD 0.5481 ± 0.0164 0.5495 ± 0.0186 0.5436 ± 0.0195 70 % CEV 0.7444 ± 0.0141 0.7657 ± 0.0136 0.7473 ± 0.0139 CPU 0.9408 ± 0.0235 0.9308 ± 0.0242 0.9234 ± 0.0285 JRA 0.6309 ± 0.0476 0.6315 ± 0.0502 0.6405 ± 0.0414 LEV 0.5982 ± 0.0189 0.5938 ± 0.0188 0.5859 ± 0.0197 SWD 0.5479 ± 0.0183 0.5506 ± 0.0196 0.5470 ± 0.0162

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

25 / 28

slide-27
SLIDE 27

Experiments

Test with real data sets II

Test set (number of pieces - degree - continuity)

Size Dataset 1-3-2 2-3-2 3-3-2 30 % CEV 0.7487 ± 0.0109 0.7583 ± 0.0100 0.7603 ± 0.0115 CPU 0.9050 ± 0.0315 0.9043 ± 0.0285 0.8988 ± 0.0296 JRA 0.6248 ± 0.0399 0.6236 ± 0.0428 0.6197 ± 0.0478 LEV 0.5768 ± 0.0164 0.5745 ± 0.0184 0.5738 ± 0.0180 SWD 0.5395 ± 0.0186 0.5380 ± 0.0186 0.5380 ± 0.0191 50 % CEV 0.7502 ± 0.0133 0.7607 ± 0.0096 0.7626 ± 0.0105 CPU 0.9166 ± 0.0279 0.9179 ± 0.0290 0.9116 ± 0.0305 JRA 0.6342 ± 0.0376 0.6348 ± 0.0410 0.6385 ± 0.0461 LEV 0.5810 ± 0.0169 0.5780 ± 0.0161 0.5780 ± 0.0166 SWD 0.5436 ± 0.0195 0.5433 ± 0.0184 0.5424 ± 0.0187 70 % CEV 0.7473 ± 0.0139 0.7579 ± 0.0122 0.7597 ± 0.0139 CPU 0.9234 ± 0.0285 0.9262 ± 0.0272 0.9208 ± 0.0273 JRA 0.6405 ± 0.0414 0.6449 ± 0.0429 0.6482 ± 0.0451 LEV 0.5859 ± 0.0197 0.5829 ± 0.0189 0.5815 ± 0.0178 SWD 0.5470 ± 0.0162 0.5451 ± 0.0178 0.5445 ± 0.0171

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

26 / 28

slide-28
SLIDE 28

Conclusion and further research

Conclusion and further research

◮ Computing time in the same order of magnitude as UTA(DIS) ◮ Generalization of UTA(DIS) ◮ Overfitting effect ◮ Test with other datasets ◮ Use semi-definite programming with other MCDA methods ◮ Source code on https://github.com/oso/uta-matlab

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

27 / 28

slide-29
SLIDE 29

Thank you for your attention !

slide-30
SLIDE 30

References

References I

University of Mons

  • O. Sobrie - N. Gillis - V. Mousseau - M. Pirlot - July 5, 2016

28 / 28