獨熱[1](英語:One-hot)在數位電路和機器學習中被用來表示一種特殊的位元組或向量,該位元組或向量裏僅容許其中一位爲1,其他位都必須爲0[2]。其被稱爲獨熱因爲其中只能有一個1,若情況相反,只有一個0,其餘爲1,則稱爲獨冷(One-cold)[3]。在統計學中,虛擬變量代表了類似的概念。
應用
獨熱碼常常被用來表示一個有限狀態機的狀態。如果使用二進制或格雷碼來代表狀態,則需要用到解碼器才能得知該碼代表的狀態。使用獨熱碼來代表狀態的話,則不需要解碼器,因爲若第個位元爲1,就代表機器目前在第個狀態。
一個有限狀態機的例子是由15個狀態構成的環狀計數器。使用獨熱編碼來實現此狀態機的話,可以將15個正反器串聯在一起,每個正反器的Q輸出接到下一個正反器的D輸入,而第一個正反器的D輸入則是接到第15個的Q輸出,形成一個環狀。第一個正反器代表機器的第一個狀態,第二個正反器代表第二個狀態,依此類推。當機器被歸零重設時,第一個正反器的值爲1,其餘爲0。當一個時脈邊緣抵達正反器時,會將1推進到下一個正反器。依照這種方式,1可一步步推進到第15個正反器,亦即第15個狀態,再之後則重新回到第一個狀態。
位址解碼器可以將二進制或格雷碼轉換成獨熱碼,而優先編碼器則是作用相反。
在自然語言處理中,若有個字典或字庫裏有個單字,則每個單字可以被一個維的獨熱向量代表[7]。譬如若字庫裏僅有apple(蘋果)、banana(香蕉)以及pineapple(鳳梨)這三個單字,則他們各自的獨熱向量可以爲:
由於電腦無法理解非數字類的數據,獨熱編碼可以將類別性數據轉換成統一的數字格式,方便機器學習的演算法進行處理及計算。而轉換成固定維度的向量則方便機器學習演算法進行線性代數上的計算。另外由於一個獨熱向量中,絕大部分的數字都是0,所以若使用稀疏矩陣的資料結構,則可以節省電腦記憶體的使用量。
參見
參考文獻
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.