最小二乘法
最小二乘法
在线性回归模型\(y = f(x)=b + \sum w_ix_i\)中,可将使得损失函数: \(L(f)=\sum_{n=1}^N(y^n - f(x^n))^2\) 最小的问题转化为线性代数的问题。
1. 将训练数据,待求解参数和模型表示为向量形式
首先分别将每一个数据表示为一个向量\(\bold{x^n}:(x_1^n, x_2^n, x_3^n,..., x_I^n, 1)\)
- \(x\)的上标表示第n个数据
- \(x\)的下标表示数据的第几维度的值,共有\(I\)个维度。注:加上一个常量维度1。
再定义一个向量\(\bold{w}: (w_1, w_2, w_3,..., w_I, b)\)
那么线性回归模型可表示为\(y=\bold{x}^T\bold{w}\)
2. 将训练数据表示为矩阵形式,并将问题转换成线性代数问题
将所有训练数据集表示为一个矩阵\(\bold{A}\):
\[\begin{matrix}
x_1^1 & x_2^1 & ... & x_I^1 & 1 \\
x_1^2 & x_2^2 & ... & x_I^2 & 1 \\
&&... \\
x_1^N & x_2^N& ... & x_I^N & 1 \\
\end{matrix}\]
其中\(x\)的上标表示第几个数据,共有\(N\)个数据. \(x\)的下标表示数据的第几维度的值。
所有数据对应的实际label值表示为一个向量\(\hat{\bold{y}}: (y^1, y^2, y^3,...,y^N)\)
现在问题就转换为找一个向量\(\bold{w}\)使得\(\bold{A}\bold{w}-\hat{\bold{y}} = \bold{e}\)最小
3. 求解线性代数问题
要使\(\bold{e}\)最小,即是\(\bold{e}\)垂直于\(\bold{A}\)的向量空间,则有:\(\bold{A}^T\bold{e}=\bold{0}\)
求解得到\(\bold{w}=(\bold{A}^T\bold{A})^{-1} \bold{A}^T\hat{\bold{y}}\)