中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

怎么申請(qǐng)公司網(wǎng)站互動(dòng)營銷的案例及分析

怎么申請(qǐng)公司網(wǎng)站,互動(dòng)營銷的案例及分析,中山市網(wǎng)站建設(shè),怎樣利用網(wǎng)站做推廣丹尼爾林肯 (Daniel Lincoln)在Unsplash上拍攝的照片 一、說明 基于動(dòng)量的梯度下降是一種梯度下降優(yōu)化算法變體,它在更新規(guī)則中添加了動(dòng)量項(xiàng)。動(dòng)量項(xiàng)計(jì)算為過去梯度的移動(dòng)平均值,過去梯度的權(quán)重由稱為 Beta 的超參數(shù)控制。 這有助于解決與普通梯度下降相…

丹尼爾·林肯 (Daniel Lincoln)在Unsplash上拍攝的照片

一、說明

????????基于動(dòng)量的梯度下降是一種梯度下降優(yōu)化算法變體,它在更新規(guī)則中添加了動(dòng)量項(xiàng)。動(dòng)量項(xiàng)計(jì)算為過去梯度的移動(dòng)平均值,過去梯度的權(quán)重由稱為 Beta 的超參數(shù)控制。

????????這有助于解決與普通梯度下降相關(guān)的一些問題,例如振蕩、收斂速度慢以及陷入局部最小值。

????????基于動(dòng)量的梯度下降背后的基本直覺是物理學(xué)中動(dòng)量的概念。一個(gè)經(jīng)典而簡(jiǎn)單的例子是,一個(gè)球從山上滾下來,它聚集了足夠的動(dòng)量來克服高原區(qū)域,使其達(dá)到全局最小值,而不是陷入局部最小值。Momentum 為下降問題的參數(shù)更新添加了歷史記錄,從而顯著加速了優(yōu)化過程。

????????更新方程中包含的歷史量由超參數(shù)確定。該超參數(shù)的值范圍為0到1,其中動(dòng)量值為0相當(dāng)于沒有動(dòng)量的梯度下降。動(dòng)量值越高意味著考慮過去(歷史)的更多梯度。

二、梯度下降的問題

讓我們首先概述一些影響普通梯度下降算法的問題。

  1. 局部極小值

梯度下降可能會(huì)陷入局部最小值,即不是成本函數(shù)的全局最小值但仍低于周圍點(diǎn)的點(diǎn)。當(dāng)成本函數(shù)有多個(gè)谷值時(shí),就會(huì)發(fā)生這種情況,并且算法陷入其中而不是達(dá)到全局最小值,如下所示:

所有圖像均由作者創(chuàng)建

2. 鞍點(diǎn)

鞍點(diǎn)是成本函數(shù)中的一個(gè)點(diǎn),其中一個(gè)維度具有比周圍點(diǎn)更高的值,而另一個(gè)維度具有更低的值。梯度下降可能會(huì)在這些點(diǎn)上陷入困??境,因?yàn)橐粋€(gè)方向上的梯度指向較低的值,而另一個(gè)方向上的梯度則指向較高的值。

3. 高原期

平穩(wěn)是成本函數(shù)中梯度非常小或接近于零的區(qū)域。這可能會(huì)導(dǎo)致梯度下降需要很長(zhǎng)時(shí)間或不收斂。

4. 振蕩

當(dāng)學(xué)習(xí)率太高時(shí)就會(huì)出現(xiàn)振蕩,導(dǎo)致算法超過最小值并來回振蕩。

梯度下降還面臨其他一些困難,其中最值得注意和廣泛討論的是梯度消失和梯度爆炸。

三、基于動(dòng)量的梯度下降如何工作

????????在研究了梯度下降的問題以及提出增強(qiáng)和改進(jìn)的動(dòng)機(jī)之后,讓我們繼續(xù)討論梯度下降的實(shí)際工作原理。這只需要一些基本的代數(shù),并且會(huì)用簡(jiǎn)單的英語進(jìn)行解釋。

????????常規(guī)梯度下降的基本表達(dá)式如下:

這里,w_t是當(dāng)前時(shí)間步的權(quán)重,w_{t-1}是上一個(gè)時(shí)間步的權(quán)重,η是學(xué)習(xí)率,最后一項(xiàng)是損失函數(shù)相對(duì)于權(quán)重的偏導(dǎo)數(shù)上一步(又名漸變)。

