σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyFeuilles de routeParcours
Ctrl K
AO
+1,2 k apprenants
ConnexionRejoindre ↗
Feuilles de routeParcours
AO
+1,2 k apprenants
Connexion
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyFeuilles de routeParcours
Ctrl K
AO
+1,2 k apprenants
ConnexionRejoindre ↗
Feuilles de routeParcours
AO
+1,2 k apprenants
Connexion
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Parcours Matrix Decompositions›Module 2 · SVD et rang faible›Sujet 2.2·~50 minIntermédiaire

Approximation de rang faible

Position dans le parcoursModule 2 sur 5 · Sujet 2 sur 2
2.2 Approximation de rang faible
—Score du lab— / 100XP total—Série—

Garder la partie d'une matrice qui compte

La SVD écrit une matrice comme une somme de couches de rang un, A=∑iσiuiviTA=\sum_i\sigma_i\mathbf u_i\mathbf v_i^{T}A=∑i​σi​ui​viT​, de la plus grande à la plus petite. Ne garder que les kkk premières couches donne Ak=UkΣkVkTA_k=U_k\Sigma_kV_k^{T}Ak​=Uk​Σk​VkT​, une matrice de rang kkk. Le théorème d'Eckart-Young dit que cette troncature est la meilleure approximation de rang kkk possible, que l'erreur soit mesurée par la norme de Frobenius ou par la norme spectrale. Aucun choix astucieux de kkk directions ne peut battre les kkk premières directions singulières.

Ak=∑i=1kσiuiviT,∥A−Ak∥F=∑i>kσi2,∥A−Ak∥2=σk+1A_k=\sum_{i=1}^{k}\sigma_i\mathbf u_i\mathbf v_i^{T},\qquad \lVert A-A_k\rVert_F=\sqrt{\sum_{i>k}\sigma_i^{2}},\qquad \lVert A-A_k\rVert_2=\sigma_{k+1}Ak​=i=1∑k​σi​ui​viT​,∥A−Ak​∥F​=i>k∑​σi2​​,∥A−Ak​∥2​=σk+1​(1)

L'erreur est exactement formée des valeurs singulières écartées ; la part de la taille au carré conservée est donc ∑i≤kσi2/∑iσi2\sum_{i\le k}\sigma_i^2\big/\sum_i\sigma_i^2∑i≤k​σi2​/∑i​σi2​, souvent appelée variance expliquée quand AAA est une matrice de données centrées. Une approximation de rang kkk d'une matrice m×nm\times nm×n ne demande que k(m+n+1)k(m+n+1)k(m+n+1) nombres au lieu de mnmnmn, ce qui fait du rang faible aussi une compression. En finance, les couches de petit σi\sigma_iσi​ sont surtout du bruit d'échantillonnage ; les tronquer est un débruitage, et l'on choisit kkk par un seuil sur la part conservée ou par un saut dans les valeurs singulières.

Valeurs singulières 10, 6, 3, 1Supposons qu'une matrice ait pour valeurs singulières 10, 6, 3, 1. Leurs carrés sont 100, 36, 9, 1, de somme 146. La meilleure approximation de rang 2 garde 100+36=136100+36=136100+36=136 sur 146, soit 93,2 %93{,}2\ \%93,2 %, et son erreur de Frobenius vaut 9+1=10≈3,16\sqrt{9+1}=\sqrt{10}\approx3{,}169+1​=10​≈3,16 ; son erreur spectrale est σ3=3\sigma_3=3σ3​=3. La meilleure approximation de rang 1 a une erreur spectrale σ2=6\sigma_2=6σ2​=6. Pour une matrice 1000×2501000\times2501000×250, le rang 5 demande 5×(1000+250+1)=62555\times(1000+250+1)=62555×(1000+250+1)=6255 nombres au lieu de 250 000.
  • Eckart-Young : tronquer la SVD à kkk termes est la meilleure approximation de rang kkk pour les deux normes.
  • Erreur : Frobenius ∑i>kσi2\sqrt{\sum_{i>k}\sigma_i^2}∑i>k​σi2​​, spectrale σk+1\sigma_{k+1}σk+1​.
  • Stockage : k(m+n+1)k(m+n+1)k(m+n+1) nombres au lieu de mnmnmn.
