訓(xùn)練模型
一、討論兩種訓(xùn)練方法二、線性回歸三、如何訓(xùn)練四、正規(guī)方程五、示例六、模型圖像七、梯度下降八、梯度下降的陷阱
一、討論兩種訓(xùn)練方法
1、直接使用封閉方程進(jìn)行求根運(yùn)算,得到模型在當(dāng)前訓(xùn)練集上的最優(yōu)參數(shù)(即在訓(xùn)練集上使損失函數(shù)達(dá)到最小值的模型參數(shù))2、使用迭代優(yōu)化方法:梯度下降(GD),在訓(xùn)練集上,它可以逐漸調(diào)整模型參數(shù)以獲得最小的損失函數(shù),最終,參數(shù)會(huì)收斂到和第一種方法相同的的值。同時(shí),我們也會(huì)介紹一些梯度下降的變體形式:批量梯度下降(Batch GD)、小批量梯度下降(Mini-batch GD)、隨機(jī)梯度下降(Stochastic GD)。對(duì)于多項(xiàng)式回歸,它可以擬合非線性數(shù)據(jù)集,由于它比線性模型擁有更多的參數(shù),于是它更容易出現(xiàn)模型的過(guò)擬合。因此,我們將介紹如何通過(guò)學(xué)習(xí)曲線去判斷模型是否出現(xiàn)了過(guò)擬合,并介紹幾種正則化方法以減少模型出現(xiàn)過(guò)擬合的風(fēng)險(xiǎn)。
二、線性回歸
線性回歸預(yù)測(cè)模型
三、如何訓(xùn)練
訓(xùn)練一個(gè)模型指的是設(shè)置模型的參數(shù)使得這個(gè)模型在訓(xùn)練集的表現(xiàn)較好。為此,我們首先需要找到一個(gè)衡量模型好壞的評(píng)定方法。在回歸模型上,最常見的評(píng)定標(biāo)準(zhǔn)是均方根誤差。因此,為了訓(xùn)練一個(gè)線性回歸模型,需要找到一個(gè)θ值,它使得均方根誤差(標(biāo)準(zhǔn)誤差)達(dá)到最小值。實(shí)踐過(guò)程中,最小化均方誤差比最小化均方根誤差更加的簡(jiǎn)單,這兩個(gè)過(guò)程會(huì)得到相同的θ因?yàn)楹瘮?shù)在最小值時(shí)候的自變量,同樣能使函數(shù)的方根運(yùn)算得到最小值。線性回歸模型的 MSE 損失函數(shù):
四、正規(guī)方程
為了找到最小化損失函數(shù)的 值,可以采用公式解,換句話說(shuō),就是可以通過(guò)解正規(guī)方程直接得到最后的結(jié)果。正規(guī)方程如下:
五、示例
生成一些近似線性的數(shù)據(jù)來(lái)測(cè)試一下這個(gè)方程。
importnumpyasnpX=2*np.random.rand(100,1)y=4+3*X+np.random.randn(100,1)
X_b=np.c_[np.ones((100,1)),X]theta_best=np.linalg.inv(X_b.T.dot(X_b)).dot(X_b.T).dot(y)
實(shí)際上產(chǎn)生數(shù)據(jù)的兩個(gè)系數(shù)是4和3 。讓我們看一下最后的計(jì)算結(jié)果。
>>>theta_bestarray([[4.21509616],[2.77011339]])
由于存在噪聲,參數(shù)不可能達(dá)到到原始函數(shù)的值。現(xiàn)在我們能夠使用 來(lái)進(jìn)行預(yù)測(cè):
X_new=np.array([[0],[2]])X_new_b=np.c_[np.ones((2,1)),X_new]y_predict=X_new_b.dot(theta_best)y_predict>>>array([[4.21509616],[9.75532293]])
六、模型圖像
plt.plot(X_new,y_predict,"r-")plt.plot(X,y,"b.")plt.axis([0,2,0,15])plt.show()
使用下面的 Scikit-Learn 代碼可以達(dá)到相同的效果:
fromsklearn.linear_modelimportLinearRegressionlin_reg=LinearRegression()lin_reg.fit(X,y)lin_reg.intercept_,lin_reg.coef_(array([4.21509616]),array([2.77011339]))lin_reg.predict(X_new)array([[4.21509616],[9.75532293]])
七、梯度下降
梯度下降是一種非常通用的優(yōu)化算法,它能夠很好地解決一系列問(wèn)題。梯度下降的整體思路是通過(guò)的迭代來(lái)逐漸調(diào)整參數(shù)使得損失函數(shù)達(dá)到最小值。假設(shè)濃霧下,你迷失在了大山中,你只能感受到自己腳下的坡度。為了最快到達(dá)山底,一個(gè)最好的方法就是沿著坡度最陡的地方下山。這其實(shí)就是梯度下降所做的:它計(jì)算誤差函數(shù)關(guān)于參數(shù)向量 的局部梯度,同時(shí)它沿著梯度下降的方向進(jìn)行下一次迭代。當(dāng)梯度值為零的時(shí)候,就達(dá)到了誤差函數(shù)最小值 。具體來(lái)說(shuō),開始時(shí),需要選定一個(gè)隨機(jī)的 (這個(gè)值稱為隨機(jī)初始值),然后逐漸去改進(jìn)它,每一次變化一小步,每一步都試著降低損失函數(shù)(例如:均方差損失函數(shù)),直到算法收斂到一個(gè)最小值。在梯度下降中一個(gè)重要的參數(shù)是步長(zhǎng),超參數(shù)學(xué)習(xí)率的值決定了步長(zhǎng)的大小。如果學(xué)習(xí)率太小,必須經(jīng)過(guò)多次迭代,算法才能收斂,這是非常耗時(shí)的。另一方面,如果學(xué)習(xí)率太大,你將跳過(guò)最低點(diǎn),到達(dá)山谷的另一面,可能下一次的值比上一次還要大。這可能使的算法是發(fā)散的,函數(shù)值變得越來(lái)越大,永遠(yuǎn)不可能找到一個(gè)好的答案。最后,并不是所有的損失函數(shù)看起來(lái)都像一個(gè)規(guī)則的碗。它們可能是洞,山脊,高原和各種不規(guī)則的地形,使它們收斂到最小值非常的困難。梯度下降的兩個(gè)主要挑戰(zhàn):如果隨機(jī)初始值選在了圖像的左側(cè),則它將收斂到局部最小值,這個(gè)值要比全局最小值要大。 如果它從右側(cè)開始,那么跨越高原將需要很長(zhǎng)時(shí)間,如果你早早地結(jié)束訓(xùn)練,你將永遠(yuǎn)到不了全局最小值。
八、梯度下降的陷阱
幸運(yùn)的是線性回歸模型的均方差損失函數(shù)是一個(gè)凸函數(shù),這意味著如果你選擇曲線上的任意兩點(diǎn),它們的連線段不會(huì)與曲線發(fā)生交叉(譯者注:該線段不會(huì)與曲線有第三個(gè)交點(diǎn))。這意味著這個(gè)損失函數(shù)沒有局部最小值,僅僅只有一個(gè)全局最小值。同時(shí)它也是一個(gè)斜率不能突變的連續(xù)函數(shù)。這兩個(gè)因素導(dǎo)致了一個(gè)好的結(jié)果: 梯度下降可以無(wú)限接近全局最小值。(只要你訓(xùn)練時(shí)間足夠長(zhǎng),同時(shí)學(xué)習(xí)率不是太大 )。
-
梯度
+關(guān)注
關(guān)注
0文章
30瀏覽量
10353 -
線性回歸
+關(guān)注
關(guān)注
0文章
41瀏覽量
4316 -
訓(xùn)練模型
+關(guān)注
關(guān)注
1文章
36瀏覽量
3888
原文標(biāo)題:訓(xùn)練模型
文章出處:【微信號(hào):lccrunfly,微信公眾號(hào):Python機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
Pytorch模型訓(xùn)練實(shí)用PDF教程【中文】
優(yōu)化神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法有哪些?
探索一種降低ViT模型訓(xùn)練成本的方法
微軟在ICML 2019上提出了一個(gè)全新的通用預(yù)訓(xùn)練方法MASS
![微軟在ICML 2019上提出了一個(gè)全新的通用預(yù)<b class='flag-5'>訓(xùn)練方法</b>MASS](https://file.elecfans.com/web1/M00/91/7D/o4YBAFzWIzGAUqcZAAAKHC4f69Q419.png)
新的預(yù)訓(xùn)練方法——MASS!MASS預(yù)訓(xùn)練幾大優(yōu)勢(shì)!
![新的預(yù)<b class='flag-5'>訓(xùn)練方法</b>——MASS!MASS預(yù)<b class='flag-5'>訓(xùn)練</b>幾大優(yōu)勢(shì)!](https://file.elecfans.com/web1/M00/91/E4/pIYBAFzWJwqAF_ElAAAKHC4f69Q121.png)
關(guān)于語(yǔ)言模型和對(duì)抗訓(xùn)練的工作
![關(guān)于語(yǔ)言<b class='flag-5'>模型</b>和對(duì)抗<b class='flag-5'>訓(xùn)練</b>的工作](https://file.elecfans.com/web1/M00/CE/2A/pIYBAF-fs4-AbHaXAAGqjDte9-I109.png)
一種側(cè)重于學(xué)習(xí)情感特征的預(yù)訓(xùn)練方法
![一<b class='flag-5'>種</b>側(cè)重于學(xué)習(xí)情感特征的預(yù)<b class='flag-5'>訓(xùn)練方法</b>](https://file.elecfans.com/web1/M00/EA/B9/pIYBAGB1MTOAdJ3mAAJCwcxqQaA474.png)
現(xiàn)代交互技術(shù)下的兒童語(yǔ)言表達(dá)訓(xùn)練方法
融合Image-Text和Image-Label兩種數(shù)據(jù)的多模態(tài)訓(xùn)練新方式
介紹幾篇EMNLP'22的語(yǔ)言模型訓(xùn)練方法優(yōu)化工作
基于生成模型的預(yù)訓(xùn)練方法
![基于生成<b class='flag-5'>模型</b>的預(yù)<b class='flag-5'>訓(xùn)練方法</b>](https://file1.elecfans.com/web2/M00/90/1B/wKgZomTVkSyANvK9AAAbZo3gAB0262.png)
混合專家模型 (MoE)核心組件和訓(xùn)練方法介紹
![混合專家<b class='flag-5'>模型</b> (MoE)核心組件和<b class='flag-5'>訓(xùn)練方法</b>介紹](https://file1.elecfans.com/web2/M00/BC/62/wKgZomWh6eGAbswEAAA0xUMBmpc617.png)
評(píng)論