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