最小二乘法求直线的理解
最近看一些文档发现,关于采用最小二乘法拟合直线,很多文章习惯性的将矩阵空间拓展成多维的空间,阅读理解起来都有很大的不便性,本人在图像处理实际应用中,都是二维空间的,故只做了二维空间内的理解,个人理解如下:
(1)所求的直线方程可以理解如下: Y = aX + b;
假设有已知的n个样本 (Xi, Yi);根据(Xi, Yi),求直线方程的系数:a、b
(2)假设求出了(a,b);在验证的时候,需要将样本代入拟合的方程,对于每个变量,都会有对应的误差值(Ei);对于每个样本,都可以写成如下形式:
Yi = aXi + b + ei; 条件:Q = min{ ∑ei²},
当Q满足时,可以保证整体的样本失真误差最小,虽然有个别的样本的误差值会偏大,我觉得可以在验证阶段可以排除;得到的解(a,b)为最优解.
故求(a,b)最优解, 就是求函数:Q = ∑(a*Xi + b -Yi)² 的最小值;
由于 Q(a,b) 为凸函数,当Q对于 a,b 方向上的偏导为 0时,求得的解为最优解;
Q在a,b 方向上的偏导、和结果如下图
根据图中所示,(Xi, Yi)都是已知量,故可求出 a、b
于是所拟合的直线就求出来了。
(3)验证阶段
在实际的采样计算中,由于个别样本并不在直线上;比如我们实际应用中,先是求出可能是边上的点的坐标,然后根据这些点拟合直线;故初次求得直线系数后,需要对样本进行置信度判断,故在实际的拟合直线过程中,需要设定置信区间,便于求出直线方程后,找到在置信区间内的样本,进行优化,得到(a’, b’);
那么,在AOI中,可否,根据所求直线,找到满足一定梯度的边缘点,根据这些点的误差,来判断是否有缺陷呢?个人觉得可以尝试研究研究。后续补充自己愚见。
(4)相关代码的实现就不写了。
最小二乘法求直线的理解相关推荐
- 最小二乘法求线性回归方程_规范解题第14期 利用“最小二乘法”原理解一道题...
还等什么呢?时间都过去了,话是这么说,但不至于那么快.无论走到哪里,都应该记住,过去都是假的,回忆是一条没有尽头的路,一切以往的春天都一去不复存在,就连那最坚韧而又狂乱的爱情归根结底也不过是一种转瞬即 ...
- Python实现最小二乘法拟合直线(求斜率截距)
利用最小二乘法拟合直线,实现了对一系列点拟合出其最接近的直线,并给出公式,包括斜率和截距.并且绘制出最终拟合线. 完整代码如下: # 核心代码,求斜率w,截距b def fit(data_x, dat ...
- 最小二乘法求回归直线方程的推导
最小二乘法求回归直线方程的推导 转载自:http://blog.csdn.net/marsjohn/article/details/54911788 在数据的统计分析中,数据之间即变量x与Y之间的相关 ...
- 递推最小二乘法的推导和理解
递推最小二乘法的推导和理解 最小二乘法 快速回顾最小二乘法的推导 建立误差平方 将其最小化 一种对最小二乘法理解的视角 递推最小二乘法 在线实时预测问题 推导思路与详细过程 将k时刻的表达式写成k-1 ...
- opencv学习——最小二乘法拟合直线
最小二乘法拟合直线 概念:最小二乘法多项式直线拟合,根据给定的点,求出它的函数y=f(x),当然求得准确的函数是不太可能的,但是我们能求出它的近似曲线y=φ(x) 原理 假设有点 , I = 1,2 ...
- 求向量的垂线_高考数学填空题如何快速求直线关于直线对称的直线方程
-a求直线 关于直线 对称的直线 方程 结论 由 整理可得 的方程 下面证明此结论并举例运用 如图,设点 为直线 上任一点,过点 作 和 的垂线,垂足分别是 ,延长 交 于 ,设 是三线的交点, 易知 ...
- C++:最小二乘法拟合直线
原理: 代码: #include <opencv2/opencv.hpp> #include <opencv2/highgui/highgui.hpp>using names ...
- 一般方程与参数方程求直线交点
一般方程与参数方程求直线交点 一. 一个例子: 如上图,有两条直线,设L1,L2.L1上有两点(0, 0).(10,10),L2上有两点(0,10).(10,0),它们的交点是 ...
- 最小二乘法拟合直线 C++/OpenCV
问题: 我们在拥有一系列散列的点(x1,y1),(x2,y2)... (xm,ym),这些点在一条直线附近,通过点拟合直线. 我在工程中是要拟合一系列线段,其实一条线段就对应着两个要拟合的点,算法上稍 ...
- 最小二乘法拟合直线簇交点及Ransac拟合
最小二乘法拟合直线簇交点及Ransac拟合 最小二乘法的实现 Ransac优化 语言环境:Python 直线簇方程: y=p→+v→∗ty=\overrightarrow p+\overrightar ...
最新文章
- java file类详解_Java File类详解及IO介绍及使用
- 几种常见SQL分页方式效率比较
- 面试题——4种数组去重的方法
- 使用AXIS开发Web Service的示例
- WinPcap笔记(4):打开适配器并捕获数据包
- linux--切换ipython解释器到python3
- 阿里云ECS开放批量创建实例接口,实现弹性资源的创建
- 2017中国大数据技术大会12月在京召开
- 好看的极简网站导航源码自适应静态页
- Spark 学习(十一) spark使用hive的元数据信息
- Android中View转换为Bitmap及getDrawingCache=null的解决方法
- 【离散数学】图论 第七章(8) 运输网络、流和割、Ford-Fulkerson定理
- 计算机基础制作幻灯片讲解,计算机应用基础_幻灯片制作.ppt
- 图像艺术风格化 Neural-Style
- 信息隐藏——第四章 图像信息隐藏数
- 动态规划 leetcode-714 最佳买卖股票时机含手续费
- Cannot resolve MVC View ‘XXX‘问题解决(路径跳转不过去)
- Android 使用SeekBar时动态显示进度且随SeekBar一起移动
- 移动办公OA行业的普及推动力——泛微三季报披露
- jQuery弹幕 (兼容IE8)
热门文章
- linux宝塔面板是什么,宝塔面板是什么
- python微信投票该用户被锁定、恢复时间_微信登录多久恢复正常
- 自动打卡python脚本_[python][企业微信]企业微信自动打卡Python脚本,价值一万元的自动打卡脚本...
- 【Buzz】简介及第一个案例
- 苹果好用的测试软件,Mac上有什么好用的Mac内存检测软件?
- 使用Subline Text对比查找两个文档的不同
- linux服务器搭建开源蝉道10步走
- POJ-3764 01-Trie
- 360黑客攻防技术分享会
- Android仿IOS屏幕亮度调节-自定义view系列(5)