multi hot編碼原理

2021-08-24 17:32:39 字數 652 閱讀 7653

對於某個屬性對應的分類特徵,可能該特徵下有多個取值,比如乙個特徵表示對哪些物品感興趣,那麼這個特徵不是單個值,而是有多個取值,樣本1 在該屬性下取值有1,2兩種特徵,  樣本2 在該屬性下有2一種特徵, 樣本3 在該屬性下有3,4 兩種特徵,如果以類似one-hot編碼的形式來定義特徵應為樣本1 [1,1,0,0]  樣本2 [0,1,0,0], 樣本3 [0,0,1,1],但是這種變數不能夠直接用embedding_lookup去做,embedding_lookup只接受只有乙個1的one-hot編碼,那麼為了完成這種情況的embedding需要兩個步驟:

1. 將輸入屬性轉化為型別one-hot編碼的形式, 在tensorflow中這個過程是通過tf.sparsetensor來完成的,實際上就是構建了乙個字典矩陣,key為座標,value為1或者0表示是否有值,對於乙個樣本如樣本1來說就是構建了乙個矩陣[[1,1,0,0]]表示有物品1和2,這個矩陣的規模為[batch_size,num_items],這個過程即為multi-hot編碼

2. 將構建好的類似於one-hot編碼的矩陣與embedding矩陣相乘, embedding矩陣的規模為[num_items, embedding_size],相乘之後得到的輸出規模為[batchi_size, embedding_size],即對多維多屬性的特徵構建了embedding vector

編碼原理基礎

計算機編碼原理 在計算機中,所有的資料在儲存和運算時都要使用二進位制數表示 因為計算機用高電平和低電平分別表示1和0 例如,像a b c d這樣的52個字母 包括大寫 以及0 1等數字還有一些常用的符號 例如 等 在計算機中儲存時也要使用二進位制數來表示,而具體用哪些二進位制數字表示哪個符號,當然每...

jsp servlet編碼原理

首先,說說 jsp servlet 中的幾個編碼的作用 在 jsp servlet 中主要有以下幾種設定編碼的方式 pageencoding utf 8 jsp contenttype text html charset utf 8 jsp request.setcharacterencoding ...

JSP Servlet的編碼原理

關鍵字 jsp,servlet編碼 首先,說說 jsp servlet 中的幾個編碼的作用 在 jsp servlet 中主要有以下幾種設定編碼的方式 pageencoding utf 8 contenttype text html charset utf 8 request.setcharacte...