数学:最小二乘问题

詹令
[email protected]
2017.11.5

Content

  • 在更大的背景下
  • 基本定义
    • 拟合函数
    • 最小二乘问题
    • 线性最小二乘问题 和 非线性最小二乘问题
  • 最小二乘问题的二次模型
    • 大残量问题 和小残量问题
  • 算法
    • Line Search
      • Gauss-Newton
      • 拟牛顿法
      • Non-linear Conjugate Gradients, BFGS and LBFGS?
    • Trust Region
      • Levenberg-Marqardt
      • Powell’s Dogleg
      • Subspace dogleg
  • 一些Solver
    • 关于求导
    • 并行加速
    • Eigen
    • ALGLIB
    • Dlib
    • cpp.leastsq
    • LLSQ
    • QR_SOLVE
    • LilOpt
    • LSMR
    • ceres-solver
  • **最小二乘问题的一些应用**
    • **SLAM**
    • **Iterative Closet Points**
    • **Least-Squares Rigid Motion Using SVD**
      • 背景简介[^6][^7][^8]
      • 求解步骤[^6]
    • **BRDF Fitting**
  • 最大似然估计
  • 约束
  • Reference
](Content)

在更大的背景下

/*
            1                 2                 3
 风险最小化 ---> 经验风险最小化 ---> 极大似然估计  ---> 最小二乘法
                            | 4                 5
                            ----> 结构风险最小化 ---> 贝叶斯估计的最大后验概率估计
           
 1. 联合概率未知,数据量大, 易过拟合
 2. 模型是**条件概率分布** $$P(Y\|X)$$,损失函数是**对数损失函数**
 3. 极大似然估计在误差是高斯分布和IID的假设下,等价于最小二乘法
 4. 经验风险最小的**正则化**(添加模型复杂度惩罚项),不易过拟合 
 5. ?
*/

基本定义

拟合函数

拟合函数\phi(t_i,x)

最小二乘问题

最小二乘问题是一种特殊的无约束优化问题,特殊在其目标函数是如下的形式:
f ( x ) = 1 2 r ( x ) T r ( x ) = 1 2 ( r 0 ( x ) r 1 ( x ) … r n ( x ) ) ( r 0 ( x ) r 1 ( x ) ⋮ r n ( x ) ) f(x) = \frac{1}{2}r(x)^Tr(x) = \frac{1}{2} \left( \begin{array}{cccc} r_0(x) &r_1(x) &\dots & r_n(x) \end{array} \right) \left(\begin{array}{cccc} r_0(x) \\ r_1(x) \\ \vdots \\ r_n(x) \\\end{array} \right) f(x)=21r(x)Tr(x)=21(r0(x)r1(x)rn(x))r0(x)r1(x)rn(x)

其中残量函数 r i ( x ) = ϕ ( t i , x ) − y i r_i(x) = \phi(t_i,x)-y_i ri(x)=ϕ(ti,x)yi, 拟合函数 ϕ ( t i , x ) \phi(t_i,x) ϕ(ti,x) t i 是 t_i是 ti

因为最小二乘问题的目标函数有如此特定的形式,所以人们开发出了一套有效的解决方案。

线性最小二乘问题 和 非线性最小二乘问题

残量函数 r i ( x ) r_i(x) ri(x) 是关于 x ? x? x的线函数,则为线性最小二乘问题。残量函数 r i ( x ) r_i(x) ri(x) 是关于 x ? x? x的非线性函数,则为非线性最小二乘问题。

最小二乘法1 2 3

最小二乘问题的二次模型

对目标函数 f ( x ) f(x) f(x)做二次泰勒展开:
f ( x ) + ∇ f ( ) T d + 1 2 d t ∇ 2 f ( ) d f(x)+\nabla f()^Td + \frac{1}{2}d^t \nabla^2 f()d f(x)+f()Td+21dt2f()d

其中梯度
∇ f ( ) = \nabla f() = f()=
Hessian矩阵
∇ 2 f ( ) = \nabla^2 f() = 2f()=

令二阶信息项 S ( x ) = S(x) = S(x)=

大残量问题 和小残量问题

对于 r i ( x ) r_i(x) ri(x)接近于零或者 r i ( x ) r_i(x) ri(x)接近线性的情况, S ( x ) S(x) S(x)接近于零,称为小残量问题
否则,称为大残量问题

算法

Line Search

Gauss-Newton

小残量问题

拟牛顿法

小残量,大残量问题

Non-linear Conjugate Gradients, BFGS and LBFGS?

Trust Region

以下几种Trust region方法的主要计算量都在求解一个线性系统上。对于如何求解线性系统,待补充(LINK)。

Levenberg-Marqardt

小残量问题

Powell’s Dogleg

Subspace dogleg

一些Solver

关于求导

