公众号“轻松玩转机器人”,欢迎关注。
1、算法介绍
最小二乘法的目的,通俗来说,就是拟合变量之间的关系。
由于现实世界观测的变量存在噪声,找不到完美、不存在误差的关系,因此我们退而求其次,尽可能减小误差影响。误差有正有负,而我们希望消除正负方向的差异,所以采用了平方的方法,二乘其实是指平方,只比较误差长度。
举个例子,我们通过观测得到一组点(x, y),这些点原则来上说属于一条直线,由于观测噪声的存在,找不到这样一条直线涵盖所有点。但是通过最小二乘法,观测尽可能多的点,可以拟合出较为准确的斜率和截距。
2、算法应用
对于拟合圆心和半径,先写出圆的公式:
化简得到:
设
则有:
设圆上有n个点,则有:
写成矩阵形式:
即:
根据最小二乘法,求得A矩阵:
至此,通过A矩阵即可得到圆心和半径。
如下图所示,通过观测得到的红点拟合出其所在的圆(圆心和半径)。