數(shù)學算法與其他行業(yè)的結合及發(fā)展探索_第1頁
數(shù)學算法與其他行業(yè)的結合及發(fā)展探索_第2頁
數(shù)學算法與其他行業(yè)的結合及發(fā)展探索_第3頁
數(shù)學算法與其他行業(yè)的結合及發(fā)展探索_第4頁
數(shù)學算法與其他行業(yè)的結合及發(fā)展探索_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

數(shù)學算法與其他行業(yè)的結合及發(fā)展探索

摘要數(shù)學的發(fā)展歷史悠久,數(shù)學算法也在不斷發(fā)展和完善。如今,算法滲透到我們社會生活的各個領域。做事有一個好的方法和思維是提高效率的關鍵,而算法正是實現(xiàn)這些關鍵的一種工具。古有秦九韶算法,到神奇的外觀數(shù)列,再到如今的決策樹和向量機,數(shù)學算法無時無刻都在煥發(fā)神奇的力量。本文討論數(shù)學算法在行業(yè)中的應用,介紹各行業(yè)中的主流算法。如購物APPAPP的推薦算法,旅行路線規(guī)劃的蟻群算法,大型角色扮演游戲中的尋路算法。推薦算法發(fā)展至今,經(jīng)歷了幾套發(fā)展模式,擁有了推薦高度個性化內(nèi)容的能力。從最初的依據(jù)歷史喜好推薦,到如今的用戶群特征推薦,相鄰愛好推薦。本文結合了京東推出的一系列APP幫助解釋新推薦系統(tǒng)的優(yōu)秀之處。蟻群算法應用領域非常的廣,公交線路規(guī)劃,地圖APP的尋路功能,車輛調(diào)度問題等,在本文,主要探索的是蟻群算法基本原理及應用典例。算法在游戲行業(yè)的應用也越來越廣,算法是游戲人工智能領域的基石,搜尋路徑是游戲的基本功能,但也是表現(xiàn)游戲制作精良的一個指標,目前主流的尋路算法是Astar算法。關鍵詞:數(shù)學算法,行業(yè),原理,推薦算法,蟻群算法,Astar

AbstractThedevelopmentofmathematicshasbeenalonghistory,andmathematicalalgorithmsaredevelopingandperfectingconstantly.Today,algorithmspermeateallareasofoursociallife.Thereisagoodwaytodothingsandthinkingisthekeytoimprovingefficiency,andalgorithmsarejustoneofthekeytoolstoachievethese.Inancienttimes,therewereQinJiuyialgorithms,tothemagicalappearanceoftheseries,andnowtothedecisiontreeandvectormachine,themathematicalalgorithmisfullofmagicalpowerallthetime.Thisarticletalksabouttheapplicationofmathematicalalgorithmsintheindustryandintroducesmainstreamalgorithmsinvariousindustries.SuchastherecommendationalgorithmofshoppingAPPAPP,theantcolonyalgorithmoftravelrouteplanning,andthepathfindingalgorithminlargerole-playinggames.Therecommendedalgorithmhasbeendevelopedsofar,andhasexperiencedseveraldevelopmentmodelsandhastheabilitytorecommendhighlypersonalizedcontent.Fromtheinitialrecommendationbasedonhistoricalpreferences,tothecurrentusergroupfeaturerecommendation,neighboringhobbiesarerecommended.ThisarticlecombinesaseriesofAPPslaunchedbyJingdongtohelpexplaintheexcellenceofthenewrecommendationsystem.Theapplicationofantcolonyalgorithmisverywide,busrouteplanning,pathfindingfunctionofmapAPP,vehicleschedulingproblem,etc.Inthisarticle,theexamplesofantcolonyprinciplesalgorithmaremainlyexplored.Theseareplayinganmoreandmoreimportantroleinsomeindustries,suchasgames.ThealgorithmbecomethecornerstoneofthegameAIfield.Thesearchpathisthebasicfunctionofthegame,butitisalsoanindicatoroftheexcellentgameproduction.ThecurrentmainstreampathfindingalgorithmistheAstaralgorithm.Keywords:Mathematicalalgorithm,industry,principle,recommendationalgorithm,antcolonyalgorithm,Astar

