Deep Learning筆記: Course 1, Week 2

Logistic Regression as Neural Network

本周課程涉及到的知識點(diǎn):

  • Logistic regression 的基本結(jié)構(gòu)
  • Loss and cost function 定義
  • Gradient descent 梯度下降算法
  • Backward propagation 反向傳播算法

Logistic regression 的基本結(jié)構(gòu)

Logistic regression 可以認(rèn)為是一種最簡單的神經(jīng)網(wǎng)絡(luò)巍杈。我們以二元分類(binary classification)問題來說明它的具體結(jié)構(gòu):

Logistic Regression的結(jié)構(gòu)

我們需要解決的問題是輸入一個(gè)圖像,判斷這個(gè)圖像中是否包含一只貓鸥诽。輸出為1代表圖像是一只貓娄周,0則不是诉位。為了解決這個(gè)問題叭爱,我們首先提取圖像中所有的像素點(diǎn)脯倒,把它們放在一個(gè)向量 X 里实辑。這個(gè)向量的維度是[64 * 64 * 3, 1], 其中64是像素點(diǎn)的個(gè)數(shù),3 是因?yàn)槊總€(gè)像素點(diǎn)需要包含 RGB 三種顏色的信息藻丢。這個(gè)向量也即是我們的輸入 X剪撬。隨后我們首先對該輸入向量做線性變換,得到 Z = W*X + b悠反, 隨后通過sigmoid方程 把結(jié)果轉(zhuǎn)化為一個(gè)0残黑, 1 之間的數(shù)。例如0.73斋否, 因?yàn)?.73 > 0.5, 我們最后輸出1梨水, 也即認(rèn)為圖像中包含一只貓。

從上面的結(jié)構(gòu)可以看出茵臭,logistic regression的目標(biāo)則是給定一系列已經(jīng)標(biāo)記的圖像(training dataset)疫诽,通過不斷的迭代調(diào)整參數(shù)(W, b)使得輸出的判斷結(jié)果(是貓或者不是貓)盡量準(zhǔn)確。這個(gè)過程可以被概括成如下幾步:

  1. 初始化模型結(jié)構(gòu),比如輸入?yún)?shù) X 的feature個(gè)數(shù)
  2. 初始化模型參數(shù)奇徒,比如 Wb
  3. 循環(huán)優(yōu)化參數(shù):
    • 通過forward propagation計(jì)算cost function, 也即輸出結(jié)果和真實(shí)結(jié)果之間的誤差
    • 通過backward propagation反過來計(jì)算cost function 對于W雏亚,b的梯度
    • 用gradient descent來優(yōu)化參數(shù)W, b,使得下一輪的判斷更加準(zhǔn)確

可見這個(gè)過程中有幾個(gè)重要的部分:cost function的定義,forward propagation, backward propagation 以及 gradient descent摩钙。其中forward propagation就是根據(jù)輸入 X 來計(jì)算最后的輸出的過程罢低,比較簡單,這里不再多說胖笛,我們下面重點(diǎn)介紹一下其他的部分网持。

Loss and cost function 的定義

假設(shè)模型輸出的結(jié)果是 y', 實(shí)際的真實(shí)結(jié)果是 y, 如何衡量輸出值和真實(shí)值之間的差距呢?

我們用如下方式來定義loss function

[圖片上傳失敗...(image-846300-1511717383424)]=y\log(\hat{y})+(1-y)\log(1-\hat{y}))

直覺上來理解长踊,當(dāng) y = 1 的時(shí)候 L = -log(y'), 為了盡量縮小 L, y' 應(yīng)該盡量大功舀,也即越靠近 1 越好。而 y = 0 的時(shí)候 L = -log(1 - y'), 可見 y' 越靠近1之斯, L 就越小。這樣就巧妙的把 yy' 的取值對應(yīng)了起來莉擒。 關(guān)于這個(gè)定義,有兩點(diǎn)需要注意:

  1. 我們不用簡單的 L = (y - y')^2 的方式來定義 loss, 主要原因是這個(gè)不能保證 L 是convex function,同樣也就不能保證存在全局最優(yōu)解。
  2. 這個(gè)loss function的來源其實(shí)是極大似然估計(jì)。解釋如下:

假設(shè) y' = P(y = 1|x), 那么一旦 y = 1P(y | x) = y', 而一旦 y = 0P(y | x) = 1 - y'. 這個(gè)關(guān)系可以被合并寫成下式:

[圖片上傳失敗...(image-af1ddf-1511717383424)]%20=%20\hat{y}y%20*%20(1%20-%20\hat{y}){1-y})

應(yīng)用對數(shù)極大似然估計(jì),我們對上式兩邊取對數(shù),即可得到loss function的定義韩脏。關(guān)于極大似然估計(jì)的思想可以看這里杭朱。

注意loss function的定義是針對每個(gè)training data的送浊,即對每個(gè)輸入 X 我們都可以計(jì)算出一個(gè)loss value, 那么把m個(gè)training data的loss value取平均我們就得到了cost function的定義J

[圖片上傳失敗...(image-b8e501-1511717383424)]}\log(a{(i)})+(1-y{(i)})\log(1-a^{(i)}))

cost function非常重要闭树,因?yàn)閘ogistic regression的任務(wù)無非就是不斷調(diào)整優(yōu)化 W, b 參數(shù)使得cost function的值
J 最小化而已与殃。至于如何做到昼接,我們需要用到gradient descent算法。

Gradient descent 梯度下降算法

給定方程 J(W, b)泪喊,如何才能找到合適的 W复凳, b 值來使得 J 最小化呢?

