日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【机器学习】 - 激活函数与交叉熵Sigmoid, Softmax, binary_crossentropy, categorican_crossentropy区别

發(fā)布時間:2023/12/10 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【机器学习】 - 激活函数与交叉熵Sigmoid, Softmax, binary_crossentropy, categorican_crossentropy区别 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

Content:

  • 為什么需要激活函數(shù);
  • 一個神經(jīng)元在做什么;
  • 激活函數(shù)
    • Sigmoid
    • Softmax

    4. 交叉熵損失函數(shù)

    • Binary cross-entropy
    • Categorican cross-entropy

    為什么需要激活函數(shù):

    Ans: 為了引入非線性變換。

    如下圖所示的紅線和藍線,在這個二維空間中,我們不能用一條線完整的將這兩個區(qū)域分割開。但如果我們將這個二維空間扭曲變換,那么在高維空間中,就可以用一條線完整的分割出紅色和藍色區(qū)域。(這也就是打破線性變換的局限性,通過非線性變換在高維空間解決分類問題,也是神經(jīng)網(wǎng)絡(luò)要做的事情)

    Fig 1. A neural network can distort the input space to make the classes of data (blue and red regions) linearly separable [1].

    Fig.2. The hidden layer learns a representation so that the data is linearly separable [1]

    一個基本的神經(jīng)元在做什么:

    y:神經(jīng)元的輸出;

    W*x: 就像我之前說的,神經(jīng)網(wǎng)絡(luò)目的就是將低維空間映射到高維空間從而實現(xiàn)線性可分。所以這一項的目的就是空間變換實現(xiàn)升維或者降維, 空間的放大或者縮小, 旋轉(zhuǎn))的目的;

    b: bias, 實現(xiàn)空間平移的目的;

    a: 空間的彎曲;

    基本神經(jīng)元各個部分的解釋

    激活函數(shù):

    sigmoid, softmax主要用于神經(jīng)網(wǎng)絡(luò)輸出層的輸出。

    總結(jié):激活函數(shù)給神經(jīng)元引入了非線性因素,使得神經(jīng)網(wǎng)絡(luò)可以任意逼近任何非線性函數(shù),這樣神經(jīng)網(wǎng)絡(luò)就可以應(yīng)用到眾多的非線性模型中。

    1. Sigmoid

    Sigmoid 將一個實數(shù)映射到 (0,1) 的區(qū)間,可以用來做二分類。Sigmoid 在特征相差比較復(fù)雜或是相差不是特別大時效果比較好。Sigmoid不適合用在神經(jīng)網(wǎng)絡(luò)的中間層,因為對于深層網(wǎng)絡(luò),sigmoid 函數(shù)反向傳播時,很容易就會出現(xiàn)梯度消失的情況(在 sigmoid 接近飽和區(qū)時,變換太緩慢,導(dǎo)數(shù)趨于 0,這種情況會造成信息丟失),從而無法完成深層網(wǎng)絡(luò)的訓(xùn)練。所以Sigmoid主要用于對神經(jīng)網(wǎng)絡(luò)輸出層的激活

    2. Softmax

    可以看作是Sigmoid的一般情況,用于多分類問題。

    Softmax函數(shù)將K維的實數(shù)向量壓縮(映射)成另一個K維的實數(shù)向量,其中向量中的每個元素取值都介于 (0,1) 之間。常用于多分類問題。

    ?

    交叉熵損失函數(shù):

    交叉熵可在神經(jīng)網(wǎng)絡(luò)(機器學(xué)習(xí))中作為損失函數(shù)。 如下公式所示:y表示真實標記的分布,a則為訓(xùn)練后的模型的預(yù)測標記分布,交叉熵損失函數(shù)可以衡量y與a的相似性。交叉熵作為損失函數(shù)還有一個好處是使用sigmoid函數(shù)在梯度下降時能避免均方誤差損失函數(shù)學(xué)習(xí)速率降低的問題,因為學(xué)習(xí)速率可以被輸出的誤差所控制。

  • Binary Cross Entropy
  • 常用于二分類問題,當然也可以用于多分類問題,通常需要在網(wǎng)絡(luò)的最后一層添加sigmoid進行配合使用,其期望輸出值(target)需要進行one hot編碼,另外BCELoss還可以用于多分類問題Multi-label classification.

    定義:
    For brevity, let x = output, z = target. The binary cross entropy loss is
    loss(x, z) = - sum_i (x[i] * log(z[i]) + (1 - x[i]) * log(1 - z[i]))

    對應(yīng)的代碼為:

    def binary_crossentropy(t,o):return -(t*tf.log(o+eps) + (1.0-t)*tf.log(1.0-o+eps))

    2. Categorical cross-entropy

    p are the predictions, t are the targets, i denotes the data point and j denotes the class.

    適用于多分類問題,并使用softmax作為輸出層的激活函數(shù)的情況。

    This is the loss function of choice for multi-class classification problems and softmax output units. For hard targets, i.e., targets that assign all of the probability to a single class per data point, providing a vector of int for the targets is usually slightly more efficient than providing a matrix with a single 1.0 per row.

    References:

    [1] Neural Networks, Manifolds, and Topology

    ?

    鏈接:https://www.zhihu.com/question/36307214/answer/364963552


    貼幾個不錯的鏈接:

    ?用sigmoid作為激活函數(shù),為什么往往損失函數(shù)選用binary_crossentropy 而不用mse

    各大損失函數(shù)的定義:MSE,MAE,MAPE,hinge,squad_hinge,binary_crossentropy等?

    【機器學(xué)習(xí)】 - 關(guān)于合適用均方誤差(MSE)何時用交叉熵(cross-entropy)

    https://www.cnblogs.com/lijie-blog/p/10166002.html

    ?

    ?


    sigmoid和softmax是神經(jīng)網(wǎng)絡(luò)輸出層使用的激活函數(shù),分別用于兩類判別和多類判別。

    binary cross-entropy和categorical cross-entropy是相對應(yīng)的損失函數(shù)。

    對應(yīng)的激活函數(shù)和損失函數(shù)相匹配,可以使得error propagation的時候,每個輸出神經(jīng)元的“誤差”(損失函數(shù)對輸入的導(dǎo)數(shù))恰等于其輸出與ground truth之差。
    (詳見Pattern Recognition and Machine Learning一書5.3章)

    鏈接:https://www.zhihu.com/question/36307214/answer/66899792

    總結(jié)

    以上是生活随笔為你收集整理的【机器学习】 - 激活函数与交叉熵Sigmoid, Softmax, binary_crossentropy, categorican_crossentropy区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。