Newton-Raphson算法

算法步骤

  • 首先猜测一个最大值点作为迭代的初始值β(0)\beta_{(0)}β(0)​;
  • 使用递归算法对初始点进行更新β(k+1)=β(k)−H−1(β(k))G(β(k))\beta_{(k+1)} =\beta_{(k)}-H^{-1}(\beta_{(k)})G(\beta_{(k)})β(k+1)​=β(k)​−H−1(β(k)​)G(β(k)​);
    – G(.)G(.)G(.)是梯度向量;
    – H(.)H(.)H(.)是海塞矩阵;
  • 检查β(k+1)−β(k)<tol\beta_{(k+1)}-\beta_{(k)}< tolβ(k+1)​−β(k)​<tol是否满足;
    – 如果满足,则β^=β(k+1)\hat{\beta}=\beta_{(k+1)}β^​=β(k+1)​;
    – 如果不满足,则返回步骤2继续迭代;
# 以Poisson回归为例
class PoissonRegression(object):'''class PoissonRegression方便计算对数似然,梯度矩阵和海塞矩阵'''def __init__(self, y, X, beta):'''按照维度对应关系创建好观测与参数矩阵'''self.X = Xself.n, self.k = X.shapeself.y = y.reshape(self.n, 1)self.beta = beta.reshape(self.k, 1)def mu(self):'''获得mu的n个预测值'''return np.exp(self.X @ self.beta)def logL(self):'''似然函数'''y = self.ymu = self.mu()return np.sum(y*np.log(mu) - mu - np.log(factorial(y)))def G(self):'''梯度向量'''y = self.ymu = self.mu()return X.T @ (y - mu)def H(self):'''海塞矩阵'''X = self.Xmu = self.mu()return -(X.T @ (mu*X))

Newton-Raphson算法相关推荐

  1. Newton Raphson算法

    Newton-Raphson算法在统计中广泛应用于求解MLE的参数估计. 对应的单变量如下图: 多元函数算法: Example:(implemented in R) #定义函数f(x) f=funct ...

  2. C++newton raphson method牛顿拉夫森法的实现算法(附完整源码)

    C++newton raphson method牛顿拉夫森法的实现算法 C++newton raphson method牛顿拉夫森法的实现算法完整源码(定义,实现,main函数测试) C++newto ...

  3. Python:实现newton raphson牛顿-拉夫森算法(附完整源码)

    Python:实现newton raphson牛顿-拉夫森算法 import math as m def calc_derivative(f, a, h=0.001):return (f(a + h) ...

  4. 【 NLS 】Newton – Raphson Iteration Procedure of TOA - Based Positioning

    上篇博文: [ Notes ]NLS ALGORITHMS of TOA - Based Positioning说到了三种局部迭代算法进行TOA定位,分别为: Newton – Raphson Gau ...

  5. 【 ML 】Newton – Raphson Iteration Procedure of TOA - Based Positioning Simulation

    由博文可知:ML ALGORITHMS of TOA - Based Positioning Newton – Raphson Iteration:                           ...

  6. C语言实现牛顿-拉夫逊newton raphson求近似根roots(附完整源码)

    实现牛顿-拉夫逊newton raphson求近似根 实现以下几个相关的接口 实现牛顿-拉夫逊newton raphson求近似根的完整源码(定义,实现,main函数测试) 实现以下几个相关的接口 d ...

  7. 机械臂动力学建模(3)- Newton Euler牛顿欧拉算法

    Newton Euler算法 参考 思路(参考丁教授第二讲ppt) 矢量在不同坐标系下的转换关系 速度的递推 重心处的力和力矩 力的递推 完整公式 代码 参考 北航丁希仑教授的机器人动力学课件: 检出 ...

  8. 如何用matlab解异或方程,Matlab-6:解非线性方程组newton迭代法

    函数文件: function x=newton_Iterative_method(f,n,Initial) x0=Initial; tol=1e-11; x1=x0-Jacobian(f,n,x0)\ ...

  9. C和C++算法完整教程专栏完整目录

    C和C++算法完整教程专栏完整目录 专栏说明如下 完整专栏目录如下 专栏说明如下 内容:C和C++算法完整教程 数量:680篇博文(2023年2月15日截止) 更新时间至:2023年2月15日(后续加 ...

  10. python算法完整教程专栏完整目录

    python算法完整教程专栏完整目录 专栏说明如下 专栏目录 专栏说明如下 内容:python算法完整教程 数量:692篇博文(2023年2月15日截止) 更新时间至:2023年2月15日(后续加上去 ...

最新文章

  1. session,cookie,sessionStorage,localStorage的区别及应用场景
  2. 一个检查分区内存并且发送邮件的shell脚本
  3. 人类吃屎用屎指南:用做肥料不如制咖啡、当展品、做炸弹
  4. C#基础知识(个人笔记)
  5. win7无线热点_Windos7系统笔记本设置无线热点教程,应急时候可以用
  6. TOML-to-Go : 帮你快速生成 Go 结构体
  7. Java虚拟机详解(六)------内存分配
  8. win7下不能替换系统文件的解决办法
  9. 使用 Kafka 和 Spark Streaming 构建实时数据处理系统
  10. 谈谈Ext JS的组件——布局的使用方法续二
  11. apache camel_Apache Camel –从头开始开发应用程序(第2部分/第2部分)
  12. 正则表达式之反向引用
  13. 圆角ImageView
  14. 高中电子技术——三极管万用表极性测量(指针万用表和数字万用表)
  15. 基于win10系统下用vs2019编译flightgear2020.4.0
  16. ps景观平面图转鸟瞰图_怎么用 PS 做景观平面图?
  17. Android uiautomatorviewer无法启动
  18. 下面代码的输出结果是什么?
  19. [React hooks] Antd Form: Instance created by `useForm` is not connected to any Form element.Forget t
  20. Matlab编写S函数,实现y=ku+b

热门文章

  1. svm神经网络葡萄酒matlab,SVM神经网络的数据分类预测-葡萄酒种类识别
  2. ArcGIS 关于三维立体地图 简单使用,里面的资源就在 arcgis 的demo里面有
  3. 统计数组中英文大写字母,小写字母,数字,空格的个数。
  4. 11月 | Gauss松鼠会活动回顾总结
  5. 市场部商业计划PPT模板
  6. Spring - Spring事务控制详解与案例总结
  7. 显示HTML的版权符号
  8. 数据结构 javascript 描述[Data-Structure described byJavaScript]
  9. 软件工程 实践者的研究方法 第三章答案
  10. 信奥赛1990:【19CSPS提高组】划分