首页 > 其他 > 详细

由浅入深理解面试中的牛顿迭代法

时间:2020-02-18 18:51:49      阅读:63      评论:0      收藏:0      [点我收藏+]

背景

  面试机器学习经常被问到牛顿迭代法求根,现准备梳理下牛顿迭代法。

核心公式,可理解为机器学习中的优化器

  xn+1 = xn - f(xn) / f(xn)

举个求根号2的例子

  x2 = 2, 使用牛顿迭代法求根

  解:

  1. 转化成函数: f(x) = x2 - 2, 求该函数的近似正根;定义损失函数
  2. 初始化x值, x取值范围为:(0 < x < 2),不妨另初始xn = 2
  3. 依据牛顿迭代公式迭代xn+1;定义了优化器
  4. 设置迭代终止条件 f(xn+1) < accuracy; (accuracy为设置的精度,也可理解为 f(x) = 0的最小误差)

python脚本实现-牛顿迭代法求根号2

# -*- coding: utf-8 -*-

# 牛顿迭代法,求根号2
def deal_num():
    # 初始化x值
    x = 2
    # 定义损失函数
    fx = x**2 - 2

    while 1:
        # 设置精度:终止迭代条件
        if fx < 0.0001:
            break
        else:
            # 定义优化器,牛顿迭代法
            x = x - fx / (2.0 * x)
            fx = x**2 - 2
    return x

if __name__ == "__main__":
    print deal_num()

 

    

 

由浅入深理解面试中的牛顿迭代法

原文:https://www.cnblogs.com/syw-home/p/12327294.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!