為了簡化問題惶洲,我們假定 J 只和 W 有關(guān)须床, 那么為了使 J 最小我們應(yīng)該對 W 循環(huán)執(zhí)行如下操作知道 J 收斂:

[圖片上傳失敗...(image-456d84-1511717383424)]

其中 a 為 learning rate, dWJ 關(guān)于 W 求導(dǎo) (dJ/dW)族阅。關(guān)于為何這樣可以最小化 J愧沟, 下圖可謂一目了然:

Gradient Descent

我們每次都按照梯度 dW 的方向調(diào)整 W, 這樣可以讓 J 的值不斷往谷底滑落直到最低點(diǎn),因此這個(gè)算法被稱為gradient descent(梯度下降)鲤遥。

從后面的課程來看沐寺,這個(gè)看似簡單算法實(shí)際上是neural network的核心。后面要提到的Adam optimization都是在最基本的gradient descent修改而來的盖奈。

Backward propagation 反向傳播算法

為了應(yīng)用梯度下降算法芽丹,我們首先要求得 J 對每個(gè)參數(shù) W, b 的梯度 - 也即是backward propagation的作用。為了解釋backward propagation卜朗, 我們先來看一下logistic regression的computation graph拔第。

image.png

對于每個(gè)輸入 X 和參數(shù) w1,w2,b, 我們可以首先通過forward propagation計(jì)算 a 和 loss function. 現(xiàn)在的問題是如何計(jì)算dL/dw1, dL/dw2 以及dL/db。我們從后往前遞推场钉,首先計(jì)算dL/da = -y/a - (1-y)/(1-a), 隨后計(jì)算dL/dz = dL/da * da/dz = a - y蚊俺。最后我們就可以計(jì)算得到dw1 = dL/dz * dz/dw1 = x1 * (a - y) , dw2 = dL/dz * dz/dw2 = x2 * (a - y) 以及 db = dL/dz * dz/db = a - y

這解釋了為何這個(gè)算法被稱為 backward propagation逛万, 因?yàn)槠渌悸肥菑淖詈蟮?cost function 往后遞推去計(jì)算 L 對每個(gè)參數(shù)的梯度泳猬, 這樣做可以極大的降低計(jì)算復(fù)雜度。不然的話為了計(jì)算 dL/dw1 我們不得不先計(jì)算 dL/da, da/dz, dz/dw1, 然后在計(jì)算dL/dw2的時(shí)候又要重復(fù)計(jì)算dL/da, da/dz(除非我們把dL/da, da/dz的值緩存下來)宇植。從后往前計(jì)算梯度則自然的避免了這些重復(fù)的計(jì)算過程得封。

最后,注意我們需要計(jì)算的是我們需要對m個(gè)training data計(jì)算反向梯度指郁,也就是我們關(guān)心的其實(shí)是 dJ/dW, dJ/db, 這個(gè)可以通過下面兩式求得:

[圖片上傳失敗...(image-c1fa62-1511717383424)]^T)

[圖片上傳失敗...(image-5b7905-1511717383424)]}-y^{(i)}))

總結(jié)

到這里我們已經(jīng)可以構(gòu)建一個(gè)基于logistic regression的最簡單的分類器了忙上。再概括一下,其思想無非是根據(jù)forward propagation計(jì)算輸出以及cost function闲坎, 隨后根據(jù)反向計(jì)算cost function對每個(gè)參數(shù)的梯度疫粥。最后根據(jù)梯度下降算法調(diào)整參數(shù)來使得cost function值降低茬斧,也即提高預(yù)測精度。其實(shí)deep neural network 的基本原理也無非就是這些梗逮,只不過層數(shù)加深以后輸入?yún)?shù)的維度 W, b 變得更加復(fù)雜了而已项秉。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市慷彤,隨后出現(xiàn)的幾起案子娄蔼,更是在濱河造成了極大的恐慌,老刑警劉巖底哗,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贷屎,死亡現(xiàn)場離奇詭異,居然都是意外死亡艘虎,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進(jìn)店門咒吐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來野建,“玉大人,你說我怎么就攤上這事恬叹『蛏” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵绽昼,是天一觀的道長唯鸭。 經(jīng)常有香客問我,道長硅确,這世上最難降的妖魔是什么目溉? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮菱农,結(jié)果婚禮上缭付,老公的妹妹穿的比我還像新娘。我一直安慰自己循未,他們只是感情好陷猫,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著的妖,像睡著了一般绣檬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上嫂粟,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天娇未,我揣著相機(jī)與錄音,去河邊找鬼星虹。 笑死忘蟹,一個(gè)胖子當(dāng)著我的面吹牛飒房,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播媚值,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼狠毯,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了褥芒?” 一聲冷哼從身側(cè)響起嚼松,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎锰扶,沒想到半個(gè)月后献酗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡坷牛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年罕偎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片京闰。...
    茶點(diǎn)故事閱讀 39,981評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡颜及,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蹂楣,到底是詐尸還是另有隱情俏站,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布痊土,位于F島的核電站肄扎,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏赁酝。R本人自食惡果不足惜犯祠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望酌呆。 院中可真熱鬧雷则,春花似錦、人聲如沸肪笋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽藤乙。三九已至猜揪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間坛梁,已是汗流浹背而姐。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留划咐,地道東北人拴念。 一個(gè)月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓钧萍,卻偏偏與公主長得像,于是被迫代替她去往敵國和親政鼠。 傳聞我的和親對象是個(gè)殘疾皇子风瘦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容