現(xiàn)在,我們必須包含動(dòng)量項(xiàng)并修改更新方程以考慮新的超參數(shù)和動(dòng)量。

這里,V_t定義為:

該方程稱為指數(shù)加權(quán)平均值。β 是我們的動(dòng)量超參數(shù)。當(dāng) β = 0 時(shí),方程與普通梯度下降相同。

我們從 V_0 = 0 開始,并將方程更新為 t= 1…n。

使用Codecog制作

替換:

簡(jiǎn)化:

現(xiàn)在,

替換:

簡(jiǎn)化:

概括:

廣義求和包括通過所有迭代建立的所有先前梯度。

四、超參數(shù) Beta

現(xiàn)在的問題是我們將新的超參數(shù) β 設(shè)置為什么。

如果我們將其設(shè)置為一個(gè)較低的值,例如0.1,那么t=3時(shí)的梯度將貢獻(xiàn)其值的100%,t=2時(shí)的梯度將貢獻(xiàn)其值的10%,而t=1時(shí)的梯度將僅貢獻(xiàn)其值。貢獻(xiàn)其價(jià)值的1%。您可以看到,如果我們將 β 設(shè)置得太低,早期梯度的貢獻(xiàn)會(huì)迅速減少。

另一方面,如果我們?yōu)?β 設(shè)置一個(gè)較高的值,例如 0.9,則 t=3 時(shí)的梯度將貢獻(xiàn)其值的 100%,t=2 時(shí)的梯度將貢獻(xiàn)其值的 90%,而 t=3 時(shí)的梯度將貢獻(xiàn)其值的 90%。 t=1將貢獻(xiàn)其價(jià)值的81%。

我們得出的結(jié)論是,較高的 β 將包含更多來自過去的梯度。這就是動(dòng)力的含義以及它如何在整個(gè)過程中建立起來。

五、使用 NumPy 在 Python 中實(shí)現(xiàn)

????????這是帶有動(dòng)量的梯度下降的實(shí)現(xiàn),以及與普通梯度下降的逐步解釋和輸出比較。在深入實(shí)現(xiàn)之前,我們先了解一下普通梯度下降和動(dòng)量梯度下降之間的區(qū)別:

普通梯度下降:
1. 計(jì)算損失函數(shù)相對(duì)于參數(shù)的梯度。
2. 通過從當(dāng)前參數(shù)值中減去梯度大小的一小部分(學(xué)習(xí)率)來更新參數(shù)。
3. 重復(fù)步驟 1 和 2,直到達(dá)到收斂。

帶動(dòng)量的梯度下降:
1. 計(jì)算損失函數(shù)相對(duì)于參數(shù)的梯度。
2. 計(jì)算步驟 1 中梯度的指數(shù)加權(quán)移動(dòng)平均值(動(dòng)量)。
3. 通過使用動(dòng)量項(xiàng)修改普通梯度下降中的更新步驟來更新參數(shù)。
4. 重復(fù)步驟 1-3,直至達(dá)到收斂。

現(xiàn)在,我們來看看實(shí)現(xiàn)過程:

import numpy as npdef gradient_descent_momentum(X, y, learning_rate=0.01, momentum=0.9, num_iterations=100):# Initialize the parametersnum_samples, num_features = X.shapetheta = np.zeros(num_features)# Initialize the velocity vectorvelocity = np.zeros_like(theta)# Perform iterationsfor iteration in range(num_iterations):# Compute the predictions and errorspredicted = np.dot(X, theta)errors = predicted - y# Compute the gradientsgradients = (1/num_samples) * np.dot(X.T, errors)# Update the velocityvelocity = momentum * velocity + learning_rate * gradients# Update the parameterstheta -= velocity# Compute the mean squared errormse = np.mean(errors**2)# Print the MSE at each iterationprint(f"Iteration {iteration+1}, MSE: {mse}")return theta
Now, let’s compare the output of Gradient Descent with Momentum to Vanilla Gradient Descent using a simple linear regression problem:# Generate some random data
np.random.seed(42)
X = np.random.rand(100, 1)
y = 2 + 3 * X + np.random.randn(100, 1)# Apply Gradient Descent with Momentum
theta_momentum = gradient_descent_momentum(X, y, learning_rate=0.1, momentum=0.9, num_iterations=100)# Apply Vanilla Gradient Descent
theta_vanilla = gradient_descent(X, y, learning_rate=0.1, num_iterations=100)

