No.1.5 梯度下降 的个人理解

梯度下降的个人理解,学了很久,看了很多代码,总结出这份梯度下降笔记

在这里插入图片描述

用代码解释思路
#导包
import numpy as np

# 直接定义损失函数
def f(x):    
    return x**2-4*x+4
#导数
def h(x):   
    return 2*x-4 #损失函数的导数



x=16  # 定义初始横坐标为16
alpha=0.1  #步长或学习率为0.1
count=0 #用来记录迭代次数
x_td=1  #该值用来记录梯度下降时的x(t)与x(t+1)的差,在这里赋值1只要大于阈值就行,在这里1没有意义,只要大于阈值进入循环就行
error_rate =1e-10 #给定的阈值,梯度下降停止的标准 
while x_td>error_rate:
    print('梯度下降迭代第{}次,原始值为{}'.format(count, x),end='')
    x_td=alpha*h(x)# 因为x(t+1)-x(t) 差值就为alpha*h(x) 所以直接赋值给 x_td,要解释的是我们要用x位移的距离代替f(x)的下差降值,当x_td达到一个超级小的值的时候,f(x)的位移也是非常小的!
    x=x-alpha*h(x)
    count += 1
    print(',新x 值为{}极点值为{}'.format(x,f(x)))
print('迭代次数%d'%count)
print('极值点为(%f,%f)'%(x,f(x)))

out:

