w2v

1瓣履、One-Hot representation

又稱為有效編碼船响,主要是采用N位狀態(tài)寄存器來對N個狀態(tài)進(jìn)行編碼,每個狀態(tài)都有獨立的寄存器位窿侈,并且在任意時候只有一位有效。

在實際的機(jī)器學(xué)習(xí)應(yīng)用任務(wù)中秋茫,特征有時候并不總是連續(xù)值史简,有可能是一些分類值,如性別可分為:男/女肛著,對于這樣的特征圆兵,通常我們需要對其進(jìn)行特征數(shù)字化;還可能有一些離散值枢贿,在回歸殉农,分類,聚類等算法中萨咕,特征之間距離的計算或相似度的計算是非常重要的统抬,而我們常用的距離或相似度的計算都是在歐式空間的相似度計算,計算余弦相似性危队,基于的就是歐式空間聪建。而我們使用one-hot編碼,將離散特征的取值擴(kuò)展到了歐式空間茫陆,離散特征的某個取值就對應(yīng)歐式空間的某個點金麸,這樣會讓特征之間的距離計算更加合理。One-Hot編碼是分類變量作為二進(jìn)制向量的表示簿盅。這首先要求將分類值映射到整數(shù)值挥下。然后,每個整數(shù)值被表示為二進(jìn)制向量桨醋,除了整數(shù)的索引之外棚瘟,它都是零值,它被標(biāo)記為1喜最。

舉個例子來說吧偎蘸,按照N位狀態(tài)寄存器來對N個狀態(tài)進(jìn)行編碼的原理,我們這樣處理:
性別特征:["男","女"](這里N=2):
男 => 10
女 => 01
祖國特征:["中國","美國"迷雪,"法國"](這里N=3):
中國 => 100
美國 => 010
法國 => 001
運動特征:["足球"限书,"籃球","排球"章咧,"乒乓球"](這里N=4):
足球 => 1000
籃球 => 0100
排球 => 0010
乒乓球 => 0001
那么如果一個樣本為["男","中國","乒乓球"]的時候倦西,完整的特征數(shù)字化的結(jié)果為:
[1,0赁严,1扰柠,0,0误澳,0耻矮,0秦躯,0忆谓,1]

通過這個例子我們可以清晰地看到One-Hot的優(yōu)缺點:
1,通過one-hot編碼踱承,可以對特征進(jìn)行了擴(kuò)充倡缠。
2,連續(xù)變量經(jīng)過編碼后茎活,從一個權(quán)重變?yōu)槎鄠€權(quán)重昙沦,提升了模型的非線性能力。
3载荔,不需要多參數(shù)進(jìn)行歸一化處理盾饮。
4,隨著將大權(quán)重拆分成幾個小權(quán)重管理特征懒熙,降低了異常值對模型的影響丘损,增加了模型穩(wěn)定性。
5工扎,生成了較大的稀疏矩陣徘钥。

2、分布式表示(Distributed representation)

分布式表示肢娘,描述的是把文本分散嵌入到另一個空間呈础,一般從是從高維空間“嵌入”到低維空間〕鹘。基本思路是通過訓(xùn)練將每個詞映射成一個固定長度的短向量(當(dāng)然這里的“短”是相對于 one-hot representation 的“長”而言的)而钞,所有這些向量就構(gòu)成一個詞向量空間,每一個向量可視為該空間上的一個點拘荡。此時向量長度可以自由選擇臼节,與詞典規(guī)模無關(guān)。

為更好地理解上述思想,我們來舉一個通俗的例子:假設(shè)在二維平面上分布有 N 個不同的點官疲,給定其中的某個點袱结,現(xiàn)在想在平面上找到與這個點最相近的一個點,我們是怎么做的呢途凫?首先垢夹,建立一個直角坐標(biāo)系,基于該坐標(biāo)系维费,其上的每個點就唯一地對應(yīng)一個坐標(biāo) (x,y)果元;接著引入歐氏距離;最后分別計算這個點與其他 N-1 個點之間的距離犀盟,對應(yīng)最小距離值的那個點便是我們要找的點了而晒。

