iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 23
0
自我挑戰組

Tensorflow學習日記系列 第 23

tensorflow學習日記Day23 OneHot encoding

  • 分享至 

  • xImage
  •  

什麼是OneHot encoding?
一句話來說OneHot encoding將特徵轉為方便類神經網路運算的模式。
怎麼說呢?
很多時候特徵不會是數字,例如:男人、女人、貓、狗...等
這種時候我們會將它轉成數字,例如:[male,female,unknown]變成[0,1,2]這個步驟是label encoding

可是這樣的做法假設有n個特徵,就會產生0到n這些特徵。有一種方法可以讓特徵從0,1,2,3,4,5...n變成只有0和1,這就是OneHot encoding在做的事。

為什麼不能用數字(label encoding)就好了,一定要0和1呢?
因為神經網路的運算當中有許多需要取平均的情況。
假設我們今天有[dog,cat,rabbit,fish]記錄為[0,1,2,3]
0+2/2=1,這意味著dog和rabbit平均之後會變成cat,這是一件很糟糕的事。

那麼Onehot encoding是怎麼運行的呢?
假設今天有四類特徵[0,1,2,3]
會產生[1000,0100,0010,0001]
依此類推。

參考資料:
https://www.itread01.com/content/1501748526.html
https://codertw.com/人工智慧/95606/
https://zhuanlan.zhihu.com/p/37471802


上一篇
tensorflow學習日記Day22 CNN卷積神經網路實作
下一篇
tensorflow學習日記Day24 Cifar-10影像辨識資料集
系列文
Tensorflow學習日記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言