Introduction
- Google於2016年發布,可用於分類和回歸模型
- 其已被應用到Google Play中的應用推薦
- 將一組數據的訊息以稀特徵及密特徵兩種特徵表示,並基於兩種特徵構建模型
稀疏特徵
- 離散值特徵
- 從眾多選項中選擇一個
- 性別、膚色、工作類型等
- 從眾多選項中選擇一個
- 若能以one-hot編碼表示的話,wide & deep模型就會認為此特徵為稀疏特徵
- 稀疏特徵之間是可以進行叉乘(組合)的
- 性別 x 膚色
- 性別 x 工作累型
- 叉乘之後的共現信息是可以精確刻畫樣本的,及補全樣本的可能性
- 實現記憶樣本的效果
優點
- 有效,廣泛應用於業界
- 如常遇到重複的樣本,就能快速的並有效的處理
- 廣告點擊預測
缺點
一般現實中的樣本、物體有太多維度,若將其全部表示成離散特徵,會變得非常巨大
- 需要人工設計
- 找出最有效的稀疏特徵
- 可能過擬合
- 所有特徵都進行叉乘,相當於記住每一個樣本了
- 泛化能力差
- 沒出現過就不會起效果
密集特徵
需要用向量去表達的特徵
- Ex: 詞表={人工智能,你,他,慕課網}
- 利用詮釋實數的一個向量來表達一個詞,例如
他 = [0.3,0.2,0.6,(n維向量)]
- 因此便可利用兩向量之間的距離來表達兩個詞之間的距離
男 - 女 = 國王 - 王后
- Word2vec工具:將詞語轉化成向量的工具
優點
- 帶有語意的信息,不同向量之間有相關性
- 兼容沒有出現過的特徵組合
- 當遇到新樣本時,通過計算向量之間的差距,來衡量兩樣本之間的相似性
- 更少的人工參與
缺點
- 過度泛化,導致推薦不怎麼相關的產品
模型結構
Wide vs. Wide & deep
Wide模型
- 只有一層;因此所有輸入(稀疏特徵;one-hot表示)皆連到輸出單元上
Wide & deep模型
- 模型左半部分為Wide模型;右半部分便為Deep模型
Deep vs. Wide & deep
Deep模型
- 擁有多層的神經網絡
- 對於一個輸入的數據(稀疏特徵;Sparse Features),將其表示為一個密集的向量表達(密集特徵;Dense Embeddings)
- 密集特徵是稀疏特徵的密集向量表達
- 在Dense Embeddings之上為全連接的神經網絡亦為隱層(Hidden Layers)
- 最後在連接至輸出層(Output Units)
Wide & deep模型
- 模型左半部分為Wide模型;右半部分便為Deep模型