梯度下降迭代第0,原始值为16,新x 值为13.2极点值为125.43999999999998
梯度下降迭代第1,原始值为13.2,新x 值为10.959999999999999极点值为80.2816
梯度下降迭代第2,原始值为10.959999999999999,新x 值为9.168极点值为51.380223999999984
梯度下降迭代第3,原始值为9.168,新x 值为7.734399999999999极点值为32.88334335999999
梯度下降迭代第4,原始值为7.734399999999999,新x 值为6.58752极点值为21.045339750399997
梯度下降迭代第5,原始值为6.58752,新x 值为5.6700159999999995极点值为13.469017440256
梯度下降迭代第6,原始值为5.6700159999999995,新x 值为4.936012799999999极点值为8.620171161763835
梯度下降迭代第7,原始值为4.936012799999999,新x 值为4.34881024极点值为5.5169095435288575
梯度下降迭代第8,原始值为4.34881024,新x 值为3.879048192极点值为3.5308221078584694
梯度下降迭代第9,原始值为3.879048192,新x 值为3.5032385536极点值为2.2597261490294205
梯度下降迭代第10,原始值为3.5032385536,新x 值为3.2025908428800003极点值为1.446224735378829
梯度下降迭代第11,原始值为3.2025908428800003,新x 值为2.9620726743040002极点值为0.9255838306424504
梯度下降迭代第12,原始值为2.9620726743040002,新x 值为2.7696581394432003极点值为0.5923736516111688
梯度下降迭代第13,原始值为2.7696581394432003,新x 值为2.61572651155456极点值为0.3791191370311475
梯度下降迭代第14,原始值为2.61572651155456,新x 值为2.492581209243648极点值为0.24263624769993442
梯度下降迭代第15,原始值为2.492581209243648,新x 值为2.3940649673949186极点值为0.15528719852795803
梯度下降迭代第16,原始值为2.3940649673949186,新x 值为2.315251973915935极点值为0.09938380705789296
梯度下降迭代第17,原始值为2.315251973915935,新x 值为2.252201579132748极点值为0.06360563651705142
梯度下降迭代第18,原始值为2.252201579132748,新x 值为2.2017612633061985极点值为0.040707607370912946
梯度下降迭代第19,原始值为2.2017612633061985,新x 值为2.1614090106449586极点值为0.026052868717384214
梯度下降迭代第20,原始值为2.1614090106449586,新x 值为2.1291272085159667极点值为0.01667383597912586
梯度下降迭代第21,原始值为2.1291272085159667,新x 值为2.1033017668127734极点值为0.010671255026641013
梯度下降迭代第22,原始值为2.1033017668127734,新x 值为2.0826414134502187极点值为0.006829603217050284
梯度下降迭代第23,原始值为2.0826414134502187,新x 值为2.0661131307601748极点值为0.004370946058911862
梯度下降迭代第24,原始值为2.0661131307601748,新x 值为2.05289050460814极点值为0.002797405477704018
梯度下降迭代第25,原始值为2.05289050460814,新x 值为2.0423124036865117极点值为0.001790339505729932
梯度下降迭代第26,原始值为2.0423124036865117,新x 值为2.0338499229492095极点值为0.0011458172836675828
梯度下降迭代第27,原始值为2.0338499229492095,新x 值为2.0270799383593676极点值为0.0007333230615467201
梯度下降迭代第28,原始值为2.0270799383593676,新x 值为2.0216639506874943极点值为0.000469326759390043
梯度下降迭代第29,原始值为2.0216639506874943,新x 值为2.0173311605499955极点值为0.00030036912600994725
梯度下降迭代第30,原始值为2.0173311605499955,新x 值为2.0138649284399963极点值为0.0001922362406459044
梯度下降迭代第31,原始值为2.0138649284399963,新x 值为2.011091942751997极点值为0.00012303119401391172
梯度下降迭代第32,原始值为2.011091942751997,新x 值为2.0088735542015974极点值为7.873996416840612e-05
梯度下降迭代第33,原始值为2.0088735542015974,新x 值为2.0070988433612778极点值为5.039357706770886e-05
梯度下降迭代第34,原始值为2.0070988433612778,新x 值为2.0056790746890223极点值为3.2251889323653415e-05
梯度下降迭代第35,原始值为2.0056790746890223,新x 值为2.004543259751218极点值为2.0641209166782915e-05
梯度下降迭代第36,原始值为2.004543259751218,新x 值为2.0036346078009744极点值为1.321037386681212e-05
梯度下降迭代第37,原始值为2.0036346078009744,新x 值为2.0029076862407793极点值为8.454639274901865e-06
梯度下降迭代第38,原始值为2.0029076862407793,新x 值为2.0023261489926236极点值为5.410969135866139e-06
梯度下降迭代第39,原始值为2.0023261489926236,新x 值为2.001860919194099极点值为3.4630202465635307e-06
梯度下降迭代第40,原始值为2.001860919194099,新x 值为2.001488735355279极点值为2.2163329580493496e-06
梯度下降迭代第41,原始值为2.001488735355279,新x 值为2.001190988284223极点值为1.4184530927607852e-06
梯度下降迭代第42,原始值为2.001190988284223,新x 值为2.0009527906273785极点值为9.078099791892669e-07
梯度下降迭代第43,原始值为2.0009527906273785,新x 值为2.000762232501903极点值为5.809983871785107e-07
梯度下降迭代第44,原始值为2.000762232501903,新x 值为2.0006097860015224极点值为3.7183896761661117e-07
梯度下降迭代第45,原始值为2.0006097860015224,新x 值为2.000487828801218极点值为2.3797693948779397e-07
梯度下降迭代第46,原始值为2.000487828801218,新x 值为2.0003902630409742极点值为1.5230524130771528e-07
梯度下降迭代第47,原始值为2.0003902630409742,新x 值为2.0003122104327793极点值为9.747535401061214e-08
梯度下降迭代第48,原始值为2.0003122104327793,新x 值为2.0002497683462233极点值为6.238422667337318e-08
梯度下降迭代第49,原始值为2.0002497683462233,新x 值为2.0001998146769786极点值为3.992590524859452e-08
梯度下降迭代第50,原始值为2.0001998146769786,新x 值为2.000159851741583极点值为2.555257960779045e-08
梯度下降迭代第51,原始值为2.000159851741583,新x 值为2.0001278813932664极点值为1.6353650877931614e-08
梯度下降迭代第52,原始值为2.0001278813932664,新x 值为2.000102305114613极点值为1.0466336242132002e-08
梯度下降迭代第53,原始值为2.000102305114613,新x 值为2.0000818440916905极点值为6.6984551239102075e-09
梯度下降迭代第54,原始值为2.0000818440916905,新x 值为2.0000654752733524极点值为4.287011634573901e-09
梯度下降迭代第55,原始值为2.0000654752733524,新x 值为2.000052380218682极点值为2.7436870553287918e-09
梯度下降迭代第56,原始值为2.000052380218682,新x 值为2.0000419041749455极点值为1.755959821991837e-09
梯度下降迭代第57,原始值为2.0000419041749455,新x 值为2.0000335233399564极点值为1.1238139308034079e-09
梯度下降迭代第58,原始值为2.0000335233399564,新x 值为2.000026818671965极点值为7.192415552026432e-10
梯度下降迭代第59,原始值为2.000026818671965,新x 值为2.000021454937572极点值为4.603144532211445e-10
梯度下降迭代第60,原始值为2.000021454937572,新x 值为2.0000171639500577极点值为2.9460078820875424e-10
梯度下降迭代第61,原始值为2.0000171639500577,新x 值为2.0000137311600463极点值为1.8854517946920168e-10
梯度下降迭代第62,原始值为2.0000137311600463,新x 值为2.000010984928037极点值为1.2066880827887871e-10
梯度下降迭代第63,原始值为2.000010984928037,新x 值为2.0000087879424298极点值为7.722800177134559e-11
梯度下降迭代第64,原始值为2.0000087879424298,新x 值为2.000007030353944极点值为4.942624087789227e-11
梯度下降迭代第65,原始值为2.000007030353944,新x 值为2.000005624283155极点值为3.163247441761996e-11
梯度下降迭代第66,原始值为2.000005624283155,新x 值为2.0000044994265243极点值为2.0245138898644655e-11
梯度下降迭代第67,原始值为2.0000044994265243,新x 值为2.0000035995412193极点值为1.2956746786585427e-11
梯度下降迭代第68,原始值为2.0000035995412193,新x 值为2.0000028796329756极点值为8.292033726320369e-12
梯度下降迭代第69,原始值为2.0000028796329756,新x 值为2.0000023037063803极点值为5.306866057708248e-12
梯度下降迭代第70,原始值为2.0000023037063803,新x 值为2.000001842965104极点值为3.396394276933279e-12
梯度下降迭代第71,原始值为2.000001842965104,新x 值为2.000001474372083极点值为2.1733725930062064e-12
梯度下降迭代第72,原始值为2.000001474372083,新x 值为2.0000011794976666极点值为1.3908874052503961e-12
梯度下降迭代第73,原始值为2.0000011794976666,新x 值为2.0000009435981334极点值为8.899547765395255e-13
梯度下降迭代第74,原始值为2.0000009435981334,新x 值为2.000000754878507极点值为5.702105454474804e-13
梯度下降迭代第75,原始值为2.000000754878507,新x 值为2.0000006039028055极点值为3.6504133049675147e-13
梯度下降迭代第76,原始值为2.0000006039028055,新x 值为2.0000004831222444极点值为2.3359092438113294e-13
梯度下降迭代第77,原始值为2.0000004831222444,新x 值为2.0000003864977955极点值为1.4921397450962104e-13
梯度下降迭代第78,原始值为2.0000003864977955,新x 值为2.0000003091982363极点值为9.592326932761353e-14
梯度下降迭代第79,原始值为2.0000003091982363,新x 值为2.000000247358589极点值为6.128431095930864e-14
梯度下降迭代第80,原始值为2.000000247358589,新x 值为2.0000001978868713极点值为3.907985046680551e-14
梯度下降迭代第81,原始值为2.0000001978868713,新x 值为2.000000158309497极点值为2.4868995751603507e-14
梯度下降迭代第82,原始值为2.000000158309497,新x 值为2.0000001266475977极点值为1.5987211554602254e-14
梯度下降迭代第83,原始值为2.0000001266475977,新x 值为2.0000001013180784极点值为1.0658141036401503e-14
梯度下降迭代第84,原始值为2.0000001013180784,新x 值为2.0000000810544627极点值为6.217248937900877e-15
梯度下降迭代第85,原始值为2.0000000810544627,新x 值为2.00000006484357极点值为4.440892098500626e-15
梯度下降迭代第86,原始值为2.00000006484357,新x 值为2.000000051874856极点值为2.6645352591003757e-15
梯度下降迭代第87,原始值为2.000000051874856,新x 值为2.000000041499885极点值为1.7763568394002505e-15
梯度下降迭代第88,原始值为2.000000041499885,新x 值为2.0000000331999077极点值为8.881784197001252e-16
梯度下降迭代第89,原始值为2.0000000331999077,新x 值为2.0000000265599263极点值为8.881784197001252e-16
梯度下降迭代第90,原始值为2.0000000265599263,新x 值为2.000000021247941极点值为8.881784197001252e-16
梯度下降迭代第91,原始值为2.000000021247941,新x 值为2.000000016998353极点值为0.0
梯度下降迭代第92,原始值为2.000000016998353,新x 值为2.000000013598682极点值为0.0
梯度下降迭代第93,原始值为2.000000013598682,新x 值为2.0000000108789457极点值为0.0
梯度下降迭代第94,原始值为2.0000000108789457,新x 值为2.0000000087031564极点值为0.0
梯度下降迭代第95,原始值为2.0000000087031564,新x 值为2.0000000069625252极点值为0.0
梯度下降迭代第96,原始值为2.0000000069625252,新x 值为2.00000000557002极点值为0.0
梯度下降迭代第97,原始值为2.00000000557002,新x 值为2.000000004456016极点值为0.0
梯度下降迭代第98,原始值为2.000000004456016,新x 值为2.000000003564813极点值为0.0
梯度下降迭代第99,原始值为2.000000003564813,新x 值为2.0000000028518503极点值为0.0
梯度下降迭代第100,原始值为2.0000000028518503,新x 值为2.0000000022814803极点值为0.0
梯度下降迭代第101,原始值为2.0000000022814803,新x 值为2.0000000018251844极点值为0.0
梯度下降迭代第102,原始值为2.0000000018251844,新x 值为2.0000000014601476极点值为0.0
梯度下降迭代第103,原始值为2.0000000014601476,新x 值为2.000000001168118极点值为0.0
梯度下降迭代第104,原始值为2.000000001168118,新x 值为2.0000000009344943极点值为0.0
梯度下降迭代第105,原始值为2.0000000009344943,新x 值为2.0000000007475953极点值为0.0
梯度下降迭代第106,原始值为2.0000000007475953,新x 值为2.0000000005980763极点值为0.0
梯度下降迭代第107,原始值为2.0000000005980763,新x 值为2.000000000478461极点值为0.0
梯度下降迭代第108,原始值为2.000000000478461,新x 值为2.0000000003827685极点值为0.0
迭代次数109
极值点为(2.000000,0.000000
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Captain_Data

打赏一下~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值