日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ML重要概念:梯度(Gradient)与梯度下降法(Gradient Descent)

發(fā)布時(shí)間:2025/3/21 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ML重要概念:梯度(Gradient)与梯度下降法(Gradient Descent) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

引言

 機(jī)器學(xué)習(xí)欄目記錄我在學(xué)習(xí)Machine Learning過程的一些心得筆記,涵蓋線性回歸、邏輯回歸、Softmax回歸、神經(jīng)網(wǎng)絡(luò)和SVM等等,主要學(xué)習(xí)資料來自網(wǎng)上的免費(fèi)課程和一些經(jīng)典書籍,免費(fèi)課程例如Standford Andrew Ng老師在Coursera的教程以及UFLDL Tutorial,經(jīng)典書籍例如《統(tǒng)計(jì)學(xué)習(xí)方法》等,同時(shí)也參考了大量網(wǎng)上的相關(guān)資料(在后面列出)。
  
 

前言

 機(jī)器學(xué)習(xí)中的大部分問題都是優(yōu)化問題,而絕大部分優(yōu)化問題都可以使用梯度下降法處理,那么搞懂什么是梯度,什么是梯度下降法就非常重要!這是基礎(chǔ)中的基礎(chǔ),也是必須掌握的概念!
 提到梯度,就必須從導(dǎo)數(shù)(derivative)、偏導(dǎo)數(shù)(partial derivative)和方向?qū)?shù)(directional derivative)講起,弄清楚這些概念,才能夠正確理解為什么在優(yōu)化問題中使用梯度下降法來優(yōu)化目標(biāo)函數(shù),并熟練掌握梯度下降法(Gradient Descent)。

 本文主要記錄我在學(xué)習(xí)機(jī)器學(xué)習(xí)過程中對(duì)梯度概念復(fù)習(xí)的筆記,主要參考《高等數(shù)學(xué)》《簡明微積分》以及維基百科上的資料為主,文章小節(jié)安排如下:
 1)導(dǎo)數(shù)
 2)導(dǎo)數(shù)和偏導(dǎo)數(shù)
 3)導(dǎo)數(shù)與方向?qū)?shù)
 4)導(dǎo)數(shù)與梯度
 5)梯度下降法
 6)參考資料
 7)結(jié)語
 

導(dǎo)數(shù)

 一張圖讀懂導(dǎo)數(shù)與微分:
 
 這是高數(shù)中的一張經(jīng)典圖,如果忘記了導(dǎo)數(shù)微分的概念,基本看著這張圖就能全部想起來。
 導(dǎo)數(shù)定義如下:
 
 反映的是函數(shù)y=f(x)在某一點(diǎn)處沿x軸正方向的變化率。再強(qiáng)調(diào)一遍,是函數(shù)f(x)在x軸上某一點(diǎn)處沿著x軸正方向的變化率/變化趨勢。直觀地看,也就是在x軸上某一點(diǎn)處,如果f’(x)>0,說明f(x)的函數(shù)值在x點(diǎn)沿x軸正方向是趨于增加的;如果f’(x)<0,說明f(x)的函數(shù)值在x點(diǎn)沿x軸正方向是趨于減少的。

 這里補(bǔ)充上圖中的Δy、dy等符號(hào)的意義及關(guān)系如下:
 Δx:x的變化量;
 dx:x的變化量Δx趨于0時(shí),則記作微元dx;
 Δy:Δy=f(x0+Δx)-f(x0),是函數(shù)的增量;
 dy:dy=f’(x0)dx,是切線的增量;
 當(dāng)Δx→0時(shí),dy與Δy都是無窮小,dy是Δy的主部,即Δy=dy+o(Δx).
 

