国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Python和梯度下降算法的物理實(shí)驗(yàn)數(shù)據(jù)一元線性擬合方法

2019-10-18 08:08:26關(guān)毅鉻
物理通報(bào) 2019年10期
關(guān)鍵詞:優(yōu)度步長(zhǎng)梯度

關(guān)毅鉻

(華南師范大學(xué)物理與電信工程學(xué)院 廣東 廣州 510006)

回歸分析中,只包括一個(gè)自變量和一個(gè)因變量,且二者的關(guān)系可用一條直線近似表示,這種回歸分析稱為一元線性回歸分析.梯度下降法是一種最優(yōu)化算法,常用于機(jī)器學(xué)習(xí)和人工智能中用來遞歸性地逼近最小偏差模型,對(duì)數(shù)據(jù)量大,關(guān)系復(fù)雜,很難得到解析解的函數(shù)關(guān)系來說十分有效[1].它是迭代法的一種,可以用于求解最小二乘法問題.所以我們也可以用梯度下降法來處理呈線性關(guān)系的實(shí)驗(yàn)數(shù)據(jù).

1 梯度下降法的介紹

1.1 梯度下降法

一元線性回歸其實(shí)就是去找到一條直線,這條直線能以最小的誤差來擬合數(shù)據(jù).

如圖1所示,橫坐標(biāo)表示x,縱坐標(biāo)表示y.一元線性回歸要找的就是圖中的這條直線,用y=b+mx表示.但是,所有的點(diǎn)都在這條擬合直線上肯定不現(xiàn)實(shí),所以這些點(diǎn)要盡量靠近這條直線.即去找每個(gè)點(diǎn)和直線的距離|yie=b+mxi|最小的那條線.為了簡(jiǎn)單起見,將絕對(duì)值轉(zhuǎn)化為平方,那么誤差可以表示為

這里i表示第i個(gè)數(shù)據(jù),N表示總的樣本個(gè)數(shù).把這個(gè)損失方程看作是m和b的方程.作為一個(gè)m和b的二次方程,那么求損失函數(shù)最小值的問題就轉(zhuǎn)變成了求極值問題.我們可以用梯度下降法求解m和b的值以確定擬合直線.

圖1 一元線性回歸擬合原理

為了更好地理解梯度下降法,這里把損失函數(shù)想象成一個(gè)碗,而函數(shù)的最小值就是碗底,如圖2(a)所示.不管位于這個(gè)碗的什么位置,只要往下走,也就是往梯度方向走,沿著梯度一點(diǎn)一點(diǎn)滑下去,就能達(dá)到這個(gè)最低點(diǎn).梯度就是下面兩個(gè)式子.

接下來就要定義步長(zhǎng),用來表示每次滑多長(zhǎng),再定義一個(gè)迭代值用來表示滑多少次,這樣就能一點(diǎn)一點(diǎn)地靠近最小值.定義好這兩個(gè)值,計(jì)算機(jī)就可以一邊求梯度,一邊向下滑,去更新m和b,最后得到損失函數(shù)最小時(shí)對(duì)應(yīng)的m和b的值.

也可以這樣理解梯度下降法.如圖2(b)所示,每一個(gè)圈代表一個(gè)函數(shù)梯度,最中心表示函數(shù)極值點(diǎn),每次迭代根據(jù)當(dāng)前位置求得的梯度(用于確定搜索方向以及與步長(zhǎng)共同決定前進(jìn)速度)和步長(zhǎng)找到一個(gè)新的位置,這樣不斷迭代最終到達(dá)目標(biāo)函數(shù)局部最優(yōu)點(diǎn)(如果目標(biāo)函數(shù)是凸函數(shù),則到達(dá)全局最優(yōu)點(diǎn)).

實(shí)現(xiàn)梯度下降法的主要Python代碼如下所示.

def optimizer(starting_b,starting_m,learning_rate,num_iter):

b = starting_b

m = starting_m

for i in range(num_iter):

