<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          干貨|簡(jiǎn)單理解梯度下降及線性回歸

          共 2602字,需瀏覽 6分鐘

           ·

          2021-06-13 14:11

          點(diǎn)擊上方小白學(xué)視覺(jué)”,選擇加"星標(biāo)"或“置頂

          重磅干貨,第一時(shí)間送達(dá)

          一、線性回歸


          在回歸分析中,一個(gè)自變量和一個(gè)因變量的關(guān)系可用一條直線近似表示,稱(chēng)為一元線性回歸分析。當(dāng)自變量大于一個(gè)的時(shí)候,稱(chēng)為多元線性回歸。以房?jī)r(jià)-住宅面積為例。


          每組數(shù)據(jù)(住宅面積,房?jī)r(jià))可以在坐標(biāo)軸中用點(diǎn)表示



          我們希望模型擬合出一條直線 y=ax+b,以此表示住宅面積和房?jī)r(jià)之間的關(guān)系。當(dāng)二維坐標(biāo)系上分布的點(diǎn)離直線的距離之和越?。ù蠖鄶?shù)點(diǎn)離直線很近),擬合的效果越好。此時(shí)你輸入X(住宅面積),模型就會(huì)輸出一個(gè)與真實(shí)值相近的預(yù)測(cè)值(房?jī)r(jià))。更一般直線方程表示為:




          用向量的內(nèi)積表示方程會(huì)帶來(lái)很多便利(以后會(huì)知道的)。

          但如果房?jī)r(jià)不僅與住宅面積有關(guān),還和臥室的數(shù)量有關(guān)。直線方程仍然可以同樣的式子(向量的內(nèi)積)表示。



          顯然,這時(shí)的點(diǎn)分布在一個(gè)三維空間,我們要用一個(gè)平面去擬合房?jī)r(jià)與住宅面積以及臥室之間的關(guān)系,如果三維空間上的點(diǎn)離平面的距離之和最小(大多數(shù)點(diǎn)離平面很近),我們認(rèn)為此時(shí)的模型是最好的。

          這樣我們把在二維的線性回歸推廣到三維。在n維空間中,n-1個(gè)自變量與1個(gè)因變量的關(guān)系可以表示為n-1維的超平面。


          上面我們將坐標(biāo)系中上所有點(diǎn)到超平面(超過(guò)3維則無(wú)法畫(huà)出圖像)的距離之和作為模型好壞的判別標(biāo)準(zhǔn)。距離之和越小,則可認(rèn)為模型越好。則我們的損失函數(shù)定義為:



          損失函數(shù)的值 等于 對(duì)每個(gè)樣本點(diǎn)的預(yù)測(cè)值與實(shí)際值差的平方和求和。之所以對(duì)平方和求和,是為了避免正負(fù)誤差相互抵消 。(使用預(yù)測(cè)值與實(shí)際值差與使用上面的距離是等價(jià)的,而且計(jì)算量更小)1/2 是為了之后求偏導(dǎo)的時(shí)候可以讓式子的系數(shù)等于1而存在。(1/2有沒(méi)有都沒(méi)關(guān)系,系數(shù)只要非0,對(duì)結(jié)果都不會(huì)有影響,因?yàn)樵诒容^兩個(gè)不同模型的優(yōu)劣的時(shí)候,實(shí)際是比較他們損失函數(shù)的值,兩個(gè)數(shù)值乘以同一個(gè)非0因子,他們的大小關(guān)系不會(huì)改變。)


          得出損失函數(shù)之后,我們就得到了一個(gè)求解最佳模型的策略——求解使損失函數(shù)達(dá)到最小的參數(shù)??。這里給大家介紹一種求解最優(yōu)解的一個(gè)辦法梯度下降。


          二、梯度下降(GradientDescent)


          學(xué)過(guò)高等數(shù)學(xué)的pong友肯定知道,順著梯度方向,函數(shù)值增加最快,逆著梯度函數(shù)值下降越快。所以在求解一個(gè)無(wú)約束求最值的問(wèn)題,梯度下降是一個(gè)非常常用的方法。(求最大和求最小是等價(jià)的,例如上面的損失函數(shù)加一個(gè)負(fù)號(hào),學(xué)習(xí)的過(guò)程就變成一個(gè)求解損失函數(shù)取最大值時(shí)的模型參數(shù)過(guò)程)



          梯度下降的過(guò)程可以概括為一個(gè)遞推表達(dá)式:

          更新后的參數(shù) = 當(dāng)前參數(shù) - 學(xué)習(xí)速度*當(dāng)前梯度

          上式中,學(xué)習(xí)速度又稱(chēng)步長(zhǎng),用來(lái)控制每次迭代參數(shù)的改變量。所以梯度下降的關(guān)鍵在于不斷計(jì)算當(dāng)前的梯度,按照一定的學(xué)習(xí)速度,更新模型參數(shù),直到收斂到極值。


          關(guān)于能否達(dá)到全局最優(yōu)值。如果該函數(shù)是凸函數(shù),則必定能收斂大最小值;否則能否達(dá)到全局最優(yōu)不僅取決于初值,學(xué)習(xí)速度也會(huì)影響。如上圖所示,初值選取不一樣,梯度下降所指向的極小值也不一樣。如果說(shuō)學(xué)習(xí)速度過(guò)大,梯度下降有可能會(huì)進(jìn)入到另一局部最優(yōu)解中。


          梯度下降算法也有很多種,最常見(jiàn)的有批量梯度下降算法、隨機(jī)梯度下降算法,他們各有有優(yōu)缺點(diǎn)。


          批量梯度下降: 求梯度的時(shí)候利用了所有的樣本


          隨機(jī)梯度下降:求梯度的時(shí)候隨機(jī)使用一個(gè)樣本

          • 批量梯度可以保證每次更新參數(shù)可以使得模型被優(yōu)化,因?yàn)榕刻荻认陆邓愠龅奶荻仁钦_的(使用了所有的樣本);而隨機(jī)梯度下降由于每次更新只選擇使用一個(gè)樣本來(lái)求梯度,所求出的梯度往往沒(méi)有那么準(zhǔn)確。但是批量梯度下降每次迭代的開(kāi)銷(xiāo)很大(數(shù)據(jù)量很大時(shí),計(jì)算梯度非常耗時(shí)間)。

          • 隨機(jī)梯度計(jì)算的梯度雖然不是很準(zhǔn)確,但是它迭代的速度很快,每次接近最小值一點(diǎn)點(diǎn),也還是能達(dá)到極值。在接近極值的時(shí)候,隨機(jī)梯度會(huì)在極值附近震蕩,不容易踩到極小值。所以在數(shù)據(jù)量很大,對(duì)精度要求并沒(méi)特別嚴(yán)苛的時(shí)候使用隨機(jī)梯度下降是一個(gè)不錯(cuò)的選擇。

          • 也有一個(gè)小批量梯度下降算法,每次只用少量的數(shù)據(jù)計(jì)算梯度,提高了梯度的準(zhǔn)確率,也不需要很大迭代的開(kāi)銷(xiāo)。但是并不能說(shuō)明這種方法比隨機(jī)梯度和批量梯度好。


          此外,在梯度下降中,要適當(dāng)控制學(xué)習(xí)速度,特別是在接近最優(yōu)值附近的時(shí)候,過(guò)大的學(xué)習(xí)速率會(huì)越過(guò)最優(yōu)值,在最優(yōu)值附近震蕩。還有在開(kāi)始學(xué)習(xí)的時(shí)候,如果學(xué)習(xí)速率很小,則需要更多次迭代才能達(dá)到局部最優(yōu)。


          三、梯度下降求解線性回歸



          回到線性回歸,用批量梯度下降來(lái)求解線性回歸模型的最佳參數(shù)。(用隨機(jī)梯度也是可以,這里不過(guò)是舉例)那么我們首先要求解梯度



          上式為J(??)對(duì)??求偏導(dǎo),1/2其實(shí)只是為了抵消求導(dǎo)產(chǎn)生的那個(gè)2的因子。更新一次的過(guò)程如下所示。



          訓(xùn)練的過(guò)程就是不斷的求偏導(dǎo),更新模型參數(shù),直到損失函數(shù)收斂,訓(xùn)練過(guò)程就結(jié)束了。


          訓(xùn)練完的線性回歸模型接受你的輸入,然后輸出一個(gè)預(yù)測(cè)值。


          下載1:OpenCV-Contrib擴(kuò)展模塊中文版教程
          在「小白學(xué)視覺(jué)」公眾號(hào)后臺(tái)回復(fù):擴(kuò)展模塊中文教程,即可下載全網(wǎng)第一份OpenCV擴(kuò)展模塊教程中文版,涵蓋擴(kuò)展模塊安裝、SFM算法、立體視覺(jué)、目標(biāo)跟蹤、生物視覺(jué)、超分辨率處理等二十多章內(nèi)容。

          下載2:Python視覺(jué)實(shí)戰(zhàn)項(xiàng)目52講
          小白學(xué)視覺(jué)公眾號(hào)后臺(tái)回復(fù):Python視覺(jué)實(shí)戰(zhàn)項(xiàng)目,即可下載包括圖像分割、口罩檢測(cè)、車(chē)道線檢測(cè)、車(chē)輛計(jì)數(shù)、添加眼線、車(chē)牌識(shí)別、字符識(shí)別、情緒檢測(cè)、文本內(nèi)容提取、面部識(shí)別等31個(gè)視覺(jué)實(shí)戰(zhàn)項(xiàng)目,助力快速學(xué)校計(jì)算機(jī)視覺(jué)。

          下載3:OpenCV實(shí)戰(zhàn)項(xiàng)目20講
          小白學(xué)視覺(jué)公眾號(hào)后臺(tái)回復(fù):OpenCV實(shí)戰(zhàn)項(xiàng)目20講,即可下載含有20個(gè)基于OpenCV實(shí)現(xiàn)20個(gè)實(shí)戰(zhàn)項(xiàng)目,實(shí)現(xiàn)OpenCV學(xué)習(xí)進(jìn)階。

          交流群


          歡迎加入公眾號(hào)讀者群一起和同行交流,目前有SLAM、三維視覺(jué)、傳感器自動(dòng)駕駛、計(jì)算攝影、檢測(cè)、分割、識(shí)別、醫(yī)學(xué)影像、GAN、算法競(jìng)賽等微信群(以后會(huì)逐漸細(xì)分),請(qǐng)掃描下面微信號(hào)加群,備注:”昵稱(chēng)+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺(jué)SLAM“。請(qǐng)按照格式備注,否則不予通過(guò)。添加成功后會(huì)根據(jù)研究方向邀請(qǐng)進(jìn)入相關(guān)微信群。請(qǐng)勿在群內(nèi)發(fā)送廣告,否則會(huì)請(qǐng)出群,謝謝理解~


          瀏覽 25
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  97色色色 | 全免费A级毛片免费视频播放 | 国产黄色电影黄色视频一级片 | 日逼视频软件 | 最新中文字幕在线观看 |