python 最小二乘回归 高斯核_[数值计算] 数据拟合——非线性最小二乘法
前面分析了 线性最小二乘 的解法
YcoFlegs:[数值计算] 数据拟合——线性最小二乘法zhuanlan.zhihu.com
现在来看另一个问题:非线性最小二乘法
1. 定义
首先是如何定义这里这个“非线性”。为什么前面用多项式拟合就是线性了?
对于多项式拟合,每个数据样本,误差为:
线性最小二乘。虽然
那么 非线性最小二乘 就很容易理解了,误差函数r和参数b的关系是非线性的就行了。
2. 例子——发射器位置
在一片区域里
此时,单个接收器数据对应的误差是
很容易证明非线性关系,即
3. 求导
和线性最小二乘一样,优化的目标函数为
m是样本点的数量。
其中n是待优化参数的维度,
b最优的条件就是
如果r与b是线性关系,那么
此处因为r(b)的非线性,只能迭代求解这个优化问题。
4. 优化
4.1 牛顿法
先考虑一个简单的情况来引入牛顿法。
- 在一元函数,求一个x使得f(x)=0。假如我们先猜这个根是
,距离真实的根的距离是。使用泰勒展开。忽略高阶项,可以得到。所以,如此循环。
- 对于多元函数,形式完全类似:
。对于over-constrained system,,,参考
https://zhuanlan.zhihu.com/p/83269117,可以用伪逆
求逆。
4.2 牛顿法在非线性最小二乘中的使用
上面Section3提到,希望求根的函数F(b)为
有必要在这里停下来理一下notation。注意此处:
- r是误差函数,尺寸为
,m是样本点的个数
- 是误差函数对b的雅可比矩阵,尺寸为,n是b的维度,是待优化参数的个数
- φ是目标函数,尺寸为
- F是φ的导数,是待求根的函数,尺寸为
- 是F对b的雅可比矩阵,尺寸为
所以为了得到
其中
下一步就是用Section4.1这个公式来迭代:
4.3 高斯牛顿法的推导 Gauss-Newton Method
Eq.6中的二阶导求解通常很麻烦,而且随着优化的进行,误差函数r(b)的值也在减小,因此决定忽略Eq.6的第二项求和:
把Eq.6 Eq.10代入到Eq.8里,得到最终的迭代公式:
观察下正规方程组的公式
4.4 如何优雅地计算雅可比矩阵
- 对于简单问题,比如上面Section2的
,可以手推求导。
- 但对于复杂的函数,或者没有closed-form的黑盒函数,可以考虑有限差分+autograd
autograd: Efficiently computes derivatives of numpy codegithub.com
4.5 高斯牛顿法小结
特点是:
- 使用牛顿法求解
- 忽略二阶项
缺点:
实际应用中收敛不稳定
4.6 高斯牛顿法的变种——Levenberg–Marquardt法
更新公式:
其中
从形式上LM法比GM法只是多了一个正则项。
5. 回到求发射器位置的例子
这里用Python的scipy.optimize.root作为求解器
https://github.com/chr1shr/am205_examples/blob/master/1_data_fitting/nonlinlsq.pygithub.com
sol
红色的点是b_init,红色的×是最终收敛的解,而黑色的×是真实的位置。
一圈一圈的是
PS: 如果是线性最小二乘(
更高阶的情况下是hyperellipses。
python 最小二乘回归 高斯核_[数值计算] 数据拟合——非线性最小二乘法相关推荐
- python 最小二乘回归 高斯核_「机器学习」一文读懂线性回归、岭回归和Lasso回归...
点击上方蓝色字体,关注AI小白入门哟 作者 | 文杰 编辑 | yuquanle 本文介绍线性回归模型,从梯度下降和最小二乘的角度来求解线性回归问题,以概率的方式解释了线性回归为什么采用平方损失,然后 ...
- python 最小二乘回归 高斯核_数据科学中最简单也最重要的算法:线性回归
全文共1794字,预计学习时长15分钟 线性回归是数据科学中最简单也是最重要的算法.无论面试的工作领域是数据科学.数据分析.机器学习或者是量化研究,都有可能会遇到涉及线性回归的具体问题.要想熟练掌握线 ...
- python 最小二乘回归 高斯核_机器学习技法6-(支持向量回归)
一.核岭回归 线性分类模型加入了L2正则化以后,最佳解是w关于z的线性组合,因此带有L2正则化的线性分类模型能引入核函数,也就是把线性模型变成核函数的形式. 在线性回归模型中,损失函数为: 当给线性回 ...
- python 最小二乘回归 高斯核_从简单数学建模开始:08最小二乘准则的应用(附python代码)...
模型拟合一般来说有这么三种: 切比雪夫近似准则 极小化绝对偏差之和 最小二乘准则 这几个原则各有各的适用范围.其中最小二乘准则是比较容易计算的.接下来我将简要的介绍最小二乘准则以及举例说明如何用pyt ...
- python 最小二乘回归 高斯核_最经典的回归模型参数估计算法—最小二乘
首先,我们要明白最小二乘估计是个什么东西?说的直白一点,当我们确定了一组数的模型之后,然后想通过最小二乘的办法来确定模型的参数.举个两变量(一个自变量.一个因变量)线性回归的例子来说明一下,如下面所示 ...
- 非线性最小二乘法 python_[数值计算] 数据拟合——非线性最小二乘法
前面分析了 线性最小二乘 的解法YcoFlegs:[数值计算] 数据拟合--线性最小二乘法zhuanlan.zhihu.com 现在来看另一个问题:非线性最小二乘法 1. 定义 首先是如何定义这里这 ...
- Python小白的数学建模课-23.数据拟合全集
拟合是用一个连续函数(曲线)靠近给定的离散数据,使其与给定的数据相吻合. 数据拟合的算法相对比较简单,但调用不同工具和方法时的函数定义和参数设置有所差异,往往使小白感到困惑. 本文基于 Scipy 工 ...
- 数据拟合的最小二乘法 python实现
数据拟合的最小二乘法 <计算机科学计算>张宏伟 第二版 第五章习题13 用最小二乘法求拟合下列数据的二次多项式 xi yi 1 10 3 5 4 4 5 2 6 1 7 1 8 2 9 3 ...
- python拟合统计分布_将数据拟合到分布?
这是一个复杂的问题,没有完美的答案.我将试着给你一个主要概念的概述,并为你指出一些有用的阅读方向. 假设你有一组一维的数据,并且你有一组有限的概率分布函数,你认为这些数据可能是从中产生的.您可以独立地 ...
- python 线性回归回归 缺失值 忽略_机器学习 第3篇:数据预处理(使用插补法处理缺失值)...
插补法可以在一定程度上减少偏差,常用的插补法是热卡插补.拟合插补和多重插补.拟合插补,要求变量间存在强的相关性:多重插补(MCMC法),是在高缺失率下的首选插补方法,优点是考虑了缺失值的不确定性. 一 ...
最新文章
- 构建自主操作系统,阿里为何失败了?
- Electron中打开和关闭子窗口以及子窗口向父窗口传值
- 对于 Netty ByteBuf 的零拷贝(Zero Copy) 的理解
- Spring Boot2整合Shiro(1):身份认证
- svn利用钩子脚本功能实现代码同步到web目录
- 一夜上手uni-app
- 2018年7-8月学习有效反馈
- dynamipsgui 模拟器模块详细介绍
- 分析:谷歌不会退出中国市场的8大理由
- 5W1H 图书管理系统
- ftp 227 entering passive mode
- 使用scrapy框架爬取携程旅行数据
- 【JAVA字符串最详细讲解】
- [时间复杂度]为什么采用二叉排序树查找的平均查找长度为O(log2n)
- cluster_acc计算
- 世界排名第 3 的滴滴裁员,开春求职必知的独角兽排行榜
- linux cadaver 命令,screen命令用法与cadaver
- 创基MIFI扩展坞自带4G上网功能扩展坞
- FPGA中的LUT LUTRAM BRAM DSP FF
- 模拟一个火车站售票小例子
热门文章
- Scala 深入浅出实战经典 第91讲:Akka第一个案例动手实战架构设计
- linux kernel 本地提权漏洞CVE-2013-1763 exploit 代码分析
- 36.MySQY 常用工具
- 5. laravel 路由(2)
- css3中的perspective与perspective-origin
- Project Aposs
- JS中var和let
- SpringBoot 1.快速搭建一个 SpringBoot Maven工程
- Ubuntu 14.04 Ruby 2.3.3 安装
- Android 高仿微信支付密码输入控件