################################################################################################
牛顿迭代法
百度百科里面有解释,就是利用泰勒公式
泰勒公式定义就是函数,可以某一点求倒数来计算。这个好像不太好用。
百度百科里面用到的就是用它来求某一点x最近的,f(x)最接近0的x1
通过不断迭代,使得f(x)趋于0. 这个只是一个解方程的一个解的情况,可能f(x)并不与x轴相交。
上面式一元的,如果用多元的话,f(xn)的导数是用雅可比矩阵的逆矩阵。参考:
http://wenku.baidu.com/link?url=E10g-UDCEdot5kzIQ29B--knXpbqVG44mL4ybpLHuXbjP3SEVMOkbABEVEnOPsqvN7wu-HhO9UwbAm9APs6FdRURF2J_gVXgSO5bE26CEoi
################################################################################################
高斯牛顿算法,用来解决非线性回归问题
http://blog.csdn.net/tclxspy/article/details/51281811
注意一下:上面链接用的公式是有问题的。因为它用的 Jf = -Jr,他代码里面做了处理的。
主要是根据采样值,来不停修正参数使得r(方差)趋于0.
Starting with an initial guess β ( 0 ) {\displaystyle {\boldsymbol {\beta }}^{(0)}} for the minimum, the method proceeds by the iterations
where, if r and β are column vectors, the entries of the Jacobian matrix are
- ################################################################################################
线性回归:百度一下,就是用过采样值,计算出最合适的系数。
y = b * x + a
################################################################################################
向量点乘是功的计算,叉乘是求法向量
################################################################################################
一个根号函数:
f(e) = SQRT( 2 * s * ( e - ( s / POWER( p, 2) / 2)))
分解一下:
f(e) = sqrt(2 * s) * sqrt( e - ( s / POWER( p, 2) / 2))
0.参数:s,p;输入e
1.当e = ( s / POWER( p, 2) / 2), fe=0
2. a1.当e = s / POWER( p, 2)时, f(e) = s / p;
a2.此时: e * p = s / p.所以e= 0到 e = s / POWER( p, 2),可以用直线表示,实现分段函数。
a3.直线斜率为p,说明在e= 0到 e = s / POWER( p, 2)范围内,p对曲线有很大影响,并决定了直线段的范围大小。
3.当e > s / POWER( p, 2)时,其实就相当 a * sqrt(e - b), 此时b的对曲线的影响比a对曲线的影响要小很多。a值对曲线影响较大。b影响小
4.使用测试s=10000,p=5对应s=10000,p=2对比曲线效果:
直线部分斜率5和2有差距的,当e=1000时,分为输出为14000,13228.75656。是差不多的
s=10000,p=5对应s=5000,p=5对比曲线效果
直线部分斜率都为5,当e=1000时,分为输出为14000,9949.874371。效果就出来了。