目錄1緒論 緒論1.1現(xiàn)狀及問題的提出時代變遷,很多東西都在變,技術在更新,我們的生活也發(fā)生了翻天覆地的變化。現(xiàn)在很火的JAVA,或者有淘汰危險的iOS,似乎就在說明這個變化。但是,算法是永恒的,這一點沒有爭議。算法,就好比數(shù)據(jù)結構、編譯原理、關系型數(shù)據(jù)庫原理、計算機體系結構等等這些,遠比日新月異的語言重要的多。這些都是本質(zhì),是萬變不離其宗的東西。通俗來說算法是數(shù)學理論和工程的結合,是一門十分十分神奇的學問,自上個世紀九十年代,全世界就流行著一種“算法競賽”—即ACM\ICPC,一項以三個人為一支隊伍,在有限時間內(nèi)對題目通過編程進行解決的同場競技??上驳氖牵l(fā)展到如今,很多人加入了進來,這說明算法已經(jīng)的到他們的重視。并且優(yōu)秀的人不光顧著自己,更是想著整個ACM的前途。但同時可悲的是,因為ACM受到足夠的重視,這種初衷為提高自身算法功力的比賽,逐漸變得功利。到如今,計算機運算這么快,還需要算法嗎?我們對計算機的要求一直在提高,計算機的計算能力每年都在飛快增長。但同時需要處理的信息量也呈指數(shù)增長,現(xiàn)在每人每天都會創(chuàng)造出大量數(shù)據(jù)(視頻、錄音,圖片等等)。在量子研究領域,實驗產(chǎn)生的許多數(shù)據(jù)幾乎是以TB為單位的,但硬件設施不夠先進,計算能力和存儲能力欠佳,導致科學家要將大量未經(jīng)處理過得數(shù)據(jù)舍棄。不限于此,在眾多科研領域,科學技術的進步,研究方法的改進和發(fā)展,實驗產(chǎn)生的數(shù)據(jù)量更是達到新的高度,機器學習,語音識別,仍只能等等,都需要極大的數(shù)據(jù)量和計算量。在其他方面,算法也逐漸成為舞臺主角。醫(yī)療方面,人類已經(jīng)探索基因治療多年,算法可能會幫助科學家發(fā)明新的治療辦法,拯救生命。在國防領域,恐怖事件的預防進一步提升了成功概率。據(jù)悉,“911”事件的發(fā)生本可以預防發(fā)生,但因為美國情報局每天收到的消息量巨大,無法及時有效處理,遺漏了重要的“舉報郵件”,間接導致了襲擊事件的發(fā)生。在氣象領域,合理運用算法能夠預測大自然氣象災害,地震,海嘯,風暴。我們需要認識的是,創(chuàng)新對創(chuàng)造價值及提高生活水平都起到關鍵作業(yè),所以算法自大規(guī)模運用以來的信息技術系統(tǒng)就為人們創(chuàng)造了數(shù)萬億美元,技術的更新應用,使得行業(yè)的規(guī)模迅速擴大,數(shù)據(jù)爆發(fā)式增長。有目的的對這些數(shù)據(jù)進行搜集及高性能計算機技術使得算法在各個行業(yè)的應用成為可能,且在近幾年得到快速發(fā)展。所以,把社會的發(fā)展放到數(shù)據(jù)爆發(fā)增長的大環(huán)境里,算法的重要性顯而易見。1.2研究的目的和意義大數(shù)據(jù)包時代蘊藏著巨大的深度知識和價值,我們要采取有效的技術和運用不同的算法對數(shù)據(jù)進行分析、處理、整理,從而發(fā)現(xiàn)數(shù)據(jù)隱藏規(guī)律即數(shù)據(jù)價值。在互聯(lián)網(wǎng)和其他行業(yè),每個推薦內(nèi)容,每位新用戶的進入,出行的每條路線,游戲中的每次尋路都是算法在當中搭線,研究算法,使我們在分析、處理問題時顯得得心應手,高效率,搞精度,大大提高輸出價值,最終實現(xiàn)各種高附加值的增值服務和應用,為行業(yè)帶來源源不斷的經(jīng)濟效益和社會效益。2相關理論和研究回顧2.1算法的概念簡單來說,算法是計算機解決問題的步驟。除了數(shù)據(jù)處理,在現(xiàn)實世界里,各種問題也需要結合算法的概念來解決,最生動的有代表性的就是烹飪中的食譜,食譜是各種料理的制作方法,需要一定步驟表示出來算法必須具備兩個重要條件,有效性和終止性。有效性,即算法必須要為給定的任務給出正確的結果,即,當有滿足條件的輸入值,算法一定要保證正常的工作(能返回正確的輸出值)。判斷算法有的效性就是斷點。斷點在算法的任意位置上,判斷此位置是否滿足條件,即,程序能否正確運行。終止性,算法不會永無止境的執(zhí)行,即,不會無限循環(huán),不返回答案的情況。算法的終止性需要用反復處理結束條件的判斷變量,或經(jīng)過有限次的反復后,肯定能達到結束條件等證明方法。2.2算法的發(fā)展歷程中文“算法”的概念來自古文《\t"/item/%E7%AE%97%E6%B3%95/_blank"周髀算經(jīng)》,算法意識在中國古代就存在,先輩創(chuàng)造了許多充滿智慧的數(shù)學運算法,如秦九韶算法,可以描述一組特殊序列的外觀數(shù)列...西方數(shù)學界第一次出現(xiàn)算法概念是在9世紀,由al-Khwarizmi提出。對當今世界算法發(fā)展起推動作用的主要是在西方科學界,阿拉伯語中,“算法”是運算法則的意思,世界上第一個算法是歐幾里得算法,AdaByron編寫了第一個程序,用來解決伯努利問題。在20世紀,著名數(shù)學家圖靈提出了一個著名的理論——“圖靈理論”,是用來描述宇宙中存在的自相似性的。圖靈還提出了一種計算機假象模型——“圖靈機”,這解決了算法定義難的問題,對算法的發(fā)展起了巨大的推動作用2.3算法的特點和要素2.3.1特點首先,一個算法是有限的,也就是它的步驟是有限的,只執(zhí)行有限次運算。然后,算法的任一步驟都要有嚴格地定義,執(zhí)行時不能出現(xiàn)歧義。再者,在運行算法之前,要給變量賦值,也可以在運行過程中動態(tài)地賦給變量值。除此三個特點,還有兩個簡單但必要的點,一是算法運行結束的時候可以輸出結果,而是算法所有的步驟可以在人工用紙和筆,在有限時間內(nèi)正確運算出結果有效性。即五個特點:有限性,確定性,輸入,輸出,有效性。2.3.2要素算法的要素包括兩大點,數(shù)據(jù)對象的運算和操作,和算法的控制結構。前者包括四個點,“加、減、乘、除”的算術運算,“或、且、非”等邏輯運,“大于,小于、等于”等關系運算,“輸出和輸出、賦值”等數(shù)據(jù)傳輸。后者決定了算法的各操作之間的執(zhí)行順序[1]2.4算法應用概述算法在互聯(lián)網(wǎng)行業(yè)的應用可謂是十分火熱,各種閱讀APP使用的推薦算法,購物APP的分類聚類算法等等。除了互聯(lián)網(wǎng),公共生活的方方面面也有算法的存在,比如公交線路的分配的遺傳算法,信息檢索當中的語義分析算法...在游戲行業(yè),算法也是一個游戲的生命源泉,算法界流傳著這樣一句話,“沒有算法,就沒有馬化騰的游戲帝國”。接下來本文將介紹目前交流性的幾類算法,及游戲行業(yè)中十分重要的幾類算法。3推薦算法在互聯(lián)網(wǎng)行業(yè)的應用傳統(tǒng)互聯(lián)網(wǎng)分為上半場和下半場,上半場是在競爭消費互聯(lián)網(wǎng),互聯(lián)網(wǎng)大頭們都在爭奪C(costume消費者)端的用戶,用戶的生活信息具有極高的價值。人們用手機打車、購物、看新聞、聊天BATJTMD互聯(lián)網(wǎng)公司一躍成為獨角獸,在1、2級市場收貨資本的紅利。互聯(lián)網(wǎng)大頭肆無忌憚地消耗著C端人口紅利,消費互聯(lián)網(wǎng)的高利益期將成為過去產(chǎn)業(yè)互聯(lián)網(wǎng)即將接手。未來的紅利將來自產(chǎn)業(yè)互聯(lián)網(wǎng),它的體量是消費互聯(lián)網(wǎng)的百倍之多,縱觀互聯(lián)網(wǎng)發(fā)展歷史,無論是消費互聯(lián)網(wǎng),還是產(chǎn)業(yè)互聯(lián)網(wǎng),說到底,都是企業(yè)、廠家在找人,連接人,服務人。消費互聯(lián)網(wǎng)問世之前,倘若沒有產(chǎn)業(yè)互聯(lián)網(wǎng)做好了鋪墊,消費互聯(lián)網(wǎng)也只能是浮云,始終是幻想的東西。在互聯(lián)網(wǎng)戰(zhàn)爭的上半部分,互聯(lián)網(wǎng)公司是主角,他們主導發(fā)展的趨勢,人們的口味,他們身上的標簽是顛覆者。但在下半場。服務者成為了互聯(lián)網(wǎng)公司的角色,不限于互聯(lián)網(wǎng)公司,各種企業(yè),無論新型企業(yè)還是傳統(tǒng)企業(yè),都將自己置于互聯(lián)網(wǎng)的根基之上,運用數(shù)字化完成轉(zhuǎn)型,形成新的競爭力。[2]互聯(lián)網(wǎng)企業(yè)要有競爭力,現(xiàn)階段的有力武器,就是算法!微博在2017年率先加入發(fā)現(xiàn)流,內(nèi)容分發(fā)邏輯大變天。正因為看到算法類內(nèi)容的強勢崛起,網(wǎng)易、騰訊、京東、虎撲都推出信息流產(chǎn)品。將推薦算法實際運用的第一人是豆瓣,在PC時代,它的推薦內(nèi)容已經(jīng)是以算法為基礎形成的內(nèi)容劉,虎撲APP也在2017年首頁改版后實行了以關注內(nèi)容為基礎的推薦分發(fā)。但局限于當時的技術,特別是深度學習這方面,內(nèi)容的個性化和推薦精度備受網(wǎng)友批評。隨著算法的發(fā)張,AI也逐漸成熟起來,將之應用于推薦系統(tǒng)也越來越熟練,推薦效率高,精準度高,實現(xiàn)網(wǎng)友千人千面,比網(wǎng)友更懂網(wǎng)友。3.1主流的推薦算法目前行業(yè)內(nèi)主流的推薦算法有兩種,一個是基于內(nèi)容推薦,另一個是協(xié)同過濾推薦,前者以產(chǎn)品關聯(lián)度作為基礎,將歷史購買商品作為規(guī)則的前提,通過大數(shù)據(jù)挖掘?qū)ふ矣脩舻臐撛陉P系而進行的規(guī)則推薦;后者通過收錄后臺用戶交易歷史記錄和挖掘用戶評論,對其做語義分析的,得出用戶的興趣特征,將這作為用戶未來的購物趨勢,同時,可以得到用戶歷史購買商品的特征,通過商品的特征匹配度和最鄰近用戶匹配機制,向用戶推薦內(nèi)容。[3]3.1.1基于內(nèi)容的推薦算法(CB)以用戶歷史喜好商品,向用戶推薦相似的商品,是CB算法的思想,這種思想的關鍵是得到物品相似性。原理分為三步:構建物品的屬性資料,然后是用戶的喜好資料,最后是計算屬性資料和喜好資料相似度,值越高,說明物品與用戶的匹配度越高?,F(xiàn)在,選擇用戶U,遍歷用戶,計算每個物品的屬性資料和用戶U的喜好資料的相似度并排序,將相似度最高的K個物品推薦給用戶U第一步:Itemprofile推薦的物品(Item,一本書)和要推薦物品出版時間等等的屬性(itemprofile,它必須是詳細和具體的,如作者,出版機構,書的類別)第二步:RepresentingItemProfile例如一本書,ABCbook,假設itemprofile里只有作者,這樣itemprofile就可以表示為{A,B,C}(作者A,B,C);再將itemprofile映射為程序能讀懂的數(shù)據(jù)結構,此時將itemprofile轉(zhuǎn)換為0,1矩陣,1)構建一個1位矩陣,n表示全部作者,將所有元素設置為0,[0,0,0,0],一共有n個02)假設0號元素代表作者A,1號元素代表B,2號元素代表C,3號元素代表D,等等3)將itemsprofile里的內(nèi)容對應到1個一維矩陣,如果作者名是A,B,C,那么ABCbook的0,1矩陣是[1,1,1,0,0,0,0,0,0,0,0],那么可以看出,ABCbook的作者是0,1,2號元素,即作者。第三步:UserProfile模型建立完成后,要為構造UserProfile,即用戶建模,這相當于用戶的偏好,偏好可以設定為對作者的喜好程度。例如,一個評分數(shù)據(jù)(滿分5分,對每本書的評價,空的表示沒有評分)。[4]《JAVA設計》《操作系統(tǒng)》《算法分析》小力453小森14可以看出,小力更喜歡《算法分析》和《操作系統(tǒng)》這兩本書,假設兩本書的作者都包含A,那我們可以推出小力更喜歡作者A的書。然后,構建小力的UserProfile,如下所示:算出小力的平均分,ACG=(3+5+4)/3=4利用公式求出小力對作者A的喜好程度,Xi是涉及作者A的所有因素,也是小力評過書的分數(shù),AVG是平均分,n是所有涉及作者A的且是小力評過分的書的數(shù)量:(4-4+5-4)/2=0.5,即小力對作者A的喜好程度可以用值0.5來表示同樣可以建立1個矩陣,其中的元素表示每個演員的喜好程度[0.5,x,y,,z],首個元素“0.5”表示小力對作者A的喜好度第四步:計算推薦依據(jù)利用余弦相似度公式計算用戶U和ItemL之間的距離:相似度越大,U越可能喜歡L,公式如下:其中,Ai為Ui,表示U對作者i的喜好度(即UserProfile矩陣的作者A對應值,0.5)Bi表示書本的作者里是否包含i(即1為ItemProfile矩陣中作者a的對應值)第五步:推薦計算余弦相似度,即小力與每位作者之間的余弦相似度,將值最高的前K個本書推薦給小力。這種推薦算法的優(yōu)點是具有用戶獨立性,推薦結果只和當前用戶的興趣模型有關,與其他用戶無關,可避免惡意作弊行為;二是推薦具有解釋性,推薦給用戶的內(nèi)容是根據(jù)用戶之前的行為產(chǎn)生的;三是可以推薦特征與用戶興趣匹配的物品。但缺點也很明顯。首先,項目特征是難獲取的,電影和網(wǎng)絡中的人的特征不好抽取;其次,推薦內(nèi)容只根據(jù)用戶的歷史喜好產(chǎn)生,缺乏新意;最后,這種算法無法為新用戶作推薦,因為新用戶沒有喜好歷史,不能建立興趣模型。[4]3.1.2協(xié)同過濾推薦協(xié)同過濾推薦算法(?CF)是推薦系統(tǒng)中應用最成功和應用范圍最廣的一種算法,它假設前提是用戶A與用戶B均感興趣與相同的一系列物品,那么A很有可能也喜歡B用戶喜好的物品。該算法的思想:用戶先為每個項目打分,通過計算不同用戶的評分之間的相似度(評分結果相似的),找到最鄰近的評分,產(chǎn)生推薦。下面舉例說明。一種有4位用戶,7本書,每位用戶對每本書的評價矩陣如下(滿分為5分)book1book2book3book4book5book6book7小力451小森55442小張2154小趙33第一步:尋找與小力品味最接近的用戶即分數(shù)最接近的用戶,如上表,小力對book1和book4兩本書的評價極高,book5極低,通過觀察可以發(fā)現(xiàn),小森對book1和book4評價也很高,對book5評價也較低,因此,小力和小森的品味較為接近,小森就是小力的最鄰近用戶。當用戶數(shù)量多起來時,就不能簡單地找到小力的鄰居用戶了,所以建立一個模型來尋找小力的鄰居用戶,如果把表格中每一行看作是一個向量,這個向量就用來表示用戶的喜好,此時可以繼續(xù)用余弦相似度來衡量兩個用戶的喜好相似度。此時得分公式為:R為評定矩陣,用來表示用戶對書的評分,ui和y表示某用戶對某本書的評分,cos表示u1和u2的相似度。分母的y表示u1和u2各自的評價集合,分子中的y表示u1與u2評分的交集。第二步:以最近鄰居用戶為依據(jù)來預測小力的評分制遍歷所有的用戶,小力與每個用戶都計算出一個相似度,排序后選擇前10個最高的用戶來作為小力的鄰近用戶,并用這10個鄰居用戶的評分來給小力作推薦。公式如下:Predict(u,i)表示用u對音樂i的分數(shù)預測值,U就是用戶u的最鄰近用戶集合(如前10個最鄰近用戶集合),R是評定矩陣;Rv,i表示鄰近用戶v對書i的評分,cos(u,v)就表示用戶u對v的余弦相似度第三步:推薦將一些小力從未聽過的書本(小力未評過分的書),利用Predict(u,i)排序,選擇前1個P值高的書本推薦給小力。這種推薦算法的優(yōu)點,一是能過濾掉及其難以自動分析的信息,藝術品,音樂;二是參考了他人的喜好,能夠過濾掉感性方面的因素;三是可推薦新信息,挖掘潛在愛好;四是推薦個性化搞,能有效利用其他相似用戶的反饋信息,加速個性化學習進程。但這種算法同樣存在缺點。首先,推薦的初期,因為缺少足夠的用戶,系統(tǒng)推薦質(zhì)量差;其次,它也受限于歷史數(shù)據(jù)。[5]3.2互聯(lián)網(wǎng)的智能推薦系統(tǒng)挖掘用戶潛在價值,增加用戶對商品的體驗,縮短用戶與商品間的距離,是電商領域關注的重點。京東可以作為這一領域的代表,京東起步于2012年,它的購物APP頁面里的推薦內(nèi)容是基于規(guī)則匹配的。內(nèi)容松散,沒有依據(jù),沒有算法發(fā)揮作用。2013,大數(shù)據(jù)算法應用快速普及,飛速發(fā)展,京東的業(yè)務也上升迅速,推薦團隊為應對此大環(huán)境,設計了全新的、專門的推薦系統(tǒng)。[6]互聯(lián)網(wǎng)時代來臨,多屏互通(app,PC商城,微信小程序),推薦內(nèi)容從商品推薦慢慢轉(zhuǎn)向其他類型的推薦,如分類、活動、優(yōu)惠券、文章、好貨等等?;诖髷?shù)據(jù),向不同用戶展示不同內(nèi)容。16年“雙11”期間個性化推薦大放異彩,特別是“個性化賣場”,實現(xiàn)活動會場的智能分發(fā),不僅降低了人工成本,商家從中獲利,用戶的購物體驗和流量分配效率也極大的增強和提高。另外,此產(chǎn)品也獲得了集團2016年優(yōu)秀產(chǎn)品稱號。推薦產(chǎn)品的發(fā)展歷程主要經(jīng)歷了幾個階段。費費首頁猜你喜歡購物車拆你喜歡免運費湊單2016京東秒殺智能賣場東家校園看了還看買了還買看相似找搭配LOREMIPSUM3.2.1多屏互通產(chǎn)品多屏互通是非常流行的推薦類型,包括了各種類型的推薦。在互聯(lián)網(wǎng)時代,特別是移動端互聯(lián)網(wǎng)發(fā)展迅速的年代,多屏互通場景應用非常普遍,不同用戶在多屏中產(chǎn)生的信息,被后臺收集,使推薦內(nèi)容更加精確,更有個性化。多屏互通的技術基礎是在前端記錄用戶觸發(fā)的隱藏點,用戶觸發(fā)了這些隱藏點,也可稱為隱藏事件,觸摸系統(tǒng)會反饋這些信息。這些行為數(shù)據(jù)在實時流量計算平臺用標簽記為行為偏好,從而根據(jù)用戶的行為偏好對推薦內(nèi)容重排序,達到個性化推薦的目的。京東多屏終端如下展示。3.2.2推薦系統(tǒng)架構 通過全面精準的數(shù)據(jù)分析用戶未來的購買傾向,設計并推薦用戶有購買意圖的項目,吸引用戶的注意力,提高訂單的成功率,增強用戶的粘性。推薦系統(tǒng)的業(yè)務體系結構如下。在開發(fā)的初始階段,推薦系統(tǒng)相對簡單,每個推薦產(chǎn)品都是獨立服務的實現(xiàn)。設計新的推薦系統(tǒng)是系統(tǒng)工程,需要算法和人機交互及數(shù)據(jù)結構架構的幫助。它的目標,是通過特殊的數(shù)據(jù)挖掘、機器學習,將千人一面變?yōu)榍饲?,提高用戶的依賴度和用戶體驗,提高用戶購物的效率,提升網(wǎng)站關聯(lián)銷售能力,減小用戶購物復雜度。最新的個性化推薦系統(tǒng)支持多種類型,不再限于商店和優(yōu)惠券,還包括關聯(lián)喜好品牌,活動和歷史購買的定制服務。新版推薦系統(tǒng)的架構如下。[7] 上圖中的不同顏色代表不同的業(yè)務場景:數(shù)據(jù)處理(低級綠色),包括數(shù)據(jù)預處理,機器學習,在線實時數(shù)據(jù)訪問,實時特征計算。推薦平臺(藍色)反映了推薦系統(tǒng)的模塊之間為響應用戶請求而建立的關系。推薦系統(tǒng)需要做到以下幾點才能稱之為優(yōu)秀,支持產(chǎn)品快速迭代、推薦引擎計算和解耦、存儲資源和解耦、系統(tǒng)架構算法和解耦、自定義隱藏事件設立和埋點。解耦即為將運動分離開,再進行分析和處理。3.2.3數(shù)據(jù)收集與處理用戶數(shù)據(jù)得收集與處理要用到一個重要的數(shù)據(jù)平臺BPRCSS,數(shù)據(jù)得采集一般與平臺應用有關,在京東方面,京東PC端,移動端的用戶操作都和數(shù)據(jù)采集有關。觸摸流收到請求后,會定期自動發(fā)送實時消息和本地日志到大數(shù)據(jù)平臺,實時消息用于業(yè)務實時計算,本地日志用于計算離線模型。平臺仲裁員使用機器學習的方法訓練模型,并將之用于推薦系統(tǒng)。系統(tǒng)會根據(jù)之前的訓練影響用戶的購物決定,幫助用戶做決策,用戶完成購物后,購物的行為數(shù)據(jù)將會發(fā)回觸控流,實現(xiàn)環(huán)繞式數(shù)據(jù)收集。離線模型和功能,用戶和產(chǎn)品肖像,用戶行為比較多的結合搭配離線計算平臺,Hadoop的MapReduce是主要的運算工具,也有一些是在Spark上進行的,計算的結果利用共享衍生工具傳入數(shù)據(jù)庫中??紤]到各種業(yè)務類型,復雜類型和多種存儲類型,該團隊開發(fā)了插件衍生工具,以降低離線數(shù)據(jù)開發(fā)和維護的成本。數(shù)據(jù)離線計算架構如下圖所示。與離線計算相比,在線計算的應用對象主要是實時數(shù)據(jù),包括用戶實時行為,畫像,反饋,產(chǎn)品的人機交互特征計算等。由業(yè)務需求獲取用戶感興趣的產(chǎn)品和,在線計算可以實時反饋用戶的建議和排名,為用戶設計獨特的個性化服務,并推到redis集群和hbase集群進行儲存。Kafka和JMQ的消息訂閱是在線計算主要的實時信息來源。3.2.4推薦引擎?zhèn)€化推薦的關鍵是推薦引擎,引擎的常規(guī)處理過程是召回候選集,過濾,使用算法模型評分,模型融合排序,結果多樣化展示。主要使用的技術是機器學習模型,挖掘商品間的關系,按用戶場景,計算高維特征,大量排序模型,進行個性化推薦,提升排序效果,給用戶良好的購物感受。推薦引擎的技術架構如下。3.2.5合并在用戶肖像信息和用戶對應最年輕行為的相應反饋之后并且,選擇過濾器的各種提醒,規(guī)則,商品候選,商品特征,用戶和交叉特征,算法根據(jù)這些特征在每個商品之后計算候選人得分。關于商品分類的結果和豐富的理由是建議的,考慮到用戶體驗,推薦的最終結果順序-適應性,如多樣性展示。3.2.6用戶畫像與其他制造商不同,京東擁有最長的價值鏈和數(shù)據(jù)積累的整個過程。京東數(shù)據(jù)的特點非常全面。數(shù)據(jù)鏈接記錄每個用戶操作的每一步:從登錄到搜索,瀏覽,選擇商品,頁面停留時間,閱讀閱讀,是否關注促銷,以及添加購物車,下訂單,付款,分發(fā)方法,是否有售后和維修。記錄整個用戶購物行為的完整數(shù)據(jù)。通過對這些用戶行為和相關場景的分析,構建了京東的用戶肖像。如下圖所示。其中,不僅有用戶的性格,性別,購物習慣,還有大量基于購物行為的數(shù)據(jù),如是否結婚,是否有孩子,是否對促銷敏感等等。此外,實時用戶肖像可以在幾秒鐘內(nèi)分析用戶的購買意圖和實時興趣偏好。用戶肖像廣泛應用于北京和華東地區(qū)各種終端的推薦產(chǎn)品。在618中推出的智能商店是用戶肖像的典型應用場景。智能商店的產(chǎn)品包括尋找好產(chǎn)品,個性化地板,秒殺,活動,優(yōu)惠券,分類,標簽等。以secondkill為例,推薦結果將根據(jù)當前用戶肖像的肖像模型(性別,年齡,促銷敏感度,類別偏好,購買力)進行加權,以便用戶最有趣的產(chǎn)品排名第一。用戶肖像也是場景推薦的核心基礎。以業(yè)主庭院為例,根據(jù)用戶的歷史行為聚合了許多場景標簽,并根據(jù)當前用戶的肖像模型調(diào)整場景標簽的順序。如果用戶選擇“治愈所有疾病”的標簽,推薦的產(chǎn)品將根據(jù)用戶肖像中的性別,年齡,類別和促銷敏感度的肖像模型進行重新排序。特征是推薦系統(tǒng)是否體現(xiàn)個性化的基礎,其中,共同特征是重要的一點,它分為單邊和多邊特征,多變特征一般是雙邊特征。前者指對象屬性的描述,如顏色;后者描述兩個對象的交互程度,例如用戶在歷史記錄瀏覽過的品牌與候選集中的品牌之間的匹配程度。而生成特征的場景里,可以分為離線和實時特征。無論是離線特征還是實時特征,推薦內(nèi)容的效果和特征玩哪個計算能力都受到特征的直接影響,也影響個性化推薦的處理能力。此外,共享和重用特征可以提高迭代速度并節(jié)省人力成本。特征數(shù)據(jù)的計算是服務管理平臺的職能,平臺有效地進行聲明和管理數(shù)據(jù),實現(xiàn)特征資源的共享和重用。特色服務平臺可以快速滿足有效申報,在線,測試和A/B實驗效果比較的不同特征要求,使特征得以維護,解釋和驗證。特征服務平臺的主要特征如下:離線特征的定制使用,在線特征的自定義使用,定制特征生成的新功能,一些特征和模型的在線申報,不同特征的快速A/B。建議的一般處理邏輯是在每個請求時調(diào)用一批貨物,然后根據(jù)用戶的行為數(shù)據(jù)和用戶模型計算每個產(chǎn)品的特征。由特征計算得到商品得分,算法模型根據(jù)每種商品的得分,選擇得分最高的幾種商品推薦給用戶。在線計算特征是一次性行為,不會被記錄。因此,如果我們想在離線培訓模型中使用上述特征,我們需要在離線機器上再次計算這些特征。不幸的是,離線計算的特征通常與在線計算的特征不同,這導致模型訓練效果不佳。推薦服務呼叫推薦引擎。推薦引擎通過功能回放服務記錄方案功能,并將它們輸入到大數(shù)據(jù)平臺。機器學習模型會根據(jù)特征數(shù)據(jù)訓練新的算法模型,對推薦內(nèi)容進行重排序,形成場景的閉環(huán)推薦,以實現(xiàn)更準確的個性化推薦。場景特征回放技術的實現(xiàn)過程如下。在線功能通常是一系列數(shù)值。我們根據(jù)某些規(guī)則將這些功能組合成一個字符串,然后使用HTTP的POST方法將這些功能異步發(fā)送到服務器。 隨著企業(yè)的進步和發(fā)展和人們生活方式的變化,推薦系統(tǒng)的更新?lián)Q代一直在進行中。在個人電腦時代到手機移動端的過度,從固化的推薦相關內(nèi)容到個性推薦,由純商品推薦到多種推薦,個性化推薦系統(tǒng)已經(jīng)實現(xiàn)了數(shù)千人。實際上,個性化的效果需要提高,經(jīng)驗類型的一些問題逐漸得到改善。目前,還有很多方面需要改進,如:豐富的知識地圖和深入學習算法的廣泛應用;更好地支持推薦系統(tǒng)中的大規(guī)模召回,高維特征計算和在線學習;更實時,更準確的推薦;產(chǎn)品已朝著“全屏智能推薦”的方向發(fā)展。最后,我希望個性化推薦系統(tǒng)可以使購物更簡單,更人性化,更豐富,更好。[8]4公共生活中的蟻群算法4.1蟻群算法(ACO)蟻群算法源自觀察大自然中螞蟻種群的工作行為,如移穴和覓食行為,單只螞蟻的工作效率極低,只能通過漫無目的的搜索來尋找目標,而螞蟻群體卻可以在巢穴和目標之間找到最優(yōu)路徑。學者在對自然狀態(tài)下的蟻群做了大量觀察和研究之后,發(fā)現(xiàn)螞蟻可以產(chǎn)生一種名為信息素的物質(zhì),這種物質(zhì)是螞蟻個體間信息交流的載體。螞蟻會在通過的路徑留下這種物質(zhì),其他螞蟻可以感受和追蹤這種物質(zhì)。在蟻群行進道路上的信息素越多,其他螞蟻在該道路通過的概率越大。正是通過這種間接溝通機制,螞蟻種群可以實現(xiàn)搜尋目標的最優(yōu)化路線。4.1.1旅行商(TSP)路徑規(guī)劃問題

