import random'''
drd notes: 使用梯度下降法 求y=3x^2 + 7x - 10波谷时x的值
'''def my_function(x):# drd notes:y = 3x^2 + 7x - 10return 3 * x * x + 7 * x - 10def my_function_slop(x):# drd notes: 切线方程对应为y = 6x + 7return 6 * x + 7# drd notes:求y最小值时的x
def gradient_descent_min():# drd notes: 产生随机初始化的点x0 = random.randint(-100, 100)w = 0.001precision = 1e-6count = 0# drd notes:一元二次方程经过多次 梯度下降 走法,最后必然会在最小值附近while True:x1 = x0 - my_function_slop(x0) * wcount = count + 1# drd notes: 达到精度后就推出if abs(my_function(x1) - my_function(x0)) < precision:breakx0 = x1# drd notes:波谷点为(-7/6, 169/12), -7/6 = -1.1666666# drd notes: 经过 1001 迭代后,当x = -1.161392224931042时,y有最小值-14.083249874126466# 经过 1472 迭代后,当x = -1.1719342628187626时,y有最小值-14.083250090625668print('经过 {} 迭代后,当x = {}时,y有最小值{}'.format(count, x0, my_function(x0)))if __name__ == '__main__':gradient_descent_min()

【Python】梯度下降法求解一元二次函数的波谷相关推荐

  1. python 梯度下降法实现一元线性回归

    一.简单过一下算法流程 ''' 梯度下降法实现一元线性回归 一元线性函数: y = ax + b 实际数据服从: y = x + 2 初始模型: y = 0.1*x + 0.1 ''' import ...

  2. 利用梯度下降法求解一元线性回归和多元线性回归

    文章目录 原理以及公式 [1]一元线性回归问题 [2]多元线性回归问题 [3]学习率 [4]流程分析(一元线性回归) [5]流程分析(多元线性回归) 归一化原理以及每种归一化适用的场合 一元线性回归代 ...

  3. 梯度下降求解一元二次函数

  4. 梯度下降法求解多元线性回归 — NumPy

    梯度下降法求解多元线性回归问题 使用梯度下降法求解一元线性回归的方法也可以被推广到求解多元线性回归问题. 这是多元线性回归的模型: 其中的 X 和 W 都是 m+1 维的向量. 下图为它的损失函数: ...

  5. 梯度下降法求解线性回归

    梯度下降法求解线性回归 通过梯度下降法求解简单的一元线性回归 分别通过梯度下降算法和sklearn的线性回归模型(即基于最小二乘法)解决简单的一元线性回归实际案例,通过结果对比两个算法的优缺. 通过最 ...

  6. 深度学习基础之-2.2用梯度下降法求解w,b

    用梯度下降法求解w,b. 预设函数 Hypothesis Function z=wx+bz = wx+bz=wx+b 损失函数 Loss Function J(w,b)=12(z−y)2J(w,b) ...

  7. Python梯度下降法实现二元逻辑回归

    Python梯度下降法实现二元逻辑回归 二元逻辑回归假设函数 定义当函数值大于等于0.5时,结果为1,当函数值小于0.5时,结果为0.函数的值域是(0, 1). 二元逻辑回归的损失函数 上图为二元逻辑 ...

  8. python实现牛顿法和梯度下降法求解对率回归_最优化问题中,牛顿法为什么比梯度下降法求解需要的迭代次数更少?...

    多图预警 本文讲你肯定能懂的机器学习多维极值求解,主要讲梯度下降和牛顿法的区别应该能够完美的回答题主的问题 事先说明 本文面向学习过高等数学统计学和线性代数基础知识的本科生,并假设读者拥有基本的矩阵运 ...

  9. Python 梯度下降法

    题目描述: 自定义一个可微并且存在最小值的一元函数,用梯度下降法求其最小值.并绘制出学习率从0.1到0.9(步长0.1)时,达到最小值时所迭代的次数的关系曲线,根据该曲线给出简单的分析. 代码: # ...

最新文章

  1. 【Python3爬虫】常见反爬虫措施及解决办法(二)...
  2. 【转】揭开正则表达式的神秘面纱
  3. 利用鼠标点击绘制出三棱锥
  4. python如何绘制两点间连线_如何利用Python的pyecharts绘制3d柱形图?
  5. 实现、设置-Android TabWidget-by小雨
  6. imclearboder matlab,Lucas
  7. 安卓通过js与网页的H5页面进行交换
  8. Linux进程睡眠状态disk sleep
  9. windows和linux的共享
  10. php连接mysql 实现登录_php如何连接mysql实现简单注册登陆页面
  11. 超详细—狂神Mybatis笔记
  12. SSM框架流浪动物管理系统宠物寄样收养领养宠物收容所管理(idea开发javaweb-javaee-j2ee-springboot)
  13. python3 中文乱码 锟斤_乱码问题解决之“锟斤拷”
  14. MCE | 分子伴侣介导的自噬
  15. Localize a WPF application
  16. php常见错误,php常见错误及错误处理 - 小俊学习网
  17. 电商实时交易风控系统
  18. vue项目使用域名部署(一个域名多个项目)
  19. 自动化测试 —— Pytest测试框架
  20. [PC] 2015 僵尸 ZOMBI

热门文章

  1. 蓝牙学习笔记之HCI协议(一)
  2. “话端午 做彩粽 包香包 传美德”端午节主题活动
  3. 【Unity实现经典游戏--贪吃蛇】
  4. iPhone 6屏幕:4.7英寸1334*750分辨率,5.5英寸1920*1080,UI适配不困难
  5. wordpres优化-近期心得分享
  6. IC卡、ID卡及车库蓝牙卡的复制说明!(小区的门禁系统)
  7. Macbook Pro / Air 最简单的安装Mac+Win双系统,无需光盘,无需U盘! - for OSX 10.14 +
  8. BAT全球扩张AI路线图 | 百度早于谷歌,腾讯投资最多
  9. 计算机休眠usb充电,如何让Windows笔记本在休眠时给手机充电
  10. linux进阶-MySQL索引小结