最小二乘优化问题推导

  1. 把实际的某问题转化成最小二乘优化问题,形式如下:

    X:系数矩阵,已知量
    y:因变量,列向量,已知量
    a:待优化参数,列向量,未知量

  2. 对上式进行推算:
    \begin{align*} & \arg \min \limits_{a} ||Xa-y|| \\ \Leftrightarrow & \arg \min \limits_{a}(Xa-y)^T(Xa-y) \\ \Leftrightarrow & \arg \min \limits_{a}(a^TX^TXa - y^TXa - a^TX^Ty + y^Ty) \\ \Leftrightarrow & \arg \min \limits_{a}(a^TX^TXa-2y^TXa+y^Ty) \end{align*}

因 与 互为转置,且最终都是一个标量,因此它们相等

  1. 等价于求极值:

  2. 此时有用的公式:

  3. 得到结果:

    求a变成了求上述带矩阵的方程式。

  4. 线性方程组求解:
    上述问题转为线性方程组求解问题:
    令:

    则问题转化为:

    求解方式有以下:

  • 若 A 可逆,直接左右乘A逆即可。但是我们很难做出这样的假设,无法保证A可逆。
  • numpy.linalg.solve() 方法,使用的是 LU分解的解法。
  • 还可使用梯度下降法

你可能感兴趣的:(最小二乘优化问题推导)