X=√10,求X,也就是求Y=10 =X, X是多少。

*重要的思想是,如何转化为可迭代求解的算法问题。

*解数学问题,第一时间画图,求导,“直线化”。

Y = X2

假如已知Y = 10 ,要求解X;

1. 令X=3,解得 y = 9 ;

那么,自然是希望,在X=3处,加上一个△X,得到

Y = y + k * △X ≈ 10;

已知,在X=3处,k = dy / dx = 2*X = 6,所以 △X = [(Y - y) / k]  = △Y / k

我们也可以使用等式:△Y / △X = dY / dX  等价于  1 / △X  =  6  ,△X = 1 / 6 ;

*在微分中,当△X很小时,△Y / △X = dY / dX;当X取得很接近真值时,认为△X很小。(下面讨论当△X比较大,也就是X取得不接近真值的情况);

2. 令X = X + △X = 3 + 1 / 6 = 3.16666666 ;y = 10.19444444;dY/dX =2X = 6.3333333;

△Y = 10 - 10.19444444 = -0.1944444444比之前更小了,解得△X = -0.03070;

3. 令X = X + △X = 3.13596666666;y = 9.834287;dY/dX = 2X = 6.27193333

△Y = 10 - 9.8342869344 = -0.1657130

.....

直到△Y满足精度为止;


如果预测值X=1,和结果相差比较大,再看看;

1. 令X=1,解得 y = 1 ,dY/dX = 2X  = 2 ;

△Y = 10 - 1 = 9 ,△X = 9 / 2 = 4.5;

2. X = X + △X = 5.5 , 解得 y = 30.25, dY/dX = 2X  = 11

△Y = 10 - 30.25 = -20.25, △X = -20.25 / 11 =  -1.84091

3. X = X + △X = 3.65909, 解得 y = 13.38894, dY/ dX = 2X  = 7.31818

△Y = 10 - 13.38894  = -3.38894,△X = -3.38894 / 7.31818 =  -0.4630851

4.  X = X + △X =  3.196005,解得 y = 10.21445,dY/ dX = 2X  = 6.39201

△Y = 10 - 10.21445 = -0.21445 ,△X = -0.21445 /  6.39201 = -0.0335497

5. X = X + △X =  3.1624553,解得 y = 10.001124,dY/ dX = 2X  = 6.3249106

△Y = 10 - 10.21445 = -0.001124

....

X的预估值为1,离真值比较远,所以第2步出现“矫枉过正”的现象,但随即又修复了,因为每处在新的位置,都更新了X 和dY/ dX。

使用“反向传播”迭代法求解y=√10的更多相关文章

  1. DL反向传播理解

    作者:寒小阳 时间:2015年12月. 出处:http://blog.csdn.net/han_xiaoyang/article/details/50321873 声明:版权所有,转载请联系作者并注明 ...

  2. 再谈反向传播(Back Propagation)

    此前写过一篇<BP算法基本原理推导----<机器学习>笔记>,但是感觉满纸公式,而且没有讲到BP算法的精妙之处,所以找了一些资料,加上自己的理解,再来谈一下BP.如有什么疏漏或 ...

  3. [2] TensorFlow 向前传播算法(forward-propagation)与反向传播算法(back-propagation)

    TensorFlow Playground http://playground.tensorflow.org 帮助更好的理解,游乐场Playground可以实现可视化训练过程的工具 TensorFlo ...

  4. [ch02-02] 非线性反向传播

    系列博客,原文在笔者所维护的github上:https://aka.ms/beginnerAI, 点击star加星不要吝啬,星越多笔者越努力. 2.2 非线性反向传播 2.2.1 提出问题 在上面的线 ...

  5. Deep Learning 学习笔记(7):神经网络的求解 与 反向传播算法(Back Propagation)

    反向传播算法(Back Propagation): 引言: 在逻辑回归中,我们使用梯度下降法求参数方程的最优解. 这种方法在神经网络中并不能直接使用, 因为神经网络有多层参数(最少两层),(?为何不能 ...

  6. BP(back propagation)反向传播

    转自:http://www.zhihu.com/question/27239198/answer/89853077 机器学习可以看做是数理统计的一个应用,在数理统计中一个常见的任务就是拟合,也就是给定 ...

  7. 机器学习 —— 基础整理(七)前馈神经网络的BP反向传播算法步骤整理

    这里把按 [1] 推导的BP算法(Backpropagation)步骤整理一下.突然想整理这个的原因是知乎上看到了一个帅呆了的求矩阵微分的方法(也就是 [2]),不得不感叹作者的功力.[1] 中直接使 ...

  8. AI之旅(7):神经网络之反向传播

    前置知识   求导 知识地图   神经网络算法是通过前向传播求代价,反向传播求梯度.在上一篇中介绍了神经网络的组织结构,逻辑关系和代价函数.本篇将介绍如何求代价函数的偏导数(梯度). 梯度检测   在 ...

  9. 深度学习原理与框架-神经网络结构与原理 1.得分函数 2.SVM损失函数 3.正则化惩罚项 4.softmax交叉熵损失函数 5. 最优化问题(前向传播) 6.batch_size(批量更新权重参数) 7.反向传播

    神经网络由各个部分组成 1.得分函数:在进行输出时,对于每一个类别都会输入一个得分值,使用这些得分值可以用来构造出每一个类别的概率值,也可以使用softmax构造类别的概率值,从而构造出loss值, ...

随机推荐

  1. js中对于数组的操作

    let myArray=[11,22,33]; console.log('原数组:',myArray); myArray.push(44,55); console.log('用push在数组后面插入元 ...

  2. 【集群监控】Docker上部署Prometheus+Alertmanager+Grafana实现集群监控

    Docker部署 下载 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.re ...

  3. 自动下载zar配置管理

    maven 下载: https://maven.apache.org/ 官网 download 下载:Binary zip archive apache-maven-3.6.2-bin.zip 免安装 ...

  4. iOS性能优化-异步绘制

    参考地址:https://blog.ibireme.com/2015/11/12/smooth_user_interfaces_for_ios/ 很久以前就看过这篇文章,但是也只是看过就过了,没有去整 ...

  5. java中的左移运算符<<

    System.out.println(3<<4);//48 相当于3乘以2的4次方 将一个数左移n位,就相当于乘以了2的n次方 位运算cpu直接支持的,效率最高

  6. Jmeter Json List Element Assertion使用详解

    使用背景: jmeter4.0本身提供json Assertion断言,但当我们想要对返回的json list中的多个字段进行断言的时候,我们就会感到很无力.那么此时我们就可以通过Json List ...

  7. 清除SQL Server Management Studio的最近服务器列表

    C:\Users\dell\AppData\Roaming\Microsoft\SQL Server Management Studio\12.0\SqlStudio.bin

  8. .NET Core 微信公众号小程序6种获取UnionID方法,你知道哪几种?

    前言 获取UnionID是开发微信公众号/小程序中很有必要的一个环节,特别是针对一个公司拥有多个公众号小程序而推出的机制,实现打通账户一体化,用UnionID来区分多平台的唯一性. 官方的解释:如果开 ...

  9. Python调用GithubAPI并进行初步的数据分析

    找到一个Github 上的公开api url = 'https://api.github.com/search/repositories?q=language:python&sort=star ...

  10. angular之跨域

    一.什么是跨域? 跨域是指一个域下的文档或者脚本去请求另一个域下的资源.(广义) 广义的跨域: 1.资源跳转:链接跳转.重定向.表单提交. 2.资源嵌入:<link>.<script ...