Nezáporné nejmenší čtverce - Non-negative least squares

v matematická optimalizace, problém nezáporné nejmenší čtverce (NNLS) je typ omezené nejmenší čtverce problém, kdy se koeficienty nesmí stát zápornými. To znamená vzhledem k matici A a (sloupcový) vektor proměnné odezvy y, cílem je najít[1]

podléhá X ≥ 0.

Tady X ≥ 0 znamená, že každá složka vektoru X by měly být nezáporné a ‖·‖₂ označuje Euklidovská norma.

Nezáporné problémy nejmenších čtverců se objeví jako podproblémy maticový rozklad, např. v algoritmech pro PARAFAC[2] a nezáporná maticová / tenzorová faktorizace.[3][4] Ten lze považovat za zobecnění NNLS.[1]

Další zobecnění NNLS je omezená proměnná nejmenších čtverců (BVLS), se současnou horní a dolní hranicí αX ≤ β.[5]:291[6]

Kvadratická programovací verze

Problém NNLS je ekvivalentní problému a kvadratické programování problém

kde Q = AA a C = Ay. Tento problém je konvexní, tak jako Q je pozitivní semidefinit a omezení non-negativity tvoří konvexní proveditelnou množinu.[7]

Algoritmy

První široce používaný algoritmus pro řešení tohoto problému je metoda aktivní sady publikovali Lawson a Hanson ve své knize z roku 1974 Řešení problémů nejmenších čtverců.[5]:291 v pseudo kód, tento algoritmus vypadá následovně:[1][2]

  • Vstupy:
    • matice se skutečnou hodnotou A dimenze m × n,
    • vektor se skutečnou hodnotou y dimenze m,
    • skutečná hodnota ε, tolerance pro kritérium zastavení.
  • Inicializovat:
    • Soubor P = ∅.
    • Soubor R = {1, ..., n}.
    • Soubor X na nulový vektor dimenze n.
    • Soubor w = Aᵀ (yAX).
    • Nechat wR označte sub-vektor s indexy z R
  • Hlavní smyčka: while R ≠ ∅ a max (wR)> ε:
    • Nechat j v R být indexem max (wR) v w.
    • Přidat j na P.
    • Odstranit j z R.
    • Nechat AP být A omezeno na proměnné obsažené v P.
    • Nechat s být vektor stejné délky jako X. Nechat sP označte sub-vektor s indexy z Pa nechte sR označte sub-vektor s indexy z R.
    • Soubor sP = ((AP) ᵀ AP)−1 (AP) ᵀy
    • Soubor sR na nulu
    • Zatímco min (sP) ≤ 0:
      • Nechat α = minXi/Xisi pro i v P kde si ≤ 0.
      • Soubor X na X + α(sX).
      • Přesunout do R všechny indexy j v P takhle Xj ≤ 0.
      • Soubor sP = ((AP) ᵀ AP)−1 (AP) ᵀy
      • Soubor sR na nulu.
    • Soubor X na s.
    • Soubor w na Aᵀ (yAX).
  • Výstup: X

Tento algoritmus vyžaduje konečný počet kroků k dosažení řešení a plynule vylepšuje své kandidátské řešení, jak to jde (takže může najít dobré přibližné řešení, když je odříznut při rozumném počtu iterací), ale je v praxi velmi pomalý, a to hlavně kvůli výpočet pseudoinverze ((Aᴾ) ᵀ Aᴾ) ⁻¹.[1] Varianty tohoto algoritmu jsou k dispozici v MATLAB jako rutina lsqnonneg[1] a v SciPy tak jako optimalizovat.nnls.[8]

Od roku 1974 bylo navrženo mnoho vylepšených algoritmů.[1] Fast NNLS (FNNLS) je optimalizovaná verze algoritmu Lawson-Hanson.[2] Mezi další algoritmy patří varianty Landweber je klesání metoda[9] a souřadnicová optimalizace na základě výše uvedeného kvadratického programovacího problému.[7]

Viz také

Reference

  1. ^ A b C d E F Chen, Donghui; Plemmons, Robert J. (2009). Omezení nezápornosti v numerické analýze. Sympózium o zrodu numerické analýzy. CiteSeerX  10.1.1.157.9203.
  2. ^ A b C Bro, Rasmus; De Jong, Sijmen (1997). "Rychlý algoritmus nejmenších čtverců omezený na negativitu". Journal of Chemometrics. 11 (5): 393. doi:10.1002 / (SICI) 1099-128X (199709/10) 11: 5 <393 :: AID-CEM483> 3.0.CO; 2-L.
  3. ^ Lin, Chih-Jen (2007). „Projected Gradient Methods for Nonnegative Matrix Factorization“ (PDF). Neurální výpočet. 19 (10): 2756–2779. CiteSeerX  10.1.1.308.9135. doi:10.1162 / neco.2007.19.10.2756. PMID  17716011.
  4. ^ Boutsidis, Christos; Drineas, Petros (2009). "Náhodné projekce pro nezáporný problém nejmenších čtverců". Lineární algebra a její aplikace. 431 (5–7): 760–771. arXiv:0812.4547. doi:10.1016 / j.laa.2009.03.026.
  5. ^ A b Lawson, Charles L .; Hanson, Richard J. (1995). Řešení problémů nejmenších čtverců. SIAM.
  6. ^ Stark, Philip B .; Parker, Robert L. (1995). „Nejmenší čtverce s ohraničenou proměnnou: algoritmus a aplikace“ (PDF). Výpočetní statistiky. 10: 129.
  7. ^ A b Franc, Vojtěch; Hlaváč, Václav; Navara, Mirko (2005). Sekvenční souřadnicový algoritmus pro problém nezáporných nejmenších čtverců. Počítačová analýza obrazů a vzorů. Přednášky z informatiky. 3691. 407–414. doi:10.1007/11556121_50. ISBN  978-3-540-28969-2.
  8. ^ „scipy.optimize.nnls“. SciPy v0.13.0 Referenční příručka. Citováno 25. ledna 2014.
  9. ^ Johansson, B. R .; Elfving, T .; Kozlov, V .; Censor, Y .; Forssén, P. E .; Granlund, G. S. (2006). „Aplikace šikmé projekce Landweberovy metody na model supervizovaného učení“. Matematické a počítačové modelování. 43 (7–8): 892. doi:10.1016 / j.mcm.2005.12.010.