旅行商路徑規(guī)劃問題屬于車輛調(diào)度問題,也可以稱為推銷員問題。該問題是選定一個起點,通過需要駐留或其他進行活動的需求點,再返回原點(起點),目標是尋求完成改路徑活動的最小成本。如公交線路運營調(diào)度問題就是典型的TSP問題4.1.2基本原理A是初始狀態(tài),螞蟻從A出發(fā)。想要到達E,需要繞過路上的障礙才能到達那里。圍繞障礙的兩條路線BC和BH。已校準每條路徑的距離D.B圖是t=0時的螞蟻狀態(tài),假設它是15,每側(cè)有相同的信息素濃度。C圖是在t=1時刻螞蟻的狀態(tài),信息素濃度發(fā)生變化。從螞蟻覓食的原理可以看出,個體螞蟻的行為非常簡單。螞蟻只知道跟蹤信息素爬行和釋放信息素,但組合的群體智能非常高。在復雜的地理分布下,螞蟻可以很容易地找到螞蟻的食物和食物來源之間的最短路徑。路徑長度和信息素濃度成反比例關系,長度越短,濃度越高,螞蟻會更大概率的選擇更短的路徑到達目的地。在螞蟻種群大量的路徑訓練后,巢穴到目標的最優(yōu)路徑被找到。整個過程可以概括如為,選擇路徑的概率與信息素濃度相關;路徑越短,信息素更新速度越快,即濃度增加越快;螞蟻通過群體協(xié)同工作傳遞信息。蟻群算法是對這種自然現(xiàn)象的模仿和改進,自然螞蟻被人工螞蟻取代。4.2基本步驟在抽取螞蟻路徑之前,根據(jù)每個時期的客流量,應該進行整天。所有時段均根據(jù)客流的峰值,平峰和低峰進行分類。根據(jù)經(jīng)驗每個好班級都定義了一個離職研討會間隔。每個相應的時間段都很方便。對應一個可供選擇的發(fā)車間隔區(qū)間。在編程過程中,為了方便的計算,有必要將每個周期中的備選間隔數(shù)設置為相同,這是不夠的。部分由大量補充。假設每個間隔內(nèi)的可選出發(fā)間隔元素的數(shù)量是6,并且第k個周期的離開研討會間隔中的元素的數(shù)量由delta表示。選擇性元素校正構建了下圖所示的人工智能螞蟻搜索。通過上面構建的總線運行調(diào)度網(wǎng)絡圖,完成了總線運行調(diào)度。將該問題轉(zhuǎn)化為“TSP”問題,建立了總線調(diào)度的蟻群算法模型。公共交通運營調(diào)度及相關業(yè)務和公共交通的蟻群算法中的變量已經(jīng)付諸實踐。[9]4.3應用案例車輛路徑問題。限制每一個客戶點上的需求量,保證車輛路線上的載量在一定程度之內(nèi),將每條路線上的總好時間設定在一定范圍之內(nèi)。當車輛到達時間限制的范圍之內(nèi)時,應該滿足客戶對于供應的特殊要求,保障求解算法的繼續(xù)提出。在實際的應用中,利用精確算法可以有效地獲得邏輯模型,并且可以建立一些數(shù)學表達式,得出數(shù)目眾多的限制條件。選用基本的蟻群算法模型,可以保證每條路徑上的信息素不會相差過多,同時也不會影響對應的搜索能力于每條路徑上的信息素濃度受到了限制,在一定程度上就會導致信息濃度造成算法能力下降,為了可以保證在有效時間內(nèi)做出判斷,必須要兌現(xiàn)的策略進行適當?shù)男薷?。每一只螞蟻必須要?jīng)歷所有路徑的節(jié)點,這樣才可以確保每一只螞蟻移動的次數(shù)是在一定步數(shù)之內(nèi)。以四個城市間的TSP問題為例,用蟻群算法解決問題。距離矩陣和城市圖示如下:設共有3只螞蟻,記為1、2、3號,參數(shù)分別為:信息啟發(fā)式因子α=1,期望啟發(fā)式因子β=2,信息素強度θ=0.5。首先,使用貪心算法求得路徑的(ACDBA),Cnn=1+2+4+3+=10,求得T0=m/Cnn=0.3T(0)=(Tij(0))=然后,為每只螞蟻隨機地選擇出發(fā)點,設一號選擇A作為出發(fā)點,2號選擇B作為出發(fā)點,3號選擇D作為出發(fā)點。為使每個螞蟻訪問下一個城市,以1號為例,當前城市i=A,可以訪問城市有B,C,D。計算1號訪問各個城市的概率:用輪盤法選擇下一個訪問城市。假設產(chǎn)生的隨機數(shù)q=0.05,則1號會選擇城市B,2號選擇城市D,三號選擇城市A。同理,隨機數(shù)q=0.68,則1號會選擇城市D,2號選擇城市C,3號選擇城市D。此時所有螞蟻都已經(jīng)選擇好路徑。1號:A-B-D-C-A2號:B-D-C-A-B3號:D-A-C-B-D接著計算每號螞蟻的路徑,更新每條邊上的信息素。C1=3+4+2+1=10C2=4+2+1+3=10C3=3+2+5+4=12最后,如果滿足結束條件,則輸出全局最優(yōu)路徑。否則,回到第二部繼續(xù)搜尋。在實際操作調(diào)度中,調(diào)度員可以首先結合每個時段的經(jīng)驗。設置一定數(shù)量的備用出發(fā)間隔,然后根據(jù)調(diào)查數(shù)據(jù)使用該紙張。采用的方法是根據(jù)乘客的要求,在全天路線上生成公交時刻表。通過滾動更新流量和交通流量。[10]5數(shù)學算法的新應用領域5.游戲中的算法作為一名魔獸爭霸等MMOARPG游戲的資深玩家,我發(fā)現(xiàn)人們走路很有趣。為了模仿人們行走的真實體驗,他們將選擇最近的路線到達目的地,避開山脈或湖泊,繞過箱子或樹木直到他們到達目的地。這個看似普通的路徑需要一定的路由算法來解決程序何時實現(xiàn)。如何在最短時間內(nèi)找到最短路徑是路由算法的首要考慮因素。游戲中,玩家可以自己編輯游戲地圖和資源分配,而開發(fā)者需要將地圖轉(zhuǎn)換為數(shù)據(jù)對象。數(shù)據(jù)結構圖是我們算法運算的基礎。從某種意義上說,網(wǎng)格也是圖形的演變,但圖形已經(jīng)發(fā)生了變化。5.1搜索算法在游戲開發(fā)初期,深度優(yōu)先、寬度優(yōu)先和Dijkstra算法是三種應用較廣泛的算法,第一種用于遍歷樹或圖的算法,第二種是圖形搜索算法,常用語探索最短路徑,第三種是有第一種改進得來的,使用貪婪算法計算,最后生成最短路徑。這三種算法在游戲?qū)ぢ分羞€需要改進,綜合這些算法的優(yōu)點,形成現(xiàn)在游戲行業(yè)地圖尋路使用最廣的A*尋路算法.5.2Astar算法A*的基本原理為,當角色要從A地移動到B地,B地被墻阻攔。如下圖所示,藍色部分為墻,紅色方塊為終點。首先,簡化搜索區(qū)域是尋路的第一步。整個搜索區(qū)域為矩陣,矩陣由正方形方塊組成,這些正方形分成兩種,開通過和不可通過。從A點到達B點經(jīng)過的方塊記為路徑,只要存在這種路徑,角色就可以從A點到達B點,換言之,游戲中角色就可以從一個NPC(電腦控制的角色)到達另一個NPC處。[11]5.2.1開始搜索接下來尋找最短路徑。檢查A點塊附近的方塊:記A為“打開列表中”處理的點,通過情況為會通過或不會通過。尋找A附近的所有方塊,忽略墻壁與河流等無法通過的地方,并添加到“打開列表”中。以上所有的方塊都是父方塊。綠色是起點,周圍每個方塊都有指針指向父方塊。5.2.2路徑評分選擇路徑中要通過的正方形的關鍵是以下方程式:F=G+HG=從起點A沿路徑移動到網(wǎng)格上的正方形。H=從指定的正方形到B端的預計移動成本。路徑是由最小的f值平方生成的。選擇十個方塊作移動,十四個方塊作對角線,g表示從起點到當前位置的成本。設定一條指向g的路線,用父節(jié)點的g值計算,相對于父節(jié)點的對角線或直角分別增加14和10。求解h值,當前網(wǎng)格到目標網(wǎng)格的水平和垂直平方和。得到的結果擴大十倍。這類似與計算角色從一個NPC到另一個NPC的方塊數(shù),角色是斜插過區(qū)域的。f的值等于g+h,首次搜索結果如下圖顯示,f,g,h的值分別位于每個方塊中。在字母框中,G=10.這是因為它在水平方向上僅偏離起始點陣一個空格。在初始晶格的頂部旁邊,左下方和左方的G值等于10.對角線方向的G值為14。H值是通過求解紅色目標點陣的曼哈頓距離獲得的,該距離僅水平和垂直移動,并忽略中間墻。這樣,起點附近的正方形距離紅色正方形3個方格,H值為30.該正方形上方的正方形有四個網(wǎng)格距離(記住,它只能水平和垂直移動),H值為40。通過添加G和H簡單地獲得每個晶格的F值。5.2.3繼續(xù)搜索按以下程序處理選定的網(wǎng)格,將其從打開列表轉(zhuǎn)移到關閉列表中,打開列表中最低的f值。1.對所有的臨近網(wǎng)格進行檢查。越過已關閉列表中或無法訪問的內(nèi)容(墻,水或其他無法訪問的地形)并將其補充到打開列表中。如果不存在,使用所選網(wǎng)格作為新網(wǎng)格的父節(jié)點。中式2.如果相鄰單元格已在打開列表中,請檢查當前路徑是否更好。如果新G值較低,將之前相鄰網(wǎng)格的父節(jié)點更改為選定的網(wǎng)格,再重新計算F和G的值。在前9個方格中,在起點切換到關閉列表后,打開列表中剩下8個。在這種情況下,F(xiàn)的最低值是40,位于父方塊右側(cè)的相鄰方塊。故將該方塊當作下一個移動方塊。如下圖的藍色邊框方塊。首先,我們將它從開放列表中取出并將其放入封閉列表中,然后檢查相鄰的網(wǎng)格。跳過右邊的網(wǎng)格和左邊的晶格其他四個單元格已經(jīng)在打開列表中,檢查g值判斷角色能否搞笑通過網(wǎng)格。它的值為14,使g值增加到20,此時g值超過14,不是更好的路徑。再檢查有所臨近網(wǎng)格,移動下一塊網(wǎng)格。在打開列表中檢索,現(xiàn)在只有7個網(wǎng)格,仍選擇其中f值最低的方塊。這一次,有兩個格子,值為54.考慮到速度,選擇要添加到列表的最后一個網(wǎng)格會更快。這導致優(yōu)選在接近目標時首先使用新發(fā)現(xiàn)的晶格。然后我們選擇起始網(wǎng)格右下角的點陣。檢查相鄰的細胞,會發(fā)現(xiàn)右側(cè)的墻壁并跳過它。這樣,剩下五個其他方格。當前晶格下的其他兩個晶格當前不在開放列表中,因此我們添加它們并將當前晶格指定為其父節(jié)點。其余三個單元格,有兩個存在與關閉列表中(起始網(wǎng)格和當前網(wǎng)格,用藍色在表格突出顯示)會被跳過。將檢查當前網(wǎng)格左側(cè)的最后一個網(wǎng)格,以查看此路徑中的G值是否較低。起始網(wǎng)格下方的網(wǎng)格的父節(jié)點與前一個網(wǎng)格不同。之前,G值為28,并指向右上方的網(wǎng)格。現(xiàn)在G值為20,指向上面的點陣。應用新路徑時,檢查G值,并重新分配父節(jié)點且重新計算G和F的值。簡單地說,從紅色目標細胞開始,沿箭頭方向向父節(jié)點移動,最終會回到起跑線。從起始點A移動到目標點陣B只是從每

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論