0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

訓(xùn)練模型:討論兩種訓(xùn)練方法

電子工程師 ? 來源:lp ? 2019-04-05 17:09 ? 次閱讀

訓(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ù)會收斂到和第一種方法相同的的值。同時,我們也會介紹一些梯度下降的變體形式:批量梯度下降(Batch GD)、小批量梯度下降(Mini-batch GD)、隨機(jī)梯度下降(Stochastic GD)。對于多項(xiàng)式回歸,它可以擬合非線性數(shù)據(jù)集,由于它比線性模型擁有更多的參數(shù),于是它更容易出現(xiàn)模型的過擬合。因此,我們將介紹如何通過學(xué)習(xí)曲線去判斷模型是否出現(xiàn)了過擬合,并介紹幾種正則化方法以減少模型出現(xiàn)過擬合的風(fēng)險(xiǎn)。

二、線性回歸

線性回歸預(yù)測模型

三、如何訓(xùn)練

訓(xùn)練一個模型指的是設(shè)置模型的參數(shù)使得這個模型在訓(xùn)練集的表現(xiàn)較好。為此,我們首先需要找到一個衡量模型好壞的評定方法。在回歸模型上,最常見的評定標(biāo)準(zhǔn)是均方根誤差。因此,為了訓(xùn)練一個線性回歸模型,需要找到一個θ值,它使得均方根誤差(標(biāo)準(zhǔn)誤差)達(dá)到最小值。實(shí)踐過程中,最小化均方誤差比最小化均方根誤差更加的簡單,這兩個過程會得到相同的θ因?yàn)楹瘮?shù)在最小值時候的自變量,同樣能使函數(shù)的方根運(yùn)算得到最小值。線性回歸模型的 MSE 損失函數(shù):

四、正規(guī)方程

為了找到最小化損失函數(shù)的 值,可以采用公式解,換句話說,就是可以通過解正規(guī)方程直接得到最后的結(jié)果。正規(guī)方程如下:

五、示例

生成一些近似線性的數(shù)據(jù)來測試一下這個方程。

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ù)的兩個系數(shù)是4和3 。讓我們看一下最后的計(jì)算結(jié)果。

>>>theta_bestarray([[4.21509616],[2.77011339]])

由于存在噪聲,參數(shù)不可能達(dá)到到原始函數(shù)的值?,F(xiàn)在我們能夠使用 來進(jìn)行預(yù)測:

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)化算法,它能夠很好地解決一系列問題。梯度下降的整體思路是通過的迭代來逐漸調(diào)整參數(shù)使得損失函數(shù)達(dá)到最小值。假設(shè)濃霧下,你迷失在了大山中,你只能感受到自己腳下的坡度。為了最快到達(dá)山底,一個最好的方法就是沿著坡度最陡的地方下山。這其實(shí)就是梯度下降所做的:它計(jì)算誤差函數(shù)關(guān)于參數(shù)向量 的局部梯度,同時它沿著梯度下降的方向進(jìn)行下一次迭代。當(dāng)梯度值為零的時候,就達(dá)到了誤差函數(shù)最小值 。具體來說,開始時,需要選定一個隨機(jī)的 (這個值稱為隨機(jī)初始值),然后逐漸去改進(jìn)它,每一次變化一小步,每一步都試著降低損失函數(shù)(例如:均方差損失函數(shù)),直到算法收斂到一個最小值。在梯度下降中一個重要的參數(shù)是步長,超參數(shù)學(xué)習(xí)率的值決定了步長的大小。如果學(xué)習(xí)率太小,必須經(jīng)過多次迭代,算法才能收斂,這是非常耗時的。另一方面,如果學(xué)習(xí)率太大,你將跳過最低點(diǎn),到達(dá)山谷的另一面,可能下一次的值比上一次還要大。這可能使的算法是發(fā)散的,函數(shù)值變得越來越大,永遠(yuǎn)不可能找到一個好的答案。最后,并不是所有的損失函數(shù)看起來都像一個規(guī)則的碗。它們可能是洞,山脊,高原和各種不規(guī)則的地形,使它們收斂到最小值非常的困難。梯度下降的兩個主要挑戰(zhàn):如果隨機(jī)初始值選在了圖像的左側(cè),則它將收斂到局部最小值,這個值要比全局最小值要大。 如果它從右側(cè)開始,那么跨越高原將需要很長時間,如果你早早地結(jié)束訓(xùn)練,你將永遠(yuǎn)到不了全局最小值。