上面的例子中,坐標(biāo)(x,y) 的地位相當(dāng)于詞向量阅畴,它用來將平面上一個點的位置在數(shù)學(xué)上作量化倡怎。坐標(biāo)系建立好以后,要得到某個點的坐標(biāo)是很容易的贱枣,然而监署,在 NLP 任務(wù)中,要得到詞向量就復(fù)雜得多了纽哥,而且詞向量并不唯一钠乏,其質(zhì)量也依賴于訓(xùn)練語料、訓(xùn)練算法和詞向量長度等因素春塌。

word2vector

word2vec工具的提出正是為了解決上面這個問題 晓避。它將每個詞表示成一個定長的向量,并使得這些向量能較好地表達(dá)不同詞之間的相似和類比關(guān)系只壳。我們要知道的是:CBOW(Continuous Bag-of-Words Model)和Skip-gram (Continuous Skip-gram Model)俏拱,是word2vec的兩種訓(xùn)練模式。而負(fù)采樣(Negative Sample)和層次softmax(Hierarchical Softmax)則是兩種加速訓(xùn)練的方法吕世。

基于Hierarchical Softmax的連續(xù)詞袋模型(CBOW)

層次softmax的基本原理:
根據(jù)標(biāo)簽(label)和頻率建立霍夫曼樹彰触;(label出現(xiàn)的頻率越高,Huffman樹的路徑越短)
Huffman樹中每一葉子結(jié)點代表一個label命辖;
具體實現(xiàn)方法就是將輸入層中的詞和詞組構(gòu)成特征向量况毅,再將特征向量通過線性變換映射到隱藏層,隱藏層通過求解最大似然函數(shù)尔艇,然后根據(jù)每個類別的權(quán)重和模型參數(shù)構(gòu)建哈夫曼樹尔许,將哈夫曼樹作為輸出。

假如現(xiàn)在有1000篇新聞文檔终娃,把這些文檔拆成一個個的字味廊,去重后得到3000個字,然后把這3000個字作為字典,進(jìn)行文本表示的模型余佛,叫做詞袋模型柠新。這種模型的特點是字典中的字沒有特定的順序,句子的總體結(jié)構(gòu)也被舍棄了辉巡。



從上面詞袋模型的示意圖可以看出恨憎,詞袋模型擁有三層,與神經(jīng)概率語言模型相比郊楣,主要有以下三點不同:
1憔恳、從輸入層到投影層:不是拼接,而是累加求和净蚤;
2钥组、沒有隱藏層;
3今瀑、輸出層不再是線性結(jié)構(gòu)程梦,而是樹形結(jié)構(gòu)。

輸入層
Context(w)=[w(t?2),w(t?1),w(t+1),w(t+2)]
所以共有2c*m個節(jié)點放椰。
一般神經(jīng)網(wǎng)絡(luò)的輸入都是已知的, 而Word2Vec 網(wǎng)絡(luò)中的輸入, 是通過SoftMax()計算后才得到的作烟。

投影層
有m個節(jié)點。對輸入層各詞向量作加和處理砾医。projection(w)=∑Context(w)

輸出層
輸出層是一棵樹, 一棵哈夫曼樹! 這是與普通神經(jīng)網(wǎng)絡(luò)的顯著不同之處。 這棵樹的葉子節(jié)點數(shù)就是詞典D的大小∣D∣衣厘。

每一個單詞w, 都對應(yīng)一個哈夫曼樹葉子節(jié)點, 因為是二叉的, 所以從根節(jié)點走到w的葉子節(jié)點的過程, 就是一個在不斷地進(jìn)行二分類的過程如蚜。不妨將左結(jié)點1記為負(fù)樣本, 右節(jié)點0記為正樣本,基于邏輯斯蒂函數(shù)基于邏輯斯蒂函數(shù)來看看推導(dǎo)過程影暴。

(原圖上傳為橫向错邦,有需要的可聯(lián)系私發(fā))

基于Hierarchical Softmax的跳字模型(Skip-gram)

跳字模型假設(shè)基于某個詞來生成它在文本序列周圍的詞。

與上面提到的詞袋模型恰恰相反型宙,構(gòu)造的目標(biāo)函數(shù)變成了撬呢。

Negative Sample 負(fù)采樣

