機器學習中 為何要使用 獨熱編碼 one-hot


背景

接觸tensorflow時,學習到mnist,發現處理數據的時候采取one-hot編碼,想起以前搞FPGA狀態機遇到過格雷碼與獨熱碼。

解析:

將離散型特征使用one-hot編碼,確實會讓特征之間的距離計算更加合理。

比如,有一個離散型特征,代表工作類型,該離散型特征,共有三個取值。
不使用one-hot編碼,其表示分別是x_1 = (1), x_2 = (2), x_3 = (3)。兩個工作之間的距離是,(x_1, x_2) = 1, d(x_2, x_3) = 1, d(x_1, x_3) = 2。
那么x_1和x_3工作之間就越不相似嗎?顯然這樣的表示,計算出來的特征的距離是不合理。
如果使用one-hot編碼,則得到x_1 = (1, 0, 0), x_2 = (0, 1, 0), x_3 = (0, 0, 1),那么兩個工作之間的距離就都是sqrt(2):即每兩個工作之間的距離是一樣的,顯得更合理。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM