最近看一些文档发现,关于采用最小二乘法拟合直线,很多文章习惯性的将矩阵空间拓展成多维的空间,阅读理解起来都有很大的不便性,本人在图像处理实际应用中,都是二维空间的,故只做了二维空间内的理解,个人理解如下:

(1)所求的直线方程可以理解如下: Y = aX + b;
假设有已知的n个样本 (Xi, Yi);根据(Xi, Yi),求直线方程的系数:a、b
(2)假设求出了(a,b);在验证的时候,需要将样本代入拟合的方程,对于每个变量,都会有对应的误差值(Ei);对于每个样本,都可以写成如下形式:
Yi = a
Xi + 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)相关代码的实现就不写了。

最小二乘法求直线的理解相关推荐

  1. 最小二乘法求线性回归方程_规范解题第14期 利用“最小二乘法”原理解一道题...

    还等什么呢?时间都过去了,话是这么说,但不至于那么快.无论走到哪里,都应该记住,过去都是假的,回忆是一条没有尽头的路,一切以往的春天都一去不复存在,就连那最坚韧而又狂乱的爱情归根结底也不过是一种转瞬即 ...

  2. Python实现最小二乘法拟合直线(求斜率截距)

    利用最小二乘法拟合直线,实现了对一系列点拟合出其最接近的直线,并给出公式,包括斜率和截距.并且绘制出最终拟合线. 完整代码如下: # 核心代码,求斜率w,截距b def fit(data_x, dat ...

  3. 最小二乘法求回归直线方程的推导

    最小二乘法求回归直线方程的推导 转载自:http://blog.csdn.net/marsjohn/article/details/54911788 在数据的统计分析中,数据之间即变量x与Y之间的相关 ...

  4. 递推最小二乘法的推导和理解

    递推最小二乘法的推导和理解 最小二乘法 快速回顾最小二乘法的推导 建立误差平方 将其最小化 一种对最小二乘法理解的视角 递推最小二乘法 在线实时预测问题 推导思路与详细过程 将k时刻的表达式写成k-1 ...

  5. opencv学习——最小二乘法拟合直线

    最小二乘法拟合直线 概念:最小二乘法多项式直线拟合,根据给定的点,求出它的函数y=f(x),当然求得准确的函数是不太可能的,但是我们能求出它的近似曲线y=φ(x) 原理 假设有点  , I = 1,2 ...

  6. 求向量的垂线_高考数学填空题如何快速求直线关于直线对称的直线方程

    -a求直线 关于直线 对称的直线 方程 结论 由 整理可得 的方程 下面证明此结论并举例运用 如图,设点 为直线 上任一点,过点 作 和 的垂线,垂足分别是 ,延长 交 于 ,设 是三线的交点, 易知 ...

  7. C++:最小二乘法拟合直线

     原理: 代码: #include <opencv2/opencv.hpp> #include <opencv2/highgui/highgui.hpp>using names ...

  8. 一般方程与参数方程求直线交点

    一般方程与参数方程求直线交点 一.             一个例子: 如上图,有两条直线,设L1,L2.L1上有两点(0, 0).(10,10),L2上有两点(0,10).(10,0),它们的交点是 ...

  9. 最小二乘法拟合直线 C++/OpenCV

    问题: 我们在拥有一系列散列的点(x1,y1),(x2,y2)... (xm,ym),这些点在一条直线附近,通过点拟合直线. 我在工程中是要拟合一系列线段,其实一条线段就对应着两个要拟合的点,算法上稍 ...

  10. 最小二乘法拟合直线簇交点及Ransac拟合

    最小二乘法拟合直线簇交点及Ransac拟合 最小二乘法的实现 Ransac优化 语言环境:Python 直线簇方程: y=p→+v→∗ty=\overrightarrow p+\overrightar ...

最新文章

  1. java file类详解_Java File类详解及IO介绍及使用
  2. 几种常见SQL分页方式效率比较
  3. 面试题——4种数组去重的方法
  4. 使用AXIS开发Web Service的示例
  5. WinPcap笔记(4):打开适配器并捕获数据包
  6. linux--切换ipython解释器到python3
  7. 阿里云ECS开放批量创建实例接口,实现弹性资源的创建
  8. 2017中国大数据技术大会12月在京召开
  9. 好看的极简网站导航源码自适应静态页
  10. Spark 学习(十一) spark使用hive的元数据信息
  11. Android中View转换为Bitmap及getDrawingCache=null的解决方法
  12. 【离散数学】图论 第七章(8) 运输网络、流和割、Ford-Fulkerson定理
  13. 计算机基础制作幻灯片讲解,计算机应用基础_幻灯片制作.ppt
  14. 图像艺术风格化 Neural-Style
  15. 信息隐藏——第四章 图像信息隐藏数
  16. 动态规划 leetcode-714 最佳买卖股票时机含手续费
  17. Cannot resolve MVC View ‘XXX‘问题解决(路径跳转不过去)
  18. Android 使用SeekBar时动态显示进度且随SeekBar一起移动
  19. 移动办公OA行业的普及推动力——泛微三季报披露
  20. jQuery弹幕 (兼容IE8)

热门文章

  1. linux宝塔面板是什么,宝塔面板是什么
  2. python微信投票该用户被锁定、恢复时间_微信登录多久恢复正常
  3. 自动打卡python脚本_[python][企业微信]企业微信自动打卡Python脚本,价值一万元的自动打卡脚本...
  4. 【Buzz】简介及第一个案例
  5. 苹果好用的测试软件,Mac上有什么好用的Mac内存检测软件?
  6. 使用Subline Text对比查找两个文档的不同
  7. linux服务器搭建开源蝉道10步走
  8. POJ-3764 01-Trie
  9. 360黑客攻防技术分享会
  10. Android仿IOS屏幕亮度调节-自定义view系列(5)