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)
雖然在計算loss時可以透過MSE,但大多數在分類的資料訓練時都會利用Cross-entropy來計算類別的loss,會更加適合。-> 有時候MSE會training不起來,但Cross entropy的斜率會比較平均。
Cross entropy計算loss的方法:L(y') = -Σŷilnyi'