CS205A Lecture 4 Designing linear systems (incl. least-squares); special structure (Cholesky, sparsity)
距离上次更新已经 2200 天了,文章内容可能已经过时。
课程主页:https://graphics.stanford.edu/courses/cs205a-13-fall/schedule.html
这次回顾第四讲,这一讲结束了LU分解的内容,介绍敏感性和病态性。
Chapter 3 设计和分析线性系统
回归
假设我们的函数有如下形式
如果我们有
我们的任务是求解
多项式回归
如果
那么此时称为多项式回归,对应的线性系统为:
Mini-Fourier
另一种常见的形式为
最小二乘法
考虑上述问题,我们自然希望
这等价于
最小化上述问题等价于最小化
化简可得
对上式关于
令上式为
该方程被称为正规方程,下面对
(半)正定矩阵和Cholesky分解
讨论之前先介绍一些基本概念:
对称性
显然
(半)正定性
注意到
所以
有了这些准备工作,考虑正定对称系统
其中
其中最后一个不等号是因为正定性。回顾高斯消元法,这说明我们不需要对第一列选主元,那么使用高斯消元法,我们可以找到forward substitution矩阵
使得
其中
不难发现
记
那么
注意到上述
所以上述分解有无数种形式,特别的,如果我们取
被称为Cholesky分解,下面推导Cholesky分解的具体形式。
由定义,我们有
考虑
所以
以及
所以,对
cpp
// Takes as input an n-by -n matrix A[i,j]
// Edits A in place to obtain the Cholesky factorization in its lower triangle
for i from 1 to n {
// Back - substitute to find l_i
for j from 1 to i -1 { // element j of l_i
sum = 0;
for k from 1 to j -1
sum += A[i,k]*A[j,k];
A[i,j] = (A[i,j]-sum )/A[j,j];
}
// Apply the formula for l_kk
normSquared = 0
for k from 1 to i -1
normSquared += A[i,k ]^2;
A[i,i] = sqrt (A[i,i] - normSquared );
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Doraemonzzz!
评论
ValineLivere