訓(xùn)練一個神經(jīng)網(wǎng)絡(luò)意味著要輸入訓(xùn)練樣本并且不斷調(diào)整神經(jīng)元的權(quán)重,從而不斷提高對目標(biāo)的準(zhǔn)確預(yù)測妆兑。每當(dāng)神經(jīng)網(wǎng)絡(luò)經(jīng)過一個訓(xùn)練樣本的訓(xùn)練魂拦,它的權(quán)重就會進(jìn)行一次調(diào)整。語料庫的大小決定了權(quán)重矩陣的規(guī)模大小搁嗓。需要承認(rèn)的是使用哈夫曼樹來代替?zhèn)鹘y(tǒng)的神經(jīng)網(wǎng)絡(luò)芯勘,可以提高模型訓(xùn)練的效率。但是如果我們的訓(xùn)練樣本里的中心詞w是一個很生僻的詞腺逛,那么就得在哈夫曼樹中辛苦的向下走很久了荷愕。我們可以用這三個方法來減少計算量:
1、將常見的單詞組合(word pairs)或者詞組作為單個“words”來使用。
2安疗、對高頻詞進(jìn)行抽樣來減少訓(xùn)練樣本的個數(shù)
3抛杨、最后最重要的一點,就是“nagative sampling”方法荐类,這樣每個訓(xùn)練樣本只會更新一小部分模型權(quán)重蝶桶,從而降低計算負(fù)擔(dān)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末掉冶,一起剝皮案震驚了整個濱河市真竖,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌厌小,老刑警劉巖恢共,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異璧亚,居然都是意外死亡讨韭,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進(jìn)店門癣蟋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來透硝,“玉大人,你說我怎么就攤上這事疯搅”羯” “怎么了?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵幔欧,是天一觀的道長罪治。 經(jīng)常有香客問我,道長礁蔗,這世上最難降的妖魔是什么觉义? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮浴井,結(jié)果婚禮上晒骇,老公的妹妹穿的比我還像新娘。我一直安慰自己磺浙,他們只是感情好洪囤,可當(dāng)我...
    茶點故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著屠缭,像睡著了一般箍鼓。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上呵曹,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天款咖,我揣著相機(jī)與錄音何暮,去河邊找鬼。 笑死铐殃,一個胖子當(dāng)著我的面吹牛海洼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播富腊,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼坏逢,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了赘被?” 一聲冷哼從身側(cè)響起是整,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎民假,沒想到半個月后浮入,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡羊异,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年事秀,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片野舶。...
    茶點故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡易迹,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出平道,到底是詐尸還是另有隱情睹欲,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布巢掺,位于F島的核電站句伶,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏陆淀。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一先嬉、第九天 我趴在偏房一處隱蔽的房頂上張望轧苫。 院中可真熱鬧,春花似錦疫蔓、人聲如沸含懊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽岔乔。三九已至,卻和暖如春滚躯,著一層夾襖步出監(jiān)牢的瞬間雏门,已是汗流浹背嘿歌。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留茁影,地道東北人宙帝。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像募闲,于是被迫代替她去往敵國和親步脓。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,543評論 2 349

推薦閱讀更多精彩內(nèi)容

  • 前面的文章主要從理論的角度介紹了自然語言人機(jī)對話系統(tǒng)所可能涉及到的多個領(lǐng)域的經(jīng)典模型和基礎(chǔ)知識浩螺。這篇文章靴患,甚至之后...
    我偏笑_NSNirvana閱讀 13,883評論 2 64
  • 主要內(nèi)容 自然語言輸入編碼 前饋網(wǎng)絡(luò) 卷積網(wǎng)絡(luò) 循環(huán)網(wǎng)絡(luò)(recurrent networks ) 遞歸網(wǎng)絡(luò)(re...
    JackHorse閱讀 4,114評論 0 2
  • 機(jī)器學(xué)習(xí)術(shù)語表 本術(shù)語表中列出了一般的機(jī)器學(xué)習(xí)術(shù)語和 TensorFlow 專用術(shù)語的定義。 A A/B 測試 (...
    yalesaleng閱讀 1,960評論 0 11
  • 最近新接觸文本分類問題要出,對于我來數(shù)第一個問題就是Word Embedding這個詞到底是什么意思鸳君,因此也就開始學(xué)習(xí)...
    小松qxs閱讀 24,838評論 2 27
  • 本文編譯自谷歌開發(fā)者機(jī)器學(xué)習(xí)術(shù)語表項目,介紹了該項目所有的術(shù)語與基本解釋厨幻。 A 準(zhǔn)確率(accuracy) 分類模...
    630d0109dd74閱讀 1,986評論 0 1