編者按:數(shù)據(jù)科學(xué)家Rakshith Vasudev簡要解釋了one hot編碼這一機器學(xué)習(xí)中極為常見的技術(shù)。

圖片來源:imgur
你可能在有關(guān)機器學(xué)習(xí)的很多文檔、文章、論文中接觸到“one hot編碼”這一術(shù)語。本文將科普這一概念,介紹one hot編碼到底是什么。
一句話概括:one hot編碼是將類別變量轉(zhuǎn)換為機器學(xué)習(xí)算法易于利用的一種形式的過程。
通過例子可能更容易理解這個概念。
假設(shè)我們有一個迷你數(shù)據(jù)集:

其中,類別值是分配給數(shù)據(jù)集中條目的數(shù)值編號。比如,如果我們在數(shù)據(jù)集中新加入一個公司,那么我們會給這家公司一個新類別值4。當(dāng)獨特的條目增加時,類別值將成比例增加。
在上面的表格中,類別值從1開始,更符合日常生活中的習(xí)慣。實際項目中,類別值從0開始(因為大多數(shù)計算機系統(tǒng)計數(shù)),所以,如果有N個類別,類別值為0至N-1.
sklear的LabelEncoder可以幫我們完成這一類別值分配工作。
現(xiàn)在讓我們繼續(xù)討論one hot編碼,將以上數(shù)據(jù)集one hot編碼后,我們得到的表示如下:

在我們繼續(xù)之前,你可以想一下為什么不直接提供標簽編碼給模型訓(xùn)練就夠了?為什么需要one hot編碼?
標簽編碼的問題是它假定類別值越高,該類別更好。“等等,什么!”
讓我解釋一下:根據(jù)標簽編碼的類別值,我們的迷你數(shù)據(jù)集中VW > Acura > Honda。比方說,假設(shè)模型內(nèi)部計算平均值(神經(jīng)網(wǎng)絡(luò)中有大量加權(quán)平均運算),那么1 + 3 = 4,4 / 2 = 2. 這意味著:VW和Honda平均一下是Acura。毫無疑問,這是一個糟糕的方案。該模型的預(yù)測會有大量誤差。
我們使用one hot編碼器對類別進行“二進制化”操作,然后將其作為模型訓(xùn)練的特征,原因正在于此。
當(dāng)然,如果我們在設(shè)計網(wǎng)絡(luò)的時候考慮到這點,對標簽編碼的類別值進行特別處理,那就沒問題。不過,在大多數(shù)情況下,使用one hot編碼是一個更簡單直接的方案。
另外,如果原本的標簽編碼是有序的,那one hot編碼就不合適了——會丟失順序信息。
最后,我們用一個例子總結(jié)下本文:
假設(shè)“花”的特征可能的取值為daffodil(水仙)、lily(百合)、rose(玫瑰)。one hot編碼將其轉(zhuǎn)換為三個特征:is_daffodil、is_lily、is_rose,這些特征都是二進制的。
-
編碼器
+關(guān)注
關(guān)注
45文章
4016瀏覽量
143567 -
機器學(xué)習(xí)
+關(guān)注
關(guān)注
67文章
8569瀏覽量
137330 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1240瀏覽量
26276
原文標題:什么是one hot編碼?為什么要使用one hot編碼?
文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
機器學(xué)習(xí)模型可解釋性的結(jié)果分析
如何通過XGBoost解釋機器學(xué)習(xí)
基于深度學(xué)習(xí)技術(shù)的智能機器人
可解釋的機器學(xué)習(xí)——打開機器學(xué)習(xí)黑匣子
機器學(xué)習(xí)的相關(guān)資料下載
人工智能和機器學(xué)習(xí)技術(shù)如何解釋數(shù)據(jù)?
可以提高機器學(xué)習(xí)模型的可解釋性技術(shù)
什么是特征工程?機器學(xué)習(xí)的特征工程詳解解讀
簡要解釋one hot編碼這一機器學(xué)習(xí)中極為常見的技術(shù)
評論