Лінійні найменші квадрати можна вирішити за допомогою
0) Використання високоякісного лінійного найменшого квадрату на основі SVD або QR, як описано нижче, для необмежених лінійних найменших квадратів або на основі версії квадратичного програмування або конічної оптимізації для обмежених або лінійно обмежених найменших квадратів, як описано нижче. Такий розв'язувач попередньо консервується, проходить випробування та готовий до роботи - використовуйте його.
1) SVD, який є найнадійнішим і чисельно точним методом, але також вимагає більше обчислень, ніж альтернатив. У MATLAB рішення SVD необмеженої лінійної задачі найменших квадратів A * X = b є pinv (A) * b, що є дуже точним і надійним.
2) QR, який досить надійний і чисельно точний, але не настільки, як SVD, і швидший, ніж SVD. У MATLAB рішення QR необмеженої лінійної задачі з найменшими квадратами A * X = b є A \ b, що є досить точним і надійним, за винятком випадків, коли A погано обумовлений, тобто має велику кількість умов. A \ b швидше обчислити, ніж pinv (A) * b, але не настільки надійно чи точно.
3) Формування нормальних рівнянь (ТЕРМІНОВО з точки зору надійності та чисельної точності, оскільки воно квадратирує номер умови, що дуже погано)
3а) розв язання методом Чолеського (не добре)
3b) явно інвертуюча матриця (ГОЛОВНА)
4) Розв’язування як задача квадратичного програмування або задача конуса другого порядку
4a) Вирішіть, використовуючи високоякісне програмне забезпечення для квадратичного програмування. Це надійно і чисельно точно, але займає більше часу, ніж SVD або QR. Однак легко додати цільові функції або загальні лінійні обмеження, або лінійні або квадратичні (двома нормами) штрафи або регуляризаційні умови до цільової функції, і все ж вирішити проблему за допомогою програмного забезпечення для квадратичного програмування.
4b) Вирішіть проблему конусу другого порядку, використовуючи високоякісне програмне забезпечення Conic Optimization. Зауваження такі ж, як і для програмного забезпечення для квадратичного програмування, але ви також можете додавати зв'язані або загальні лінійні обмеження та інші конічні обмеження або умови об'єктивної функції, такі як стягнення або терміни регуляризації в різних нормах.
5) Вирішити, використовуючи високоякісне програмне забезпечення для нелінійної оптимізації загального призначення. Це все ще може працювати добре, але загалом буде повільніше, ніж програмне забезпечення для квадратичного програмування або конічної оптимізації, і, можливо, не настільки надійне. Однак можливо оптимізувати не тільки зв'язані та загальні лінійні обмеження, але й нелінійні обмеження в оптимізацію найменших квадратів. Також можуть бути використані для нелінійних найменших квадратів, і якщо до об'єктивної функції додаються інші нелінійні терміни.
6) Розв’яжіть, використовуючи хиткі алгоритми нелінійної оптимізації загального призначення -> НЕ ВЖЕ РОБИТИ ЦЕ.
7) Вирішіть за допомогою НАЙБІЛЬШЕ МОЖЛИВОГО алгоритму нелінійної оптимізації загального призначення існує, тобто градієнтне спуск. Використовуйте це лише в тому випадку, якщо ви хочете побачити, наскільки поганим і недостовірним може бути метод рішення. Якщо хтось скаже вам використовувати градієнтний спуск для вирішення найменших лінійних задач квадратів
7 i) Дізнайтеся про статистичні обчислення від того, хто щось знає про це
7 ii) Навчіться оптимізації у того, хто щось знає про це.