精讀文章的演算法流程

2021-10-16 09:41:29 字數 1449 閱讀 3579

演算法思想流程:

演算法分別研究了三結點簡單模式和anchor模式,四結點和五結點模式,因為基於邊和基於模式的在使用者排名中是互補的。

演算法首先輸入引文資料,構造圖g,得到其簡單的鄰接矩陣w,然後根據

然後根據表1和表2的公式分別得到每種模式的鄰接矩陣。

注:公式原理,比如m7三角模式的鄰接矩陣中的第一行第二列值為3,代表節點1和節點2在複雜網路**現在m7三角模式中三次。

然後根據線性和非線性組合公式

得到線性和非線性的hmk。其中α∈[0,1],平衡了以邊為基礎和以模式為基礎的關係。

然後根據

用pmk代替

向量xt是所有pagerank值的疊加,d是阻尼因子,給沒有傳入邊的結點分配一些權值,n是結點的總數。這樣就得到每個使用者基於模式的的pr值,然後根據pr值進行排序。

如何評價排序結果的好壞?用ndcg。

啥是ndcg?即歸一化折扣累積增益,排名的結果相關性越高的使用者排名越靠前,ndcg的結果就越高。

使用者p的ndcg為:

要想理解ndcg,首先要從cg開始理解。

cg表示將推薦列表中每個推薦結果相關性的分值累加後的值。

reli表示位置i的推薦結果的相關性,k表示推薦列表的大小。cg沒有考慮推薦結果在推薦列表中的位置,比如我們希望相關性大的結果排在前面,相關性低的排在後面。舉例:假設搜尋「籃球」,最理想的結果是:b1,b2,b3。而出現的結果是b3,b1,b2。對cg來說,結果並不會變化,故需要dcg。dcg是在cg上引入了位置影響因素。

根據

從而最終得到ndcg。

文章還探索了模式的整體效果,以三結點簡單模式為例,用7個簡單模式的鄰接矩陣相加並求平均得到的矩陣。用此矩陣來進行如上計算。

實驗結果表明,得出mpr不能通過整體圖得到進一步的提高,甚至可能會因為一些模式的效能不太好而損害效能,導致ndcgs的降低。

4結點和5結點模式的鄰接矩陣沒有簡單的矩陣計算方法,故需要對所有子圖進行計數,來確定特定模式的數量。文中用一種取樣方法,對一組n節點的子圖進行抽樣,然後,對每個模式,我們得到所有模式例項的集合,這裡定義為smk。

MIT的《深度學習》精讀(2)

看完了 皮格馬利翁 和 伽拉泰亞 galatea 的故事,已經很讓人感動,接著下來,又來看看 代達羅斯 和 塔羅斯 talos 的傳奇故事 藝術家代達羅斯是位建築師和雕刻家。人們說他的雕像是具有靈魂的創造物,從前的大師創作石像時,都讓石像閉上眼睛,雙手連著身體,無力地垂落下來。而他第乙個讓雕刻的人像...

MIT的《深度學習》精讀(4)

當可程式設計的計算機被設計出來時,人們懷疑這樣的機器是否會擁有智慧型,其實在計算機被發明的100多年前就已經有人構造一台智慧型的裝置出來了 lovelace,1842 今天,人工智慧 ai 正是乙個十分火熱應用的領域和活躍的研究課題。我們正在研究和開發具有人工智慧的軟體來自動執行日常的工作,進行口語...

MIT的《深度學習》精讀(12)

在電腦科學裡,甚至日常生活中,對資料的表示方式有著嚴重的依賴性。比如在電腦科學裡要收集一些資料,而當這些資料是結構化和索引化時,它的效率可以達到指數級別。人類也是這樣,比如使用阿拉佰數字 arabic numerals 來計算,就比使用羅馬數字 roman numerals 來得快捷。因此在機器學習...