導(dǎo)數(shù)和偏導(dǎo)數(shù)

 偏導(dǎo)數(shù)的定義如下:
 
 可以看到,導(dǎo)數(shù)與偏導(dǎo)數(shù)本質(zhì)是一致的,都是當(dāng)自變量的變化量趨于0時(shí),函數(shù)值的變化量與自變量變化量比值的極限。直觀地說,偏導(dǎo)數(shù)也就是函數(shù)在某一點(diǎn)上沿坐標(biāo)軸正方向的的變化率。
 區(qū)別在于:
 導(dǎo)數(shù),指的是一元函數(shù)中,函數(shù)y=f(x)在某一點(diǎn)處沿x軸正方向的變化率;
 偏導(dǎo)數(shù),指的是多元函數(shù)中,函數(shù)y=f(x1,x2,…,xn)在某一點(diǎn)處沿某一坐標(biāo)軸(x1,x2,…,xn)正方向的變化率。
 

導(dǎo)數(shù)與方向?qū)?shù):

 方向?qū)?shù)的定義如下:
 
 在前面導(dǎo)數(shù)和偏導(dǎo)數(shù)的定義中,均是沿坐標(biāo)軸正方向討論函數(shù)的變化率。那么當(dāng)我們討論函數(shù)沿任意方向的變化率時(shí),也就引出了方向?qū)?shù)的定義,即:某一點(diǎn)在某一趨近方向上的導(dǎo)數(shù)值。
 通俗的解釋是:
 我們不僅要知道函數(shù)在坐標(biāo)軸正方向上的變化率(即偏導(dǎo)數(shù)),而且還要設(shè)法求得函數(shù)在其他特定方向上的變化率。而方向?qū)?shù)就是函數(shù)在其他特定方向上的變化率。
 

導(dǎo)數(shù)與梯度

 梯度的定義如下:
 
 梯度的提出只為回答一個(gè)問題:
 函數(shù)在變量空間的某一點(diǎn)處,沿著哪一個(gè)方向有最大的變化率?
 梯度定義如下:
 函數(shù)在某一點(diǎn)的梯度是這樣一個(gè)向量,它的方向與取得最大方向?qū)?shù)的方向一致,而它的模為方向?qū)?shù)的最大值。
 這里注意三點(diǎn):
 1)梯度是一個(gè)向量,即有方向有大小;
 2)梯度的方向是最大方向?qū)?shù)的方向;
 3)梯度的值是最大方向?qū)?shù)的值。
 

導(dǎo)數(shù)與向量

 提問:導(dǎo)數(shù)與偏導(dǎo)數(shù)與方向?qū)?shù)是向量么?
 向量的定義是有方向(direction)有大小(magnitude)的量。
 從前面的定義可以這樣看出,偏導(dǎo)數(shù)和方向?qū)?shù)表達(dá)的是函數(shù)在某一點(diǎn)沿某一方向的變化率,也是具有方向和大小的。因此從這個(gè)角度來理解,我們也可以把偏導(dǎo)數(shù)和方向?qū)?shù)看作是一個(gè)向量,向量的方向就是變化率的方向,向量的模,就是變化率的大小。
 那么沿著這樣一種思路,就可以如下理解梯度:
 梯度即函數(shù)在某一點(diǎn)最大的方向?qū)?shù),函數(shù)沿梯度方向函數(shù)有最大的變化率。
 
 

梯度下降法

 既然在變量空間的某一點(diǎn)處,函數(shù)沿梯度方向具有最大的變化率,那么在優(yōu)化目標(biāo)函數(shù)的時(shí)候,自然是沿著負(fù)梯度方向去減小函數(shù)值,以此達(dá)到我們的優(yōu)化目標(biāo)。
 如何沿著負(fù)梯度方向減小函數(shù)值呢?既然梯度是偏導(dǎo)數(shù)的集合,如下:
 
 同時(shí)梯度和偏導(dǎo)數(shù)都是向量,那么參考向量運(yùn)算法則,我們?cè)诿總€(gè)變量軸上減小對(duì)應(yīng)變量值即可,梯度下降法可以描述如下:
 
 
 以上就是梯度下降法的由來,大部分的機(jī)器學(xué)習(xí)任務(wù),都可以利用Gradient Descent來進(jìn)行優(yōu)化。

?

總結(jié)

以上是生活随笔為你收集整理的ML重要概念:梯度(Gradient)与梯度下降法(Gradient Descent)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。