????????現(xiàn)在,讓我們使用簡(jiǎn)單的線性回歸問題將動(dòng)量梯度下降與普通梯度下降的輸出進(jìn)行比較:

# Generate some random data
np.random.seed(42)
X = np.random.rand(100, 1)
y = 2 + 3 * X + np.random.randn(100, 1)# Apply Gradient Descent with Momentum
theta_momentum = gradient_descent_momentum(X, y, learning_rate=0.1, momentum=0.9, num_iterations=100)# Apply Vanilla Gradient Descent
theta_vanilla = gradient_descent(X, y, learning_rate=0.1, num_iterations=100)

輸出:

Iteration 1, MSE: 5.894802675477298
Iteration 2, MSE: 4.981474209682729
Iteration 3, MSE: 4.543813739311503
...
Iteration 98, MSE: 0.639280357661573
Iteration 99, MSE: 0.6389711476228525
Iteration 100, MSE: 0.63867258334531Iteration 1, MSE: 5.894802675477298
Iteration 2, MSE: 4.981474209682729
Iteration 3, MSE: 4.543813739311503
...
Iteration 98, MSE: 0.639280357661573
Iteration 99, MSE: 0.6389711476228525
Iteration 100, MSE: 0.63867258334531

正如我們從輸出中看到的,動(dòng)量梯度下降和普通梯度下降都提供了相似的結(jié)果。然而,由于動(dòng)量項(xiàng),動(dòng)量梯度下降可以更快地收斂,這加速了最新梯度方向的更新,從而導(dǎo)致更快的收斂。

六、應(yīng)用領(lǐng)域

????????動(dòng)量在機(jī)器學(xué)習(xí)社區(qū)中廣泛用于優(yōu)化非凸函數(shù),例如深度神經(jīng)網(wǎng)絡(luò)。根據(jù)經(jīng)驗(yàn),動(dòng)量方法優(yōu)于傳統(tǒng)的隨機(jī)梯度下降方法。在深度學(xué)習(xí)中,SGD 廣泛流行,是許多優(yōu)化器(例如 Adam、Adadelta、RMSProp 等)的底層基礎(chǔ),這些優(yōu)化器已經(jīng)利用動(dòng)量來降低計(jì)算速度

????????優(yōu)化算法的動(dòng)量擴(kuò)展可在許多流行的機(jī)器學(xué)習(xí)框架中使用,例如 PyTorch、張量流和 scikit-learn。一般來說,任何可以用隨機(jī)梯度下降解決的問題都可以從動(dòng)量的應(yīng)用中受益。這些通常是無約束的優(yōu)化問題??梢詰?yīng)用動(dòng)量的一些常見 SGD 應(yīng)用包括嶺回歸、邏輯回歸和支持向量機(jī)。當(dāng)實(shí)施動(dòng)量時(shí),包括與癌癥診斷和圖像確定相關(guān)的分類問題也可以減少運(yùn)行時(shí)間。就醫(yī)療診斷而言,計(jì)算速度的提高可以通過神經(jīng)網(wǎng)絡(luò)內(nèi)更快的診斷時(shí)間和更高的診斷準(zhǔn)確性直接使患者受益。

七、總結(jié)

????????動(dòng)量通過減少振蕩效應(yīng)并充當(dāng)優(yōu)化問題解決的加速器來改善梯度下降。此外,它還找到全局(而不僅僅是局部)最優(yōu)值。由于這些優(yōu)點(diǎn),動(dòng)量常用于機(jī)器學(xué)習(xí),并通過 SGD 廣泛應(yīng)用于所有優(yōu)化器。盡管動(dòng)量的超參數(shù)必須謹(jǐn)慎選擇,并且需要一些試驗(yàn)和錯(cuò)誤,但它最終解決了梯度下降問題中的常見問題。隨著深度學(xué)習(xí)的不斷發(fā)展,動(dòng)量應(yīng)用將使模型和問題的訓(xùn)練和解決速度比沒有的方法更快。