b,m =compute_gradient(b,m,learning_rate)

return [b,m]

def compute_gradient(b_current,m_current,learning_rate):

b_gradient = 0

m_gradient = 0

N = float(len(data))

b_gradient = -(2/N)*(y-

m_current*x-b_current)

b_gradient = np.sum(b_gradient,axis=0)

m_gradient = -(2/N)*x*(y-

m_current*x-b_current)

m_gradient = np.sum(m_gradient,axis=0)

new_b = b_current - (learning_rate * b_gradient)

new_m = m_current - (learning_rate * m_gradient)

return [new_b,new_m]

1.2 檢驗(yàn)擬合結(jié)果的指標(biāo)

求出m和b的具體數(shù)值,即找到了擬合的直線.一般數(shù)據(jù)處理中會(huì)用相關(guān)系數(shù)r檢驗(yàn)兩變量的相關(guān)性,用擬合優(yōu)度R2檢驗(yàn)回歸直線的擬合程度.

相關(guān)關(guān)系是一種非確定性的關(guān)系,相關(guān)系數(shù)是研究變量之間線性相關(guān)程度的量.相關(guān)系數(shù)又叫線性相關(guān)系數(shù),一般用字母r表示,用來度量?jī)蓚€(gè)變量間的線性關(guān)系.當(dāng)r接近于±1時(shí),可以說兩個(gè)變量相關(guān)性比較好.

相關(guān)系數(shù)公式為[2]

擬合優(yōu)度是指回歸直線對(duì)觀測(cè)值的擬合程度.度量擬合優(yōu)度的統(tǒng)計(jì)量是可決系數(shù)R2.R2最大值為1.R2的值越接近1,說明回歸直線對(duì)觀測(cè)值的擬合程度越好;反之,R2的值越接近零,說明回歸直線對(duì)觀測(cè)值的擬合程度越差.

擬合優(yōu)度公式為[3]:

2 用Python處理3個(gè)物理實(shí)驗(yàn)數(shù)據(jù)

2.1 光電效應(yīng)測(cè)普朗克常量[5](5個(gè)點(diǎn))

根據(jù)愛因斯坦的光電效應(yīng)方程

可以推導(dǎo)出普朗克常量

根據(jù)實(shí)驗(yàn)數(shù)據(jù)擬合出遏止電壓和頻率的二元一次方程,求出斜率k,便可求得普朗克常量h=ek.

實(shí)驗(yàn)數(shù)據(jù)和運(yùn)用Python實(shí)現(xiàn)梯度下降法的結(jié)果,如表1和圖3所示.

圖3 Python實(shí)現(xiàn)遏止電壓和頻率一元線性擬合

2.2 光泵磁共振測(cè)朗德因子gF[4](10個(gè)點(diǎn))

光泵磁共振實(shí)驗(yàn)中,共振條件為

hν=ΔE=gFμBB0

此式可改寫為

顯然,ν和B之間為線性關(guān)系.即使考慮地磁場(chǎng)水平分量和掃場(chǎng)直流分量的影響,擬合直線的斜率也不會(huì)改變.設(shè)擬合的直線方程為

ν=a0+a1B

則斜率

從而

可見只要求出直線斜率a1,代入上式便可求得gF的值.

實(shí)驗(yàn)數(shù)據(jù)和運(yùn)用Python實(shí)現(xiàn)梯度下降法的結(jié)果,如表2和圖4所示.

表2 光泵磁共振測(cè)85Rb朗德因子實(shí)驗(yàn)數(shù)據(jù)

圖4 Python實(shí)現(xiàn)頻率和水平磁場(chǎng)一元線性擬合

2.3 偏振光實(shí)驗(yàn)驗(yàn)證馬呂斯定律[5](16個(gè)點(diǎn))

馬呂斯定律為Iθ=I0cos2θ.顯然,Iθ和cos2θ為線性關(guān)系.大學(xué)物理實(shí)驗(yàn)中一般用偏振光實(shí)驗(yàn)驗(yàn)證馬呂斯定律.

