[深度学习入门]实战一·Numpy梯度下降求最小值

  • 问题描述:
    求解y1 = xx -2 x +3 + 0.01*(-1到1的随机值) 与 y2 = 0 的最小距离点(x,y)
    给定x范围(0,3
    不使用学习框架,手动编写梯度下降公式求解,提示:x = x - alp*(y1-y2)导数(alp为学习率)
    函数图像为:

  • 代码内容

import numpy as np
import matplotlib.pyplot as pltdef get_loss(x):c,r = x.shapeloss = (x**2 - 2*x + 3) + (0.01*(2*np.random.rand(c,r)-1))return(loss)x = np.arange(0,3,0.01).reshape(-1,1)"""plt.title("loss")
plt.plot(get_loss(np.array(x)))
plt.show()"""def get_grad(x):grad = 2 * x -2return(grad)np.random.seed(31415)
x_ = np.random.rand(1)*3
x_s = []
alp = 0.001
print("X0",x_)
for e in range(2000):x_ = x_ - alp*(get_grad(x_))x_s.append(x_)if(e%100 == 0):print(e,"steps,x_ = ",x_)plt.title("loss")
plt.plot(get_loss(np.array(x_s)))
plt.show()
  • 运行结果:

log:

X0 [1.93745582]
0 steps,x_ =  [1.93558091]
100 steps,x_ =  [1.76583547]
200 steps,x_ =  [1.6268875]
300 steps,x_ =  [1.51314929]
400 steps,x_ =  [1.42004698]
500 steps,x_ =  [1.34383651]
600 steps,x_ =  [1.28145316]
700 steps,x_ =  [1.23038821]
800 steps,x_ =  [1.18858814]
900 steps,x_ =  [1.15437199]
1000 steps,x_ =  [1.12636379]
1100 steps,x_ =  [1.1034372]
1200 steps,x_ =  [1.08467026]
1300 steps,x_ =  [1.06930826]
1400 steps,x_ =  [1.05673344]
1500 steps,x_ =  [1.04644011]
1600 steps,x_ =  [1.03801434]
1700 steps,x_ =  [1.03111727]
1800 steps,x_ =  [1.02547157]
1900 steps,x_ =  [1.02085018]

图片

[Python深度学习入门]实战一·Numpy梯度下降求最小值相关推荐

  1. 深度学习入门之线性模型和梯度下降

    线性模型和梯度下降 这是神经网络的第一课,我们会学习一个非常简单的模型,线性回归,同时也会学习一个优化算法-梯度下降法,对这个模型进行优化.线性回归是监督学习里面一个非常简单的模型,同时梯度下降也是深 ...

  2. 深度学习(32)随机梯度下降十: 手写数字识别问题(层)

    深度学习(32)随机梯度下降十: 手写数字识别问题(层) 1. 数据集 2. 网络层 3. 网络模型 4. 网络训练 本节将利用前面介绍的多层全连接网络的梯度推导结果,直接利用Python循环计算每一 ...

  3. 深度学习(23)随机梯度下降一: 随机梯度下降简介

    深度学习(23)随机梯度下降一: 随机梯度下降简介 1. What's Gradient? 2. What does it mean? 3. How to search? 4. For instanc ...

  4. 深度学习(33)随机梯度下降十一: TensorBoard可视化

    深度学习(33)随机梯度下降十一: TensorBoard可视化 Step1. run listener Step2. build summary Step3.1 fed scalar(监听标量) S ...

  5. 深度学习(30)随机梯度下降七: 多层感知机梯度(反向传播算法)

    深度学习(30)随机梯度下降八: 多层感知机梯度(反向传播算法) 1. 多层感知机模型 2. 多层感知机梯度 3. 传播规律小结 tens Recap Chain Rule Multi-output ...

  6. 深度学习(28)随机梯度下降六: 多输出感知机梯度

    深度学习(28)随机梯度下降六: 多输出感知机梯度 1. Multi-output Perceptron 2. Derivative 3. 代码 Perceptron 单输出感知机梯度 ∂E∂wj0= ...

  7. 深度学习(27)随机梯度下降五: 单输出感知机梯度

    深度学习(27)随机梯度下降五: 单输出感知机梯度 1. Perceptrnon with Sigmoid + MSE 2. Derivative 3. 代码 Recap y=XW+by=XW+by= ...

  8. 深度学习(26)随机梯度下降四: 损失函数的梯度

    深度学习(26)随机梯度下降四: 损失函数的梯度 1. Mean Squared Error(MSE) 2. Cross Entropy Loss CrossEntropy 3. Softmax (1 ...

  9. 深度学习(25)随机梯度下降三: 激活函数的梯度

    深度学习(25)随机梯度下降三: 激活函数的梯度 1. Activation Functions 2. Deriative 3. Sigmoid/Logistic (1) Derivative (2) ...

最新文章

  1. 10个非常有趣的Linux命令
  2. 如果把线程当作一个人来对待,所有问题都瞬间明白了
  3. 『设计模式』设计模式--模板方法模式
  4. 开启mysql日志记录_Mysql开启日志记录
  5. nssl1187-排列【dp,随机卡常,树状数组】
  6. 2.4 shell 脚本基础
  7. 鸿蒙一号指纹锁,【诉说实情】火车头战狼一号家用防盗门指纹锁怎么样?新手必看内情...
  8. keeplive+haproxy+nginx
  9. 【力扣】合并两个有序链表
  10. python_lintcode_52翻转字符串_128哈希函数
  11. 你这手写vue2.x/3.x的响应式保熟吗?
  12. 为什么在马云成功前就有那么多影像留下来?
  13. 详解Qt字体设置 (QFont)
  14. win10任务栏假死及解决办法
  15. oracle监控pga,监控PGA最大空间、分配
  16. 2019 年国际大学生类脑计算大赛全程总览
  17. google地图api
  18. 每步科技动态域名怎么用
  19. 彩色日志,教你配置颜色分明的日志输出。
  20. IOS 一些小知识点整理

热门文章

  1. 公司企业邮箱附件多大?免费企业邮箱附件有限制吗?
  2. Android实现搜索手机内的PDF文件
  3. 【YOLO v4 相关理论】Normalization: BN、CBN、CmBN
  4. Vue小demo—美团注册页面
  5. WIN7 经典“致命错误 C0000034”解决方法
  6. 2021年材料员-通用基础(材料员)考试题库及材料员-通用基础(材料员)考试总结
  7. window系统 安装 nvm 详细步骤
  8. 再度递表港交所,“快”能否成为绿茶餐厅突围的筹码?
  9. 环信客服SDK接入-----(一)
  10. 电脑的视频太大,如何压缩视频