參考

Brownlee, J.(2021 年,10 月 11 日)。從頭開始的梯度下降勢(shì)頭。掌握機(jī)器學(xué)習(xí)。Gradient Descent With Momentum from Scratch - MachineLearningMastery.com。

Sum,C.-S。Leung 和 K. Ho,“梯度下降學(xué)習(xí)的局限性”,發(fā)表于 IEEE Transactions on Neural Networks and Learning Systems,卷。31、沒有。6,第 2227–2232 頁,2020 年 6 月,doi:10.1109/TNNLS.2019.2927689?弗朗西斯科·佛朗哥

Srihari,S.(nd)。基本優(yōu)化算法。深度學(xué)習(xí)。https://cedar.buffalo.edu/~srihari/CSE676/8.3%20BasicOptimizn.pdf

http://www.risenshineclean.com/news/54620.html

相關(guān)文章:

  • 網(wǎng)站建設(shè) 入門知識(shí)鄭州外貿(mào)網(wǎng)站推廣
  • 溫州的網(wǎng)站設(shè)計(jì)58同城關(guān)鍵詞怎么優(yōu)化
  • 網(wǎng)站診斷表正能量網(wǎng)站地址鏈接免費(fèi)
  • html5 開發(fā)網(wǎng)站網(wǎng)站排名提升軟件
  • 南充房產(chǎn)網(wǎng)簽備案查詢seo排名點(diǎn)擊器
  • 安徽先鋒網(wǎng)站兩學(xué)一做如何優(yōu)化網(wǎng)絡(luò)連接
  • 怎樣做音視頻宣傳網(wǎng)站互聯(lián)網(wǎng)營銷軟件
  • 建設(shè)個(gè)公司網(wǎng)站需要多少費(fèi)用個(gè)人在百度上發(fā)廣告怎么發(fā)
  • 有域名怎樣建設(shè)網(wǎng)站網(wǎng)站標(biāo)題seo外包優(yōu)化
  • 國外開源建站系統(tǒng)參考消息今天新聞
  • 青島網(wǎng)站建設(shè)銘盛信息品牌策略的7種類型
  • 創(chuàng)建網(wǎng)頁費(fèi)用獨(dú)立站seo實(shí)操
  • 寵物網(wǎng)站模板長(zhǎng)春做網(wǎng)站公司長(zhǎng)春seo公司
  • 工商經(jīng)營性網(wǎng)站備案制作網(wǎng)頁的軟件有哪些
  • 移動(dòng)web開發(fā)技術(shù)是什么成都網(wǎng)站seo費(fèi)用
  • 網(wǎng)站開發(fā)制作計(jì)算器外鏈的作用
  • 國際機(jī)票網(wǎng)站建設(shè)seo是什么意思呢
  • 沈陽高鐵站搜索引擎優(yōu)化原理
  • 圖書館網(wǎng)站建設(shè)工作總結(jié)電腦優(yōu)化設(shè)置
  • 建設(shè)網(wǎng)站以什么為導(dǎo)向濟(jì)南全網(wǎng)推廣
  • 網(wǎng)站建設(shè)默認(rèn)字體seo是做什么的
  • 網(wǎng)站建設(shè)意向表360競(jìng)價(jià)推廣怎么做
  • 嘉興企業(yè)網(wǎng)站建設(shè)推廣礦壇器材友情交換
  • 千鋒教育招聘北京中文seo
  • 免費(fèi)網(wǎng)站代碼如何提升網(wǎng)站seo排名
  • 電子商務(wù)靜態(tài)網(wǎng)站建設(shè)心得上海網(wǎng)絡(luò)營銷公司
  • 做外貿(mào)的要有自己的網(wǎng)站嗎網(wǎng)絡(luò)營銷渠道可分為
  • 企業(yè)網(wǎng)站的常見服務(wù)直通車關(guān)鍵詞優(yōu)化
  • 廣州網(wǎng)站備案拍照南京網(wǎng)站推廣公司
  • 網(wǎng)頁和網(wǎng)站做哪個(gè)好用嗎個(gè)人如何優(yōu)化網(wǎng)站有哪些方法