實(shí)驗(yàn)數(shù)據(jù)和運(yùn)用Python實(shí)現(xiàn)梯度下降法的結(jié)果,如表3和圖5所示.

表3 偏振光實(shí)驗(yàn)驗(yàn)證馬呂斯定律實(shí)驗(yàn)數(shù)據(jù)

圖5 Python實(shí)現(xiàn)Iθ和cos2θ一元線性擬合

3 結(jié)果分析和結(jié)論

本研究在實(shí)現(xiàn)梯度下降法時(shí),設(shè)置步長(zhǎng)為0.001,迭代值為75 000.我們可以根據(jù)實(shí)際情況,調(diào)大步長(zhǎng)或調(diào)小迭代值,從而提高計(jì)算速度.

光電效應(yīng)求普朗克常量中,Excel得出的擬合優(yōu)度R2=0.9899,梯度下降法得到的擬合優(yōu)度R2=0.989 8;光泵磁共振測(cè)朗德因子中,Excel得出的擬合優(yōu)度R2=0.999 7,梯度下降法的擬合優(yōu)度R2=0.999 6;驗(yàn)證馬呂斯定律中,Excel得出的擬合優(yōu)度R2=0.9991,梯度下降法得到的擬合優(yōu)度R2=0.999 0.可見,Excel的R2和梯度下降法的R2結(jié)果基本一致.相關(guān)系數(shù)r和擬合優(yōu)度R2在保留有效數(shù)字時(shí),通常保留4位,而且只舍不入[7].而Excel的結(jié)果默認(rèn)四舍五入,所以兩者結(jié)果其實(shí)是一樣的.

梯度下降法與Excel的最小二乘法相比,梯度下降法需要選擇步長(zhǎng),而最小二乘法不需要.梯度下降法是迭代求解,最小二乘法是計(jì)算解析解.物理實(shí)驗(yàn)數(shù)據(jù)處理中,樣本量不算很大,梯度下降法與最小二乘法的計(jì)算速度大致相同,結(jié)果也相同.采用Python和梯度下降算法對(duì)我們了解深度學(xué)習(xí)和人工智能研究及處理相關(guān)數(shù)據(jù)有啟發(fā)意義.

猜你喜歡
優(yōu)度步長(zhǎng)梯度
基于Armijo搜索步長(zhǎng)的BFGS與DFP擬牛頓法的比較研究
一個(gè)改進(jìn)的WYL型三項(xiàng)共軛梯度法
勘 誤 聲 明
如何正確運(yùn)用χ2檢驗(yàn)
——擬合優(yōu)度檢驗(yàn)與SAS實(shí)現(xiàn)
一種自適應(yīng)Dai-Liao共軛梯度法
一類扭積形式的梯度近Ricci孤立子
可拓方法的優(yōu)度評(píng)價(jià)在輸氣管優(yōu)化設(shè)計(jì)中的應(yīng)用
基于逐維改進(jìn)的自適應(yīng)步長(zhǎng)布谷鳥搜索算法
可拓優(yōu)度評(píng)價(jià)法在CRM軟件供應(yīng)商選擇中的應(yīng)用
科技與管理(2014年4期)2014-12-31 11:25:39
一種新型光伏系統(tǒng)MPPT變步長(zhǎng)滯環(huán)比較P&O法
乾安县| 宁蒗| 荆州市| 伽师县| 天气| 宁河县| 个旧市| 繁昌县| 稻城县| 西和县| 汝南县| 沽源县| 湖北省| 琼结县| 九龙坡区| 富阳市| 亚东县| 武山县| 措勤县| 历史| 泰和县| 澄城县| 昭觉县| 监利县| 松阳县| 新邵县| 长乐市| 应用必备| 江山市| 句容市| 襄汾县| 大安市| 呈贡县| 常山县| 托里县| 黄平县| 叙永县| 东乡族自治县| 沂南县| 民勤县| 迭部县|