神經網路與推薦系統初步簡介

2022-05-14 19:39:34 字數 3049 閱讀 5150

深度神經網路(deep neural networks,

dnn)在過去的數年已經在影象分類、語音識別、自然語言處理中取得了突破性的進展。在實踐中的應用已經證明了它可以作為對於一種十分有效的技術手段應用在大資料相關領域中。深度神經網路通過眾多的簡單線性變換層次性的進行非線性變換對於資料中的複雜關係能夠很好的進行擬合,即對資料特徵進行的深層次的挖掘。因此作為一種技術手段,深度神經網路對於任何領域都是適用的。

推薦系統的功能是幫助使用者主動的找到滿足偏好的個性化物品並推薦給使用者。在本質上可以當做乙個個性化的搜尋引擎,輸入的資料為使用者行為資訊、偏好資訊等,返回的結果為最符合查詢條件的物品列表。數學化的表示:物品

列表=f

(使用者偏

好)−−

−−−−

−−−−

−公式(

1)a > 針對查詢條件對物品的相關性進行估計。

b > 曬選出topn個最相關的物品。

因此,推薦系統的關鍵就是對上面函式的一種求解

實際應用中的物品數量很大,因此在滿足業務需要的前提下,對於所有物品使用評估函式進行評估是不實際的。因此為了實現效能與效果的平衡,大多的推薦系統將以上的計算過程分為兩個部分:

推薦召回指在所有物品集合中檢索到符合使用者興趣的候選集,大約篩選出幾百個候選的列表。排序的目的是要利用展示、點選(或轉化)資料,然後加入更多的使用者、物品特徵,對推薦候選進行更精細的修正、打分。這種模式另乙個好處是能夠利用多種候選集。

公式(2

)對於函式的求解大多分為以下幾種途徑:

不管這個函式是什麼樣的,總會有乙個神經網路能夠對任何可能的輸入

x網路可以得到對應的值 f(

x)(或者某個足夠準確的近似)

即使函式有很多輸入或者多個輸出,這個結果都是成立的,f=

f(x1

,...

,xm)

。例如,這裡有乙個輸入為 m=

3 和輸出為 n=

2 的網路:

綜上,神經網路作為一種近似化求解方法可以用來對於公式(2)兩個函式g, h進行近似。

autoencoder(ae)是乙個無監督學習模型(類似矩陣分解),它利用反向傳播演算法,讓模型的輸出等於輸入。利用ae來**使用者對物品missing的評分值,該模型的輸入為評分矩陣中的一行(user-based)或者一列(item-based),其目標函式通過計算輸入與輸出的損失來優化模型,而評分矩陣中missing的評分值通過模型的輸出來**,進而為使用者做推薦,其模型如下圖所示。後續,denoising autoencoder(dae)是在ae的基礎之上,對輸入的訓練資料加入雜訊。所以dae必須學習去除這些雜訊而獲得真正的沒有被雜訊汙染過的輸入資料。因此,這就迫使編碼器去學習輸入資料的更加魯棒的表達,通常dae的泛化能力比一般的ae強。stacked

denoising

autoencoder(sdae)是乙個多層的ae組成的神經網路,其前一層自編碼器的輸出作為其後一層自編碼器的輸入。還有bayesian

sdae等等眾多方法均同源於此。

由於神經網路用多層結構擬合複雜的非線性關係,具有龐大的引數,並且隨著網路的深入進行訓練愈發困難。因此對於實際中的應用具有以下難點:

以前,計算資源寶貴,並且計算能力偏弱,因此為了實現智慧型化功能,需要研發人員將功能規則通過人為的方式間接的融入進演算法當中,以此來減少計算量。但是由於使用者的應用場景繁雜,因此往往存在著眾多研發人員無法預估的情況。而且由於很多的近似求解方法需要得到精確地結果需要大量的計算而迫使多數應用場景無法實現和採用,因此在過去的數年間,應用層面的智慧型化發展停滯不前。而隨著計算能力的迅速發展,利用大量計算實現智慧型化的功能已經成為可行策略。而深層神經網路演算法以其強大的擬合能力就是適應了這種發展趨勢,迅速的在影象、語音、自然語言等領域取得了巨大的成就。

個性化推薦作為眾多智慧型場景中的一員,已經吸引了眾多的研發人員投入其中,不同於影象、語音等具有豐富的特徵且演算法結果和真實樣本不會產生互相影響,由於推薦中特徵資料的繁雜,且推薦的結果影響著採集到的資料,目前推薦當中並不存在一種通用型的結構和方法。也有很多人將神經網路的方法應用在整體推薦的子領域當中已經取得了不錯的效果。可以預見隨著更多的人員參與進來,個性化推薦必將被神經網路的方法所侵占。

在工業中,在有限的資源投入的情況下,緊跟技術前沿的發展,將先進的方法在系統當中進行驗證。或者對於行業取得穩定效果的方法進行驗證並進行系統整合,產品將會獲得巨大的收益。

附:word2vec 效果【節目vec之間的相似度】:

碟中諜5:神秘國度

【 # 危機13小時,# 碟中諜4,# 死亡飛車,# 極限**2,# 虎膽龍威5,#

星際穿越,# 叢林奇兵, # 刺客聯盟, # 諜影重重2, # 非常人販】

86版西遊記

【# 西遊記動畫片,# 西遊記之鎖妖封魔塔,# 西遊記之大鬧天宮(3d),#

西遊記之大鬧天宮,# 西遊記之孫悟空三打白骨精, # 嘻遊記, #

西遊記之大聖歸來, # 西洋鏡, # 電哪吒, # 孫悟空七打九尾狐 】

射鵰英雄傳

【# 射鵰英雄傳 第3集,# 射鵰英雄傳 李亞鵬版,# 神鵰俠侶,#

神鵰俠侶[粵語版],# 天龍八部, # 方世玉與胡惠幹, # 倚天屠龍記大結局, #

新神鵰俠侶, # 神鵰俠侶黃曉明版, # 天涯明月刀】

神經網路簡介 多層神經網路

如上圖所示,該神經網路有三層。我們標記第一層 也就是輸入層 為a 1 第一層與第二層連線權重為w 1 然後第一層輸入與第一層權重的線性和為z 1 第一層神經元個數為n 1 並依次標記剩餘網路層。可以看出,存在 z l j i 1 n l a l i w l i,j a l w l j a l 1 f...

神經網路簡介

簡單介紹一下什麼是神經網路,以及其原理 這個感知器有3個input和乙個output,分別是x1 x2,x3,有乙個output。乙個感知器可以擁有多個input,如x1 x2,input和output的值都有乙個特點,就是只能是1或者0,也就是說x1 x2,只能取0或者1,而output也只能取0...

神經網路簡介

新手上路很多概念不清楚,本文作為記錄和筆記,簡單摘抄,列出關鍵概念,以便查閱,詳細內容移步原文 參考 如何自己從零實現乙個神經網路?量子位的回答 知乎 神經元 神經網路基本單元,獲得輸入,計算,產生輸出 權重 wx 偏置 b 啟用函式 使用的sigmoid,作用對無限制的輸入轉換為可 形式輸出,從而...