一、问题描述

考虑一元目标函数

(1)写出目标函数F的

(2)初始值w=0,请画出梯度下降算法在最小化目标函数F的搜索轨迹。初始值w=2呢?

二、实验目的

学习梯度下降算法。

三、实验内容

1.数据导入:采用自动生成的数据

2.数据预处理:

四、实验结果及分析

(1)w = 0时

(2)w = 2时

五、完整代码

机器学习GitHub:https://github.com/wanglei18/machine_learning

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties      #步骤一
font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=15)    #步骤二def addLine(X):length = X.shape[0]         #矩阵第一维度的长度num = np.ones((length,1))for i in range(0, length):num[i] = i+1              #坐标轴 xX = np.c_[num, X]             #合并坐标轴return Xdef printLine(x_name, y_name, title, X): #x轴,y轴,标题,矩阵plt.figure(1)plt.plot(X[:,0], X[:,1], 'bo', ms=3)    #蓝色散点plt.plot(X[:,0], X[:,1], 'b', ms=3, label='line1')    #蓝色实线plt.xlabel(x_name, fontproperties = font)   #步骤三plt.ylabel(y_name, fontproperties = font)plt.title(title, fontproperties = font)plt.show()return 0N, eta = 20, 0.1
w = 2
y = np.ones((N, 1))     #[[1.] **** [1.]]总共20个
X = np.ones((N, 1))for t in range(N):w = w - eta*2*(w-1/2)       #每一次迭代y[t] = wX[t] = w*w - w + 1        #原函数
y = addLine(y)               #一维数组转换成二维数组
X = addLine(X)
print("X = ", X)
print("y = ", y)
print("w = ", w)
printLine('N', 'W', 'W与N的关系图', y)
printLine('N', 'F(W)', 'F(W)函数图', X)

数据挖掘——梯度下降算法解决一元函数相关推荐

  1. 机器学习中,梯度下降算法的问题引入

    来源 | 动画讲编程 今天讲解的内容是梯度下降算法. 梯度下降算法在机器学习中的应用十分广泛,该算法的最主要目的是通过迭代的方法找到目标函数的最小值,经常用来解决线性回归和逻辑回归等相关问题.本节课主 ...

  2. 机器学习中为什么需要梯度下降_机器学习,梯度下降算法,问题引入

    知乎视频​www.zhihu.com 今天讲解的内容是梯度下降算法. 梯度下降算法在机器学习中的应用十分广泛,该算法的最主要目的是通过迭代的方法找到目标函数的最小值,经常用来解决线性回归和逻辑回归等相 ...

  3. 小批量梯度下降算法步骤_TensorFlow从0到1 - 6 - 解锁梯度下降算法

    上一篇5 TF轻松搞定线性回归,我们知道了模型参数训练的方向是由梯度下降算法指导的,并使用TF的封装tf.train.GradientDescentOptimizer(0.01)(学习率为0.01)完 ...

  4. 梯度下降算法c语言实现,机器学习中梯度下降法原理及用其解决线性回归问题的C语言实现...

    本文讲梯度下降(Gradient Descent)前先看看利用梯度下降法进行监督学习(例如分类.回归等)的一般步骤: 1, 定义损失函数(Loss Function) 2, 信息流forward pr ...

  5. 机器学习中梯度下降算法的实际应用和技巧

    当在现实生活中的遇到问题时,我们总是希望找到最佳的解决方案.制造软件产品也是一样的道理,最优化的程序才是最理想的产品. 最优化意味着获得最佳输出.它既是一个数学的重要分支,也在现实生活中有着重要的作用 ...

  6. 机器学习/梯度下降算法

    当在现实生活中的遇到问题时,我们总是希望找到最佳的解决方案.制造软件产品也是一样的道理,最优化的程序才是最理想的产品. 最优化意味着获得最佳输出.它既是一个数学的重要分支,也在现实生活中有着重要的作用 ...

  7. 梯度下降算法的细节补充(凸函数, 导数, 偏导数,梯度, 方向导数以及负梯度下降最快背后的泰勒身影)

    1. 写在前面 这篇文章, 再来对梯度下降算法进行一个小的回顾, 梯度下降算法是求解无约束多元函数极值最常用的数值方法, 很多机器学习常用算法和神经网络都是以它作为算法框架进行优化参数. 所以这个算法 ...

  8. 【人工智能】从梯度下降算法到人工神经网络

    提到人工智能算法,人工神经网络(ANN)是一个绕不过去的话题.但是对于新手,往往容易被ANN中一堆复杂的概念公式搞得头大,最后只能做到感性的认识,而无法深入的理解.正好最近笔者本人也在经历这个痛苦的过 ...

  9. 局部最优、梯度消失、鞍点、海森矩阵(Hessian Matric)、批梯度下降算法(btach批梯度下降法BGD、小批量梯度下降法Mini-Batch GD、随机梯度下降法SGD)

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) BATCH_SIZE大小设置对训练耗时的影响:1.如果当设置B ...

最新文章

  1. 国外优秀开源PHP建站程序一览
  2. Android的Framework分析---4硬件抽象HAL
  3. JSP 和 Servlet 区别
  4. 吴恩达机器学习笔记:(二)代价函数
  5. Nodejs in Visual Studio Code 03.学习Express
  6. Java 反射机制[Field反射]
  7. 基于javaSwing+文本存储的学生信息管理系统设计实现
  8. 微信表情包小程序源码-更新登录接口+增加举牌功能
  9. 聚焦数据安全管理——安踏信息安全管理体系实践
  10. 白盒测试常用工具介绍
  11. JavaWeb毕业生就业管理系统项目实战教程
  12. html5考试总结300字,期中考试总结300字大全
  13. mysql 只有一个ibd文件_只有一个ibd文件如何恢复数据表
  14. 从“心”开始,带领团队度过变革期
  15. Autovue 集成
  16. 【模电知识总结】MOS管
  17. Bottle的插件与view装饰器冲突问题
  18. 在 Lenovo G360 笔记本上安装 Debian Squeeze AMD64
  19. 2019.11.2图论专题(AtCoder Splatter Painting、President and Roads、Shortest Cycle、ISlands II)
  20. 如何区分网线是几类的_怎么区分买的网线是几类网线?

热门文章

  1. 十五岁生日快乐,.NET !
  2. 18岁生日 HDU - 1201
  3. P01:Next.js简介和创建项目
  4. apt vs. apt-get:Linux 上有什么区别?
  5. C语言中的输入输出流和缓冲区(重点)详解
  6. c语言 异或结合律,异或运算
  7. c语言数据结构二叉树实验报告,数据结构实验三二叉树实验报告.doc
  8. fiddler网络限速技巧
  9. matlab 常用希腊字母
  10. Element.removeAttribute()的用法