日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

算法心經(jīng).數(shù)學(xué)的應(yīng)用.微分的應(yīng)用

 kaichun 2007-01-08

   終于有了空閑,來寫微分的應(yīng)用,有一點(diǎn)怎么強(qiáng)調(diào)都不過分,限于本人水平有限,可能你覺得的很重要的應(yīng)用或者很常見的應(yīng)用,我這里并沒有提及,那么請你跟貼或者給我寫信,幫我完善一下,謝先。

    講微分的應(yīng)用,一定要先看微分的意義;微分的意義在很多方面有很多種解釋,比如在直線上可以理解為斜率,曲線上經(jīng)過再求導(dǎo)可以擴(kuò)展為曲率等。不過我想有一點(diǎn)意義應(yīng)該是幾乎本質(zhì)的,那就是微分是求一個對象對另一對象的變化程度,換句話說可以理解為一對象對一個對象的影響。比如就X2來說:

    X2X求導(dǎo)=2x,說明其對于X的變化率為2X

    X2X2求導(dǎo)=1,說明X2永遠(yuǎn)和X2相等

  上面的話,尤其第二句幾乎廢話,不過可以更好的揭示這個性質(zhì),那就是求導(dǎo)微分并不能只理解對對X求導(dǎo)套公式,其內(nèi)涵為對任何一個對象的變化程度。

    有了這個理解,我們來看一個具體的應(yīng)用,來推導(dǎo)一下偉大的神經(jīng)元學(xué)習(xí)網(wǎng)絡(luò)的誤差反傳算法。

    寫過這個誤差反傳算法的人,可能不計(jì)其數(shù),不過真正理解這個公式的來源的人就不多,原因就是歸結(jié)于書上那些復(fù)雜的數(shù)學(xué)符號,下面對該問題的分析中,我不會寫一個數(shù)學(xué)公式,完全用大白話來show一下微分的威力。 

    分析誤差反傳算法,有一個必須的步驟,就是理解梯度下降算法,梯度下降很好理解,就是要求最優(yōu)值的時候永遠(yuǎn)沿著正比且與導(dǎo)數(shù)符號相反的方向就能逼近最優(yōu)值。這句話不好理解,確實(shí)我打出來都費(fèi)勁,但舉一個例子就明白了,有一座山谷,我們要尋找這個山谷的最低點(diǎn),那么就必須在下坡時,一直往前走,但是很遺憾,我們可能走過了這個點(diǎn),那么當(dāng)再上坡時(走過了),往回走。而每次走的距離都和坡度成正比,可以想象,當(dāng)快到山谷時,那里幾乎平地了,坡度很小,自然我們的步伐也變慢了,這樣反復(fù)的逼近最優(yōu)值。

  這種逼近迭代的思想太重要,它貫徹了數(shù)值分析的始終。這種思想再升華就是,最優(yōu)算法我求不出來,但我知道改進(jìn)的方向。熟悉圖論的朋友馬上就想到了,其實(shí)圖論里面最大流、最大匹配、最佳匹配,很多思想都源與此,可以說不管是數(shù)值算法還是非數(shù)值算法,有些精髓是相通的。

  轉(zhuǎn)回來再說梯度下降,有下降就有上升,的確,就像上山,每次都沿著坡度走,直到找到最高峰,這也是SVM最優(yōu)算法的實(shí)現(xiàn)方法之一。

    過了梯度下降這關(guān),剩下的就好說了,神經(jīng)元網(wǎng)絡(luò)的表現(xiàn)實(shí)質(zhì)是啥?是用一堆權(quán)值矩陣,來模擬線性或者非線性的式子。

    A D

    B E

    C F

    A、BC代表n層的三個節(jié)點(diǎn),D、E、F代表n+1層的三個節(jié)點(diǎn),假設(shè)A、BC就是輸入,DE、F就是輸出,那么輸入輸出的關(guān)系就是用A、B、CD、E、F這個3*3的權(quán)值矩陣來模擬的,怎么模擬?

    D=A*w11+ B*w21 + C*w31

    E=A*w12 + B*w22 + C*w32

    F=A*13 + B*w23 + C*w33

    我們想要的結(jié)果就是適合的w11w339個權(quán)值,可以達(dá)到我們模擬輸出的效果。

    偉大的思想往往在算法設(shè)計(jì)時起到指導(dǎo)作用,我們不知道怎么選這9個權(quán)值,但是如果給權(quán)值們一個初值,而以后按照改進(jìn)的方向走,次次迭代,逼近我們想要的理想結(jié)果,不就達(dá)到目的了嘛。

    現(xiàn)在思路有了,給權(quán)值初值,然后按照一定的原則對權(quán)值做修改,直到收斂。

    但是,怎么修改呢,按照爬山的想法,我們得按照坡度的方向來走,那么到這里的應(yīng)用,就是按照誤差對權(quán)值到微分來走。誤差就是最終的輸出結(jié)果和我們的D、EF得到結(jié)果的平方差。其實(shí)具體到平方差不平方差都不重要,重要的是誤差是由D、E、F來計(jì)算的。

    現(xiàn)在我們的目的就是求誤差對w11w33的微分,以w11為例:

    A -w11-> D

    A通過w11作用到D,那么誤差對w11的導(dǎo),可以看成誤差對D的導(dǎo),再乘以Dw11的導(dǎo)(這是微分方程里面一個常用技巧)

    Dw11的導(dǎo),很好求,用我們開始的微分意義來說,就是w11D的影響,很顯然是A,因?yàn)?/span>w11只通過AD有影響;那么剩下的唯一的關(guān)鍵就是如何求誤差對D的導(dǎo)數(shù)了。

    如果D是最后一層,那么該值很明顯,直接拿誤差的式子(比如平方和)對D求到即可。但是如果D所在的不是最后一層,那么誤差對D求導(dǎo)怎么辦呢?(因?yàn)檎`差是最后一層,所以當(dāng)D是中間層是不好辦)

 

    注意了,誤差反傳這四個字的意義就來源于下面的解釋:

   “當(dāng)一個對象X,通過一些代理對象,對另一個對象Y起作用時,那么對象X對對象Y的作用實(shí)際就是代理對象對Y的作用之和對X的微分”

    等價這里:

   “當(dāng)D,通過下一層的節(jié)點(diǎn)們H、I、G,對誤差起作用時,那么D對誤差的作用,實(shí)際上就是H、I、G對誤差的作用之和對D的微分”

    如果不理解沒關(guān)系,只要能看懂有這個意思即可,就是求D對誤差的作用,就必須要求D的下一層的節(jié)點(diǎn)們對誤差的作用,而求D的下一層的節(jié)點(diǎn)對誤差的作用,就要求下下層對誤差的作用,依此往后推。而最后一層的誤差對節(jié)點(diǎn)的作用最好求,所以才會從最后一層計(jì)算誤差。

    這就是誤差反傳的來歷。

    再舉一個俗例子做補(bǔ)充,一個雜技表演有幾個人組成,這個雜技表演失誤的概率實(shí)際上是由這幾個人各自的失誤的概率來影響的,那么雜技表演的誤差概率就得從這幾個人的失誤概率往下推,等理于誤差反傳。

 

   這個神經(jīng)元網(wǎng)絡(luò)的公式推導(dǎo),是我所能想到的最完美體現(xiàn)微分涵義的實(shí)際軟件應(yīng)用,從梯度下降到誤差反傳,無一不深度包含這微分運(yùn)算的數(shù)學(xué)本質(zhì)。

   當(dāng)然,作為高等數(shù)學(xué)基礎(chǔ)中基礎(chǔ)的微分,對于很多理論都有基礎(chǔ)作用,泰勒公式、拉格朗日中值,都以微分做起點(diǎn),這里不做介紹了。高數(shù)中考高分容易,但是能把高等數(shù)學(xué)思想和計(jì)算機(jī)程序設(shè)計(jì)聯(lián)系起來就不那么簡單了,這也就是那些大師為什么稱做大師的原因吧。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多