一点数学问题

################################################################################################

牛顿迭代法

百度百科里面有解释,就是利用泰勒公式

formula

泰勒公式定义就是函数,可以某一点求倒数来计算。这个好像不太好用。

百度百科里面用到的就是用它来求某一点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,他代码里面做了处理的。

 \boldsymbol \beta^{(s+1)} = \boldsymbol \beta^{(s)} + \left(\mathbf{J_f}^\mathsf{T} \mathbf{J_f} \right)^{-1} \mathbf{ J_f} ^\mathsf{T}\mathbf{r}(\boldsymbol \beta^{(s)}).

主要是根据采样值,来不停修正参数使得r(方差)趋于0.

Starting with an initial guess β ( 0 ) {\displaystyle {\boldsymbol {\beta }}^{(0)}}\boldsymbol \beta^{(0)} for the minimum, the method proceeds by the iterations

 \boldsymbol \beta^{(s+1)} = \boldsymbol \beta^{(s)} - \left(\mathbf{J_r}^\mathsf{T} \mathbf{J_r} \right)^{-1} \mathbf{ J_r} ^\mathsf{T} \mathbf{r}(\boldsymbol \beta^{(s)})

where, if r and β are column vectors, the entries of the Jacobian matrix are

{\displaystyle (\mathbf {J_{r}} )_{ij}={\frac {\partial r_{i}({\boldsymbol {\beta }}^{(s)})}{\partial \beta _{j}}}}
################################################################################################

线性回归:百度一下,就是用过采样值,计算出最合适的系数。

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。效果就出来了。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值