斯坦福CS231n assignment1:softmax損失函數(shù)求導(dǎo)

分類

在前文斯坦福CS231n assignment1:SVM圖像分類原理及實(shí)現(xiàn)中我們講解了利用SVM模型進(jìn)行圖像分類的方法秃殉,本文我們講解圖像分類的另一種實(shí)現(xiàn)免绿,利用softmax進(jìn)行圖像分類。

softmax和svm模型網(wǎng)絡(luò)結(jié)構(gòu)很相似零渐,區(qū)別在于softmax會(huì)對(duì)svm的輸出分量進(jìn)行歸一化處理窒舟,使得每一個(gè)輸出分量變成一個(gè)概率值,所有輸出分量的概率之和為1诵盼。


歸一化概率

同時(shí)損失函數(shù)也發(fā)生了變化辜纲,svm的損失函數(shù)折葉損失(hinge loss)是針對(duì)樣本的標(biāo)記類別之外的其他類別進(jìn)行損失計(jì)算的,也就是說標(biāo)記類別不計(jì)入損失拦耐,其他類別計(jì)算損失并累加作為某個(gè)樣本的損失。而softmax的損失函數(shù)交叉熵?fù)p失(cross-entropy loss)只跟某個(gè)樣本的標(biāo)記類別相關(guān)见剩,根據(jù)該標(biāo)記類別的概率計(jì)算損失值杀糯,而不考慮標(biāo)記類別之外的其他類別。


svm和softmax損失函數(shù)的計(jì)算比較

svm得出的每個(gè)輸出節(jié)點(diǎn)的得分苍苞,比如[98, 33, 15]是無標(biāo)定的固翰,也就是只是一個(gè)相對(duì)的大小,難以進(jìn)行直觀的解釋羹呵。而softmax可以解釋為實(shí)例被劃分為某個(gè)類別的可能性骂际,或者概率。

下面是softmax的損失函數(shù):

softmax損失函數(shù)

也可以等價(jià)成:


softmax損失函數(shù)等價(jià)寫法

加入正則化損失項(xiàng)后冈欢,批處理過程中N個(gè)樣本的平均損失變成:


加入正則項(xiàng)的損失函數(shù)

這里我們使用L2正則化損失:


L2正則化損失項(xiàng)

在此基礎(chǔ)上我們來推導(dǎo)損失函數(shù)L對(duì)權(quán)重Wij的偏導(dǎo)數(shù)歉铝,推導(dǎo)過程如下:


softmax交叉熵梯度計(jì)算

在這個(gè)推導(dǎo)過程中需要注意的是,直接跟標(biāo)記類對(duì)應(yīng)的輸出節(jié)點(diǎn)相連的權(quán)重和不跟標(biāo)記類節(jié)點(diǎn)相連的權(quán)重的偏導(dǎo)數(shù)格式是不一樣的凑耻,對(duì)應(yīng)于推導(dǎo)過程中的if/else判別太示。

對(duì)應(yīng)的代碼如下:

def softmax_loss_naive(W, X, y, reg):
  """
  :param X: 200 X 3073
  :param Y: 200
  :param W: 3073 X 10
  :return: reg: 正則化損失系數(shù)(無法通過拍腦袋設(shè)定,需要多試幾個(gè)值香浩,然后找個(gè)最優(yōu)的)
  """
  dW = np.zeros(W.shape) # initialize the gradient as zero

  # compute the loss and the gradient
  num_classes = W.shape[1]
  num_train = X.shape[0]
  loss = 0.0
  for k in xrange(num_train):
    origin_scors = X[k].dot(W)
    probabilities = np.zeros(origin_scors.shape)
    logc = -np.max(origin_scors)
    total_sum = np.sum(np.exp(origin_scors - logc))

    for i in xrange(num_classes):
        probabilities[i] = np.exp(origin_scors[i] - logc) / total_sum

    for i in xrange(num_classes):
        if i == y[k]:
            dW[:, i] += - X[k] * (1 - probabilities[i])  # dW[:, i]:3073X1  X[k]: 3073 X 1
        else:
            dW[:, i] += X[k] * probabilities[i]

    loss += -np.log(probabilities[y[k]])

  # Right now the loss is a sum over all training examples, but we want it
  # to be an average instead so we divide by num_train.
  loss /= num_train
  dW /= num_train
  dW += reg*W # regularize the weights
  # Add regularization to the loss.
  loss += 0.5 * reg * np.sum(W * W)

  return loss, dW
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末类缤,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子邻吭,更是在濱河造成了極大的恐慌餐弱,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異膏蚓,居然都是意外死亡瓢谢,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門降允,熙熙樓的掌柜王于貴愁眉苦臉地迎上來恩闻,“玉大人,你說我怎么就攤上這事剧董〈鄙校” “怎么了?”我有些...
    開封第一講書人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵翅楼,是天一觀的道長(zhǎng)尉剩。 經(jīng)常有香客問我,道長(zhǎng)毅臊,這世上最難降的妖魔是什么理茎? 我笑而不...
    開封第一講書人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮管嬉,結(jié)果婚禮上皂林,老公的妹妹穿的比我還像新娘。我一直安慰自己蚯撩,他們只是感情好础倍,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著胎挎,像睡著了一般沟启。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上犹菇,一...
    開封第一講書人閱讀 51,590評(píng)論 1 305
  • 那天德迹,我揣著相機(jī)與錄音,去河邊找鬼揭芍。 笑死胳搞,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的沼沈。 我是一名探鬼主播流酬,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼列另!你這毒婦竟也來了芽腾?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤页衙,失蹤者是張志新(化名)和其女友劉穎摊滔,沒想到半個(gè)月后阴绢,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡艰躺,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年呻袭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片腺兴。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡左电,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出页响,到底是詐尸還是另有隱情篓足,我是刑警寧澤,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布闰蚕,位于F島的核電站栈拖,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏没陡。R本人自食惡果不足惜涩哟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望盼玄。 院中可真熱鬧贴彼,春花似錦、人聲如沸埃儿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蝌箍。三九已至,卻和暖如春暴心,著一層夾襖步出監(jiān)牢的瞬間妓盲,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來泰國打工专普, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留悯衬,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓檀夹,卻偏偏與公主長(zhǎng)得像筋粗,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子炸渡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355