2024-05-01|閱讀時間 ‧ 約 22 分鐘

類神經網路訓練 訓練機器分類與Cross-entropy

    Classification 可以使用Regression來實作嗎?

    我們可以透過使用one-hot vector表示不同的類別。假設有三個類別我們需要區分,這時候我們不使用單純的數字1, 2, 3,而是改用向量[1 0 0]T, [0 1 0]T, [0 0 1]T,藉此就能避免掉1與2比較相似,1與3比較不相似的問題。


    但要如何從原本輸出一個數值,進化到輸出三個數值形成向量呢?

    透過乘上不同的Weight和加上不同的bias就能得到一個數值,那同樣如果要得到三個數值形成向量,就找出三組W與Bias。

    但除此之外,我們還會額外通過softmax的方式,得到最終的y'值。目的是為了更方便與類別向量做比較,類別向量只有1跟0的數字,softmax可以做到normalize的過程,最後就會得到0~1的數值。

    計算方法: 將y值取exp之後,除以所有exp y值的總和。(像是比較權重?!)

    y' = softmax(y) = exp(yi) / exp(y1)+exp(y2)+exp(y3)


    Cross-entropy

    雖然在計算loss時可以透過MSE,但大多數在分類的資料訓練時都會利用Cross-entropy來計算類別的loss,會更加適合。-> 有時候MSE會training不起來,但Cross entropy的斜率會比較平均。

    Cross entropy計算loss的方法:L(y') = -Σŷilnyi'


    分享至
    成為作者繼續創作的動力吧!
    © 2024 vocus All rights reserved.