对如何对目标函数进行求导,是实际解决最优化问题的一个非常重要的步骤。求导方法有解析倒数,数值导数(有限差分?)。我是觉得我基本上倾向于数值求导,实际去推导目标函数的导数应该是件很麻烦的事情。目前还不清楚数值求导和解析求导相比,性能和结果上有多大的差异。

最近同事分享了一些矩阵方程求导的知识[PDF][PDF]。对于相对简单的一阶导数,其实可以套套常见的公式,就可以求出来。验证解析求导结果的正确性,可以通过将解析求导和数值求导(有限差分)进行比较。

并行加速

Eigen

https://eigen.tuxfamily.org/dox/group__LeastSquares.html

ALGLIB

http://www.alglib.net/interpolation/leastsquares.php

Dlib

http://dlib.net/least_squares_ex.cpp.html

cpp.leastsq

https://github.com/ismaelJimenez/cpp.leastsq

LLSQ

https://people.sc.fsu.edu/~jburkardt/cpp_src/llsq/llsq.html

QR_SOLVE

https://people.sc.fsu.edu/~jburkardt/cpp_src/qr_solve/qr_solve.html

LilOpt

https://github.com/pboyer/LilOpt

LSMR

http://web.stanford.edu/group/SOL/software/lsmr/

ceres-solver

x45

todo

最小二乘问题的一些应用

SLAM

Maximum likelihood estimation (MLE) is a well-known estimation method used in many robotic and computer vision applications. Under Gaussian assumption, the MLE converts to a nonlinear least squares (NLS) problem. Efficient solutions to NLS exist and they are based on iteratively solving sparse linear systems until convergence. 6
see prove from Andrew NG Machine Learning stanford, class 3

Iterative Closet Points

Least-Squares Rigid Motion Using SVD

背景简介768

点云 P = { p 1 , p 2 , . . . , p i } P=\{p_1, p_2, ... ,p_i\} P={p1,p2,...,pi} 和点云 Q = { q 1 , q 2 , . . . , q i } Q=\{q_1, q_2, ..., q_i\} Q={q1,q2,...,qi} 是d维空间 R d R^d Rd的对应的两个点云(两个点云的点数量是相同的)。我们希望求解出的 P P P变换矩阵translate T和rotate R,使两个点云在最小二乘的意义上是相互匹配:

KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ (R,T)=\min_{R …

目标函数关于T的导数为零,易得最优的T 为变换后的两个点云的中心点 p ˉ , q ˉ \bar{p}, \bar{q} pˉ,qˉ的相减向量。

KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ T = \bar{q} - …

T带入最小化函数,易得:

KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ R=\min_{R \in …

其中 x i = p i − p ˉ x_i=p_i-\bar{p} xi=pipˉ, y i = q i − q ˉ y_i=q_i-\bar{q} yi=qiqˉ

经过一系列推导,可以证明对 协方差矩阵 S S S 做svd分解后,可以快速求出R:

KaTeX parse error: No such environment: align at position 7: \begin{̲a̲l̲i̲g̲n̲}̲ S = XWY^T \end…

其中X为dxn维,Y为nxd维,W为nxn维的对角阵:

W = d i a g ( w 1 , w 2 , . . . , w n ) W=diag(w_1,w_2,...,w_n) W=diag(w1,w2,...,wn).

旋转矩阵:
KaTeX parse error: No such environment: align at position 7: \begin{̲a̲l̲i̲g̲n̲}̲ R = V \begin{…

再将R带入,求得T.

可以看出,对于这个特定的最小二乘的最优化问题,最终简化成求解协方差矩阵S的SVD。

note: 协方差矩阵S和Deformation Gradient的关系?

求解步骤7

数学:最小二乘问题_第1张图片

BRDF Fitting

J Wang9

最大似然估计

证明极大似然估计在误差是高斯分布和IID的假设下,等价于最小二乘法

见Andrew-machine lerning-class2-Probabilistic interpretation of Linear Regression

约束

约束条件下的最小二乘法

todo

Reference


  1. 袁亚湘. 最优化理论与方法[M]. 科学出版社, 1997. ↩︎

  2. 高立. 数值最优化方法[M]. 北京大学出版社, 2014. ↩︎

  3. 袁亚湘. 非线性优化计算方法[M]. 科学出版社, 2008. ↩︎

  4. http://www.cnblogs.com/shang-slam/p/6821560.html ↩︎

  5. http://www.ceres-solver.org/nnls_tutorial.html ↩︎

  6. As-Rigid-As-Possible Surface Modeling LINK ↩︎ ↩︎

  7. Least-Squares Rigid Motion Using SVD LINK ↩︎ ↩︎

  8. FINDING OPTIMAL ROTATION AND TRANSLATION BETWEEN CORRESPONDING 3D POINTS LINK ↩︎

  9. Wang J, Ren P, Gong M, et al. All-frequency rendering of dynamic, spatially-varying reflectance[C]// ACM SIGGRAPH Asia. ACM, 2009:133. ↩︎

你可能感兴趣的:(动态规划,算法)