线性最小二乘和非线性最小二乘
1个回答
展开全部
最小二乘:就是最小化 ,
其中: 是第i个实际观测到的值,也可以叫做真实值或者目标值;
则可以看作是通过x这个参数预测得到的第i个值,是对 的一个预测(估计)。
最小二乘就是为了使得观测值(真实值)和估计值之间的差距最小。
所谓线性,指的是 是x的线性函数, 。
那么对于整个 可以表示为图一:
写成矩阵形式,为图二
此时,我们有 ,此时最小二乘形式变为求x使得 最小化。(这里A是固定的,是需要自己寻找的,这也是线性的前提)
对于 线性 最小二乘,我们要求解 ,那么最理想的情况是求x使得 ,这样 也就是最小了(别问我为什么0是最小的,因为平方和,当然0是最小值)
此时,问题转换为求解 ,最终得到 的解析解形式,一步求解,不需要迭代,完美~
所谓非线性,就是 无法表示为 的线性关系,即: 无法表示为 这种线性的关系,而是 这种非线性关系(当然这里也不一定是指数形式,对数啥的,或者什么奇奇怪怪表示不出来的形式也有可能)
当 是 的非线性关系时,此时最小二乘就变为:非线性最小二乘
非线性最小二乘问题 无法构造出来一个矩阵线性方程组的, 没有办法求一步求得解析解,那么我们怎么求解呢?
思路:既然是非线性的,那么我们可不可以将其转换为线性的呢?或者 近似 线性的?
答案当然是可以啦~~~~
这就是大名鼎鼎的一阶 泰勒展开:
(一定要一阶泰勒展开,不能采用二阶以上,因为只有一阶泰勒展开才是线性函数,才能转换为线性最小二乘问题来直接求解。)
此时 变成了
我们在将前两项合并就变成了
其中如果将 看作 ,将 看作一个矩阵的第i行(其实这里 本来就是一个矩阵的第i行,也就是大名鼎鼎的雅各比矩阵 的第i行)
那么就变成了 对应着线性最小二乘的形式
此时,我们该怎么做呢~~当然是模仿线性最小二乘的解鸭:
求解:
照着抄:
最终:
这样子我们就得到了关于当前 的一个更新值,这样,我们只需要不停的迭代更新x的值,直到e达到某一个精度即可~~是不是很简单呢^_^
看到这里,你就入坑了鸭,你以为 就这么好求解么~~
这里有几个难点:
1. J不会求~~肿么办?(这点我不知道,我只会逆运动学得求雅各比的方法)
2. 注意到了这一项么,哼哼,谁告诉你这东西一定有逆矩阵的?那么没有逆矩阵肿么办,这就是一个ill-condition的问题,他的condition number非常大。这时候,我们通常引入正则项来降低condition number,也可以理解为强行让 这个逆矩阵存在。那就是~~ 直接加入一个带权重的单位矩阵就好了。
3. 至于什么是ill condition 和condition number,等我后续有空了更新,或者大家自己搜一搜吧~我懒。
其中: 是第i个实际观测到的值,也可以叫做真实值或者目标值;
则可以看作是通过x这个参数预测得到的第i个值,是对 的一个预测(估计)。
最小二乘就是为了使得观测值(真实值)和估计值之间的差距最小。
所谓线性,指的是 是x的线性函数, 。
那么对于整个 可以表示为图一:
写成矩阵形式,为图二
此时,我们有 ,此时最小二乘形式变为求x使得 最小化。(这里A是固定的,是需要自己寻找的,这也是线性的前提)
对于 线性 最小二乘,我们要求解 ,那么最理想的情况是求x使得 ,这样 也就是最小了(别问我为什么0是最小的,因为平方和,当然0是最小值)
此时,问题转换为求解 ,最终得到 的解析解形式,一步求解,不需要迭代,完美~
所谓非线性,就是 无法表示为 的线性关系,即: 无法表示为 这种线性的关系,而是 这种非线性关系(当然这里也不一定是指数形式,对数啥的,或者什么奇奇怪怪表示不出来的形式也有可能)
当 是 的非线性关系时,此时最小二乘就变为:非线性最小二乘
非线性最小二乘问题 无法构造出来一个矩阵线性方程组的, 没有办法求一步求得解析解,那么我们怎么求解呢?
思路:既然是非线性的,那么我们可不可以将其转换为线性的呢?或者 近似 线性的?
答案当然是可以啦~~~~
这就是大名鼎鼎的一阶 泰勒展开:
(一定要一阶泰勒展开,不能采用二阶以上,因为只有一阶泰勒展开才是线性函数,才能转换为线性最小二乘问题来直接求解。)
此时 变成了
我们在将前两项合并就变成了
其中如果将 看作 ,将 看作一个矩阵的第i行(其实这里 本来就是一个矩阵的第i行,也就是大名鼎鼎的雅各比矩阵 的第i行)
那么就变成了 对应着线性最小二乘的形式
此时,我们该怎么做呢~~当然是模仿线性最小二乘的解鸭:
求解:
照着抄:
最终:
这样子我们就得到了关于当前 的一个更新值,这样,我们只需要不停的迭代更新x的值,直到e达到某一个精度即可~~是不是很简单呢^_^
看到这里,你就入坑了鸭,你以为 就这么好求解么~~
这里有几个难点:
1. J不会求~~肿么办?(这点我不知道,我只会逆运动学得求雅各比的方法)
2. 注意到了这一项么,哼哼,谁告诉你这东西一定有逆矩阵的?那么没有逆矩阵肿么办,这就是一个ill-condition的问题,他的condition number非常大。这时候,我们通常引入正则项来降低condition number,也可以理解为强行让 这个逆矩阵存在。那就是~~ 直接加入一个带权重的单位矩阵就好了。
3. 至于什么是ill condition 和condition number,等我后续有空了更新,或者大家自己搜一搜吧~我懒。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询