one-hot表示和分佈式表示

這是深度學習的一個基本概念,看到有一篇講的不錯的博文,大家可以看看,特此轉載,鏈接如下:https://blog.csdn.net/mawenqi0729/article/details/80698780

除此之外,我在舉一個簡單的例子,讓大家有一個直觀的理解。 這也是目前我對one-hot編碼及分佈式表示的理解。

one-hot編碼和分佈式表示的直觀理解:

one-hot編碼
有5個樣本分別是:

樣本 特徵
sample1 紅色卡車
sample2 紅色汽車
sample3 灰色卡車
sample4 灰色汽車
sample5 灰色卡車

我們可以知道,這個例子中共有4種不同的狀態,即紅色卡車、紅色汽車、灰色卡車、灰色汽車,於是我們用4位來表示各個狀態,依次爲(0,0,0,1),(0,0,1,0),(0,1,0,0),(1,0,0,0)。
這就是one-hot編碼,N個狀態就用N位狀態寄存器,並且在任意時候,其中只有一位有效。

分佈式表示

那麼分佈式表示在上述例子中怎麼做呢?
將顏色作爲一個特徵,用兩位來表示紅色:0,灰色:1;車類型用兩位來表示汽車:0,卡車:1
這樣一來4種狀態只要兩位來表示了,即紅色卡車、紅色汽車、灰色卡車、灰色汽車,依次爲(0,1),(0,0),(1,1),(1,0)。也就是共享了一些參數。
————————————————————————————————————————————
通過上述例子應該就能很直觀的理解one-hot編碼和分佈式表示啦。下面在放另一篇文章的一個不錯的例子,供大家理解只用。

我們可以把左圖看成是一般的聚類方式,右圖看成是基於分佈式表示的聚類方式。如左圖所示,假設我們把整個的空間分成幾個區域,那每一個區域可以由一組參數來描述(charaterize)。 比如在高斯混合模型(Gaussian Mixture Model)裏,每一個混合模塊(Mixture component)都由一組高斯分佈的期望和協方差來(covariance)決定。相比之下,在右圖中,每一個區域由三個子模塊來表達。 這個時候我們只需要三組參數,而且每一個區域都會共享這三組參數,被稱之爲參數共享(parameter sharing)。 這個性質帶來的一個重要的優點是 – 非局部泛化(non-localgeneralization). 我們需要知道機器學習的目的就是要在測試級上(test set)得到更好的泛化(bettergeneralization)效果 。 在左圖中,我們只能得到局部泛化(local generalization), 即便這樣,爲了達到局部泛化的目的,我們需要對每個區域有足夠多的例子(training examples)。除此之外,分佈式表示可以有效地應對curse of dimensionality問題 。

在這裏插入圖片描述
——摘自:https://www.jiqizhixin.com/articles/2019-02-01-3

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章