八、梯度下降的陷阱

幸運(yùn)的是線性回歸模型的均方差損失函數(shù)是一個凸函數(shù),這意味著如果你選擇曲線上的任意兩點(diǎn),它們的連線段不會與曲線發(fā)生交叉(譯者注:該線段不會與曲線有第三個交點(diǎn))。這意味著這個損失函數(shù)沒有局部最小值,僅僅只有一個全局最小值。同時它也是一個斜率不能突變的連續(xù)函數(shù)。這兩個因素導(dǎo)致了一個好的結(jié)果: 梯度下降可以無限接近全局最小值。(只要你訓(xùn)練時間足夠長,同時學(xué)習(xí)率不是太大 )。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 梯度
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    10302
  • 線性回歸
    +關(guān)注

    關(guān)注

    0

    文章

    41

    瀏覽量

    4292
  • 訓(xùn)練模型
    +關(guān)注

    關(guān)注

    1

    文章

    35

    瀏覽量

    3794

原文標(biāo)題:訓(xùn)練模型

文章出處:【微信號:lccrunfly,微信公眾號:Python機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Pytorch模型訓(xùn)練實(shí)用PDF教程【中文】

    本教程以實(shí)際應(yīng)用、工程開發(fā)為目的,著重介紹模型訓(xùn)練過程中遇到的實(shí)際問題和方法。在機(jī)器學(xué)習(xí)模型開發(fā)中,主要涉及三大部分,分別是數(shù)據(jù)、模型和損失
    發(fā)表于 12-21 09:18

    gensim增量訓(xùn)練方法

    使用gensim訓(xùn)練詞向量
    發(fā)表于 07-31 14:12

    優(yōu)化神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法有哪些?

    優(yōu)化神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法有哪些?
    發(fā)表于 09-06 09:52

    探索一降低ViT模型訓(xùn)練成本的方法

    (1 GPU)和時間(24小時)資源下從頭開始訓(xùn)練ViT模型。首先,提出了一向ViT架構(gòu)添加局部性的有效方法。其次,開發(fā)了一新的圖像大小
    發(fā)表于 11-24 14:56

    微軟在ICML 2019上提出了一個全新的通用預(yù)訓(xùn)練方法MASS

    專門針對序列到序列的自然語言生成任務(wù),微軟亞洲研究院提出了新的預(yù)訓(xùn)練方法:屏蔽序列到序列預(yù)訓(xùn)練(MASS: Masked Sequence to Sequence Pre-training
    的頭像 發(fā)表于 05-11 09:19 ?3454次閱讀
    微軟在ICML 2019上提出了一個全新的通用預(yù)<b class='flag-5'>訓(xùn)練方法</b>MASS

    新的預(yù)訓(xùn)練方法——MASS!MASS預(yù)訓(xùn)練幾大優(yōu)勢!

    專門針對序列到序列的自然語言生成任務(wù),微軟亞洲研究院提出了新的預(yù)訓(xùn)練方法:屏蔽序列到序列預(yù)訓(xùn)練(MASS: Masked Sequence to Sequence Pre-training)。MASS對句子隨機(jī)屏蔽一個長度為k的連續(xù)片段,然后通過編碼器-注意力-解碼器
    的頭像 發(fā)表于 05-11 09:34 ?7051次閱讀
    新的預(yù)<b class='flag-5'>訓(xùn)練方法</b>——MASS!MASS預(yù)<b class='flag-5'>訓(xùn)練</b>幾大優(yōu)勢!

    關(guān)于語言模型和對抗訓(xùn)練的工作

    本文把對抗訓(xùn)練用到了預(yù)訓(xùn)練和微調(diào)個階段,對抗訓(xùn)練方法是針對embedding space,通過最大化對抗損失、最小化
    的頭像 發(fā)表于 11-02 15:26 ?2053次閱讀
    關(guān)于語言<b class='flag-5'>模型</b>和對抗<b class='flag-5'>訓(xùn)練</b>的工作

    側(cè)重于學(xué)習(xí)情感特征的預(yù)訓(xùn)練方法

    transformers編碼表示)的基礎(chǔ)上,提岀了一側(cè)重學(xué)習(xí)情感特征的預(yù)訓(xùn)練方法。在目標(biāo)領(lǐng)域的預(yù)練階段,利用情感詞典改進(jìn)了BERT的預(yù)訓(xùn)練任務(wù)。同時,使用基于上下文的詞粒度情感預(yù)測任務(wù)對掩蓋詞情感極性進(jìn)行分類,獲取偏向情感特
    發(fā)表于 04-13 11:40 ?4次下載
    一<b class='flag-5'>種</b>側(cè)重于學(xué)習(xí)情感特征的預(yù)<b class='flag-5'>訓(xùn)練方法</b>

    現(xiàn)代交互技術(shù)下的兒童語言表達(dá)訓(xùn)練方法

    現(xiàn)代交互技術(shù)下的兒童語言表達(dá)訓(xùn)練方法
    發(fā)表于 06-27 11:27 ?3次下載

    融合Image-Text和Image-Label兩種數(shù)據(jù)的多模態(tài)訓(xùn)練新方式

    目前CV領(lǐng)域中包括兩種典型的訓(xùn)練模式,第一是傳統(tǒng)的圖像分類訓(xùn)練,以離散的label為目標(biāo),人工標(biāo)注、收集干凈、大量的訓(xùn)練數(shù)據(jù),
    的頭像 發(fā)表于 07-14 14:12 ?2563次閱讀

    介紹幾篇EMNLP&apos;22的語言模型訓(xùn)練方法優(yōu)化工作

    來自:圓圓的算法筆記 今天給大家介紹3篇EMNLP 2022中語言模型訓(xùn)練方法優(yōu)化的工作,這3篇工作分別是: 針對檢索優(yōu)化語言模型 :優(yōu)化語言模型訓(xùn)
    的頭像 發(fā)表于 12-22 16:14 ?940次閱讀

    基于生成模型的預(yù)訓(xùn)練方法

    with Deep Generative Models,我認(rèn)為是個挺強(qiáng)挺有趣的自監(jiān)督方面的工作。DreamTeacher 用于從預(yù)訓(xùn)練的生成網(wǎng)絡(luò)向目標(biāo)圖像 Backbone 進(jìn)行知識蒸餾,作為一通用的預(yù)訓(xùn)練機(jī)制
    的頭像 發(fā)表于 08-11 09:38 ?1189次閱讀
    基于生成<b class='flag-5'>模型</b>的預(yù)<b class='flag-5'>訓(xùn)練方法</b>

    混合專家模型 (MoE)核心組件和訓(xùn)練方法介紹

    ) 的 Transformer 模型在開源人工智能社區(qū)引起了廣泛關(guān)注。在本篇博文中,我們將深入探討 MoEs 的核心組件、訓(xùn)練方法,以及在推理過程中需要考量的各種因素。 讓我們開始吧! 簡短總結(jié) 混合專家模型 (MoEs
    的頭像 發(fā)表于 01-13 09:37 ?1145次閱讀
    混合專家<b class='flag-5'>模型</b> (MoE)核心組件和<b class='flag-5'>訓(xùn)練方法</b>介紹

    谷歌模型訓(xùn)練軟件有哪些功能和作用

    谷歌模型訓(xùn)練軟件主要是指ELECTRA,這是一新的預(yù)訓(xùn)練方法,源自谷歌AI。ELECTRA不僅擁有BERT的優(yōu)勢,而且在效率上更勝一籌。
    的頭像 發(fā)表于 02-29 17:37 ?727次閱讀

    ai大模型訓(xùn)練方法有哪些?

    AI大模型訓(xùn)練方法是一個復(fù)雜且不斷發(fā)展的領(lǐng)域。以下是ai大模型訓(xùn)練方法: 數(shù)據(jù)預(yù)處理和增強(qiáng) 數(shù)據(jù)清洗:去除噪聲和不完整的數(shù)據(jù)。 數(shù)據(jù)標(biāo)準(zhǔn)化:將數(shù)據(jù)縮放到統(tǒng)一的范圍。 數(shù)據(jù)增強(qiáng):通過旋轉(zhuǎn)
    的頭像 發(fā)表于 07-16 10:11 ?1290次閱讀