ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

微分,偏导数和梯度以及梯度下降算法笔记

2022-09-11 17:00:56  阅读:165  来源: 互联网

标签:误差 函数 导数 梯度 微分 x0 代价


摘自各个视频,为个人笔记,勿喷我抄袭谢谢。

一:关于微分

补一下数学知识。有些遗忘了。又想起了去年刚开始考研的日子,还挺怀念。

1:

对于y = f(x) = 3x   

x0->x0+Δx

Δy = f(x0+Δx)-f(x0) = 3(x0+Δx)-3x0 = 3Δx

发现,Δy和Δx两者成线性关系。

对于y = f(x) = x^2

Δy = f(x0+Δx)-f(x0) = (x0+Δx)^2-x0^2 = 2x0Δx+Δx^2

发现,Δy和Δx两者非线性关系了。

对于y = f(x) = x^3

Δy = 3x0^2*Δx+3x0(Δx)^2+(Δx)^3

 

但是当Δx——>0  ,以上平方,三次方都是高阶无穷小了,几乎可以忽略。

可微的定义:在点处,Δy=AΔx+o(Δx) , 满足线性关系。可以发现,以上三个函数都符合此。

对于:Δy=AΔx+o(Δx)  (Δx——>0)

(1) A = ?

 

 A,即为导数了。

(2)几何意义

Δy=f'(x0) * Δx+o(Δx)  此式在Δx很小的时候成立,x0领域内

Δy=f'(x0) * Δx

y-y0 = f'(x0) * (x-x0)

那么,f'(x0) = (y-y0)/(x-x0),此即为y = f(x)在x0处的切线方程。点斜式。

 

二:偏导数和梯度

动画演示:https://www.bilibili.com/video/BV1sW411775X?spm_id_from=333.337.search-card.all.click&vd_source=d626468b26cb071e232b1cfc6c787990

对于:z=F(x,y)

1:坐标系:

 

 2:z对y和x的偏导数

 

 此时,我们固定x不动,沿着这条线改变y值,z值在不停变化。从此图的正面看,不就是,关于z和y的一元函数图像么。z的增量除以y的增量,为对应的图中的斜率。此即为Z对Y的偏导数

同样的,固定y,得Z对X的偏导数

3:向量相加

 

如果我们将这两个箭头以向量相加,就得到了一个新箭头。  

 

 

 

为该点最大的变化率,方向为该点最大的变化方向。

三:梯度下降算法

参考视频:https://www.bilibili.com/video/BV18P4y1j7uH?spm_id_from=333.337.search-card.all.click&vd_source=d626468b26cb071e232b1cfc6c787990

机器学习的一个常见任务是,通过学习算法,自动发现数据背后的规律,不断改进模型,然后做出预测

1:举个例子:

设计一个算法,让机器能够拟合这些数据,帮助算出w

(1)

一个简单的方法:随机选择一条直线,计算所有样本点和它的偏离程度。再根据误差大小,再来调整w

此处y=wx为预测函数

(2)找到差距--代价函数

我们需要量化数据的偏离程度,即误差。一个常见的方法:均方误差,即误差平法和的平均值。

对于一个点 p1(x1,y1) ,对应的误差为e1

 

 

得到这些:

 

 

而目的是求所有点误差的平均值。e=(e1+e2....+en) / n

即:

将框内的用abc表示有:

 

 

e=a*w^2+b*w+c ,此被称为代价函数(loss function),a>0,因此对应一个开口向上的抛物线。

 

(3)明确搜索方向--梯度计算

机器学习的目标:拟合出最接近训练数据分布的直线,也就是找到使得误差代价最小的参数w。对应到代价函数的图像上,就是它的最低点,寻找最低点的过程,就是:梯度下降要做的事。

对于代价函数图像,假定起始点在曲线上任意一处。直觉告诉我们,只要向陡峭程度最大的方向走,就能更快到达最低点。这个陡峭程度就是梯度:Gradient。它是代价函数的导数。对抛物线而言就是曲线的斜率。

(4)大胆地往前走吗?--学习率

步子该迈多大?

新w = 旧w - 斜率*学习率

学习率通俗的说就是步长 每一次训练梯度下降的效率。

(5)不达目标不罢休--循环迭代

梯度下降的完整过程为:

 

直到找到最低点。

2:实际情况

实际情况并没有如此简单了。代价函数可能是波浪线,可能是起伏不定的曲面,或者更复杂的~ 但是无论有多少维度,都可以使用梯度下降法,来寻找误差最小的点。

标签:误差,函数,导数,梯度,微分,x0,代价
来源: https://www.cnblogs.com/liyexin/p/16684081.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有