Choisir k est un jugementAucune règle n'est exempte d'hypothèses. Une part fixe comme 90 %90\ \%90 % est simple mais arbitraire, un saut visible dans les valeurs singulières est naturel quand il existe, et dans le cadre de la covariance plus loin dans cette compétence, le bord de Marchenko-Pastur donne un seuil raisonné entre signal et bruit. Quoi que vous utilisiez, vérifiez le choix hors échantillon : le rang qui explique le mieux les données d'entraînement n'est pas celui qui prédit le mieux les nouvelles.

Lab : ce qui est noté

  • L'erreur de Frobenius15 pts
  • La part conservée15 pts
  • Une approximation de rang un15 pts
  • Stockage d'une matrice de rang faible10 pts
  • Le théorème d'Eckart-Young15 pts
  • Compresser une matrice15 pts
  • Pourquoi la troncature débruite15 pts
0/ 7 traités
Exercices
1Réponse numérique15 ptsSans réponse

Une matrice a pour valeurs singulières 10, 6, 3 et 1. Quelle est l'erreur de Frobenius de sa meilleure approximation de rang 2 ? Donnez-la avec deux décimales.

error=error =error=accepté : ± 0.02
2Réponse numérique15 ptsSans réponse

Pour la même matrice, quel pourcentage de la norme de Frobenius au carré l'approximation de rang 2 conserve-t-elle ? Donnez-le avec une décimale.

kept=kept =kept=accepté : ± 0.1
3Matrice · vecteur15 ptsSans réponse

La matrice symétrique A=(2112)A=\begin{pmatrix}2&1\\1&2\end{pmatrix}A=(21​12​) a pour valeurs singulières 3 et 1, de direction dominante u=v=(1,1)/2\mathbf u=\mathbf v=(1,1)/\sqrt2u=v=(1,1)/2​. Calculez sa meilleure approximation de rang un A1=3 uvTA_1=3\,\mathbf u\mathbf v^{T}A1​=3uvT.

A1=A_1 =A1​=
4Réponse numérique10 ptsSans réponse

Une matrice 1000×2501000\times2501000×250 est approchée au rang 5 par UkU_kUk​, Σk\Sigma_kΣk​ et VkV_kVk​. Combien de nombres faut-il stocker, avec k(m+n+1)k(m+n+1)k(m+n+1) ?

numbers=numbers =numbers=accepté : ± 0.5
5Choix15 ptsSans réponse

Qu'énonce le théorème d'Eckart-Young ?

6Remettre les étapes dans l'ordre15 ptsSans réponse

Mettez dans l'ordre les étapes d'une approximation de rang faible.

Faites glisser pour réordonner, ou placez le focus sur un élément, Espace pour le soulever, les flèches pour le déplacer et Espace pour le déposer.

  1. 1Mesurer l'erreur ou la part de variance conservée
  2. 2Choisir kkk d'après les valeurs singulières
  3. 3Calculer la SVD de la matrice
  4. 4Reconstruire Ak=UkΣkVkTA_k=U_k\Sigma_kV_k^{T}Ak​=Uk​Σk​VkT​ avec les kkk premiers termes
7Expliquer avec des mots15 ptsSans réponse

En une ou deux phrases, dites pourquoi écarter les petites valeurs singulières d'une matrice de rendements peut retirer du bruit.

Mode mathsSaisie au clavier ou en LaTeXExercice 1 sur 7 · Ctrl ⏎ pour vérifier

Connectez-vous pour exécuter votre code.

Tous les cours sont gratuits à lire. Créez un compte ou connectez-vous pour exécuter du code, lancer les tests et soumettre ce lab.

  • IDE dans le navigateur avec terminal bash — rien à installer
  • Correction instantanée, XP et votre place dans le parcours
Créer un compteSe connecter
OU
Continuer avec GitHub