You are on page 1of 4

CY-TECH - Département Mathématiques

2ème année Ingénieurs - Mathématiques & Informatique


TD 2 - Codage parcimonieux
2021-2022

Pour un dictionnaire déjà connu D, on cherche pour un vecteur x une représentation parcimonieuse α.
On va donc résoudre le problème suivant

min ∥α∥0 sous la contrainte De


α=x (1)
α
e

Les algorithmes de poursuite ℓ0 résolvent séquentiellement le problème (1) en incrémentant la valeur de


s itérativement.
1. La poursuite adaptative  Matching Pursuit
Le Matching Pursuit est un algorithme itératif qui recherche des approximations du signal x ∈ RN
par optimisation unidimensionnelle. On cherche le vecteur s-parcimonieux α ∈ RK vériant x ≈ α1 d1 +
α2 d2 + . . . + αK dK . On décompose itérativement le signal x dans un dictionnaire qui correspond le
mieux au signal à reconnaître :

(n) (n)
x= |x
b{z } + | R{z } .
Approximation de x après n itérations Résiduel après n itérations

L'algorithme du Matching Pursuit repose sur une séléction d'atomes dont la contribution au résiduel
est la plus grande. A l'étape initiale k=0, on considère α(0) = 0RK et R(0) = x.

Atome di Atome d3
Le résiduel R(0)

Atome d2

e(2)
e(3)
e(1) Atome d1
e(i)

e(K)

e(K-1)

Atome dK−1
Atome dK

Figure 1. e(2) est la plus petite distance, on séléctionne donc l'atome d2


TD-TP Compressive Sensing

Exercice 1 (La première étape du Matching Pursuit). On cherche une composante plus signi-

cative telle que


R(0) = zm1 dm1 + R(1) .
2
R(0) − zdj l'erreur quadratique minimale entre
1. Soit j ∈ {1, . . . , K}. On note e(j) = min
z 2
le résiduel actuel R(0) et sa représentation sur dj .
2
(0) 2
dTj R(0)
(a) Montrer que ∀j ∈ {1, . . . , K}, e(j) = R − 2 .
2 ∥dj ∥
(b) En déduire zoptimal (j).

2. La sélection de m1 .

T (0)
dj R
(a) Montrer que m1 = arg max .
j ∥dj ∥
(b) En déduire zm1 .

3. En déduire une approximation de x à l'issue de cette première étape.

Exercice 2 (La deuxième étape du Matching Pursuit). On cherche une composante plus signi-
cative telle que R(1) = zm2 dm2 + R(2) .

1. Réitérer les mêmes opérations que l'exercice 1 pour déterminer zm2 et dm2 .

2. En déduire une approximation de x à l'issue des deux premières étapes.

3. Généraliser le processus pour une itération k ≥ 1.

L'algorithme du Matching Pursuit est un algorithme récursif donc on a besoin d'indiquer la n de son
exécution. On pourra xer le nombre de coecients non nuls que l'on souhaite dans notre solution pour
ainsi contrôler le degré de parcimonie ou de xer la valeur de l'erreur quadratique de reconstruction.
Dans ce cas, l'algorithme utilise le nombre de coecients dont il a besoin pour aboutir à cette erreur,
et donc le vecteur solution n'est plus forcément parcimonieux.

Exercice 3 (Algorithme du Matching Pursuit).

1. Décrire l'algorithme de la méthode du Matching Pursuit.

2. Implémenter cet algorithme sur scilab/python. (En sortie, acher le nombre d'itérations, l'approxima-
tion parcimonieuse, le résiduel nal et les positions des atomes ayant contribué au résiduel à chaque itération).

3. On considère la matrice
1√ 1√ 1√ 4 1√

2 1
  
2 3 6 −  − 2 

 2 3 3 3 3  
 3 2 
   
 1√ 1√ 1√ 2 2  4 1√ 
   
D1 =  − 2 − 3 − 6 −  et x1 =  + 2 .

 2 3 6 3 3   3 2 
   
   
 1√ 1√ 1 2   2 
0 − 3 6
3 6 3 3 3

2/4
TD-TP Compressive Sensing

Déterminer une représentation parcimonieuse de x1 dans le dictionnaire D1 en utilisant


l'algorithme du Matching Pursuit.

4. Mêmes questions pour


   
1 1 2 5 0 0 3 −2 1 2 2 2 −10
0 −1 −1 1 0 0 5 0 2 2 7 −1   −10 
   

   
 1 1 1 5 1 2 2 1 1 1 1 5 
 et x2 = 
 1 
D2 =  

 1 5 2 2 5 0 −4 5 1 5 0 0 

 21 
 
0 2 2 1 1 0 0 0 0 4 −1 −2  0 
   
 
−1 2 2 2 −2 −3 −4 1 1 1 1 0 9

2. La poursuite adaptative  Orthoginal Matching Pursuit


L'algorithme Orthogonal Matching Pursuit est basé sur le même principe que l'algorithme MP,
cependant avec le Matching Pursuit, un atome peut être sélectionné plusieurs fois, ce qui peut ralentir
la convergence de l'algorithme vers une solution. L'OMP recalcule à chaque itération l'ensemble des
coecients calculés aux itérations précedentes, coresspondant aux atomes déjà choisis, de telle sorte que
le résiduel calculé soit orthogonal à la fois à l'atome juste sélectionné mais également à tous les atomes
précédemment calculés.
A l'étape initiale k=0, on considère α(0) = 0RK et R(0) = x.

Exercice 4 (La première étape de l'Orthogonal Matching Pursuit). On cherche une approximation

de x telle que x = z1(1) dm1 + R(1) .

1. Montrer que l'atome


de plus grande contribution au résiduel R(0) est dm1 tel que m1 =
T (0)
dj R
arg max .
j ∥dj ∥
2. Déterminer la meilleure approximation de x à l'issue de cette première étape.

3. Mettre à jour le résiduel à l'issue de cette première étape.

Exercice 5 (La deuxième étape de l'Orthogonal Matching Pursuit). On cherche une approxima-
tion de x telle que x = z1(2) dm1 + z2(2) dm2 + R(2) .

T (1)
dj R
1. Montrer qu'en séléctionnant l'atome dm2 tel que m2 = arg max , l'atome déjà sé-
j ∥dj ∥
lectionné dm1 ne peut pas être resélectionné.

2. Déterminer la meilleure approximation de x à l'issue de cette deuxième étape.

3. Mettre à jour le résiduel à l'issue de cette deuxième étape.

4. Généraliser le processus pour une itération k ≥ 1.

3/4
TD-TP Compressive Sensing

Exercice 6 (Algorithme de l'Orthogonal Matching Pursuit).

1. Décrire l'algorithme de la méthode de l'Orthogonal Matching Pursuit.

2. Implémenter cet algorithme sur scilab.

3. Appliquer la méthode OMP pour déterminer une représentation parcimonieuse de x1 et x2


respectivement dans les dictionnaires D1 et D2 . Commenter.

4/4

You might also like