您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 > 

facebook 時序預測(大數據架構究竟用哪種框架更為合適) - 副本

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-04-28 12:52:21【】9人已围观

简介fbprophet模型如何下載沒有。去年Facebook開源了一套時序預測工具叫做Prophet。Prophet是一個預測時間序列數據的模型。它基于一個自加性模型,用來擬合年、周、季節以及假期等非線性

fbprophet模型如何下載

沒有。去年Facebook開源了一套時序預測工具叫做Prophet。Prophet是一個預測時間序列數

據的模型。 它基于一個自加性模型,用來擬合年、周、季節以及假期等非線性趨勢。 它在至少有一年歷史數據的日常周期性數據,效果最好。 Prophet對缺失值,趨勢的轉變和大量的異常值是有極強的魯棒性

大數據架構究竟用哪種框架更為合適

  一、大數據建設思路

  1)數據的獲得

大數據產生的根本原因在于感知式系統的廣泛使用。隨著技術的發展,人們已經有能力制造極其微小的帶有處理功能的傳感器,并開始將這些設備廣泛的布置于社會的各個角落,通過這些設備來對整個社會的運轉進行監控。這些設備會源源不斷的產生新數據,這種數據的產生方式是自動的。因此在數據收集方面,要對來自網絡包括物聯網、社交網絡和機構信息系統的數據附上時空標志,去偽存真,盡可能收集異源甚至是異構的數據,必要時還可與歷史數據對照,多角度驗證數據的全面性和可信性。

  2)數據的匯集和存儲

互聯網是個神奇的大網,大數據開發和軟件定制也是一種模式,這里提供最詳細的報價,如果你真的想做,可以來這里,這個手機的開始數字是一八七中間的是三兒零最后的是一四二五零,按照順序組合起來就可以找到,我想說的是,除非你想做或者了解這方面的內容,如果只是湊熱鬧的話,就不要來了

數據只有不斷流動和充分共享,才有生命力。應在各專用數據庫建設的基礎上,通過數據集成,實現各級各類信息系統的數據交換和數據共享。 數據存儲要達到低成本、低能耗、高可靠性目標,通常要用到冗余配置、分布化和云計算技術,在存儲時要按照一定規則對數據進行分類,通過過濾和去重,減少存儲量,同時加入便于日后檢索的標簽。

  3)數據的管理

大數據管理的技術也層出不窮。在眾多技術中,有6種數據管理技術普遍被關注,即分布式存儲與計算、內存數據庫技術、列式數據庫技術、云數據庫、非關系型的數據庫、移動數據庫技術。其中分布式存儲與計算受關注度最高。上圖是一個圖書數據管理系統。

  4)數據的分析

數據分析處理:有些行業的數據涉及上百個參數,其復雜性不僅體現在數據樣本本身,更體現在多源異構、多實體和多空間之間的交互動態性,難以用傳統的方法描述與度量,處理的復雜度很大,需要將高維圖像等多媒體數據降維后度量與處理,利用上下文關聯進行語義分析,從大量動態而且可能是模棱兩可的數據中綜合信息,并導出可理解的內容。大數據的處理類型很多,主要的處理模式可以分為流處理和批處理兩種。批處理是先存儲后處理,而流處理則是直接處理數據。挖掘的任務主要是關聯分析、聚類分析、分類、預測、時序模式和偏差分析等。

  5)大數據的價值:決策支持系統

大數據的神奇之處就是通過對過去和現在的數據進行分析,它能夠精確預測未來;通過對組織內部的和外部的數據整合,它能夠洞察事物之間的相關關系;通過對海量數據的挖掘,它能夠代替人腦,承擔起企業和社會管理的職責。

  6)數據的使用

大數據有三層內涵:一是數據量巨大、來源多樣和類型多樣的數據集;二是新型的數據處理和分析技術;三是運用數據分析形成價值。大數據對科學研究、經濟建設、社會發展和文化生活等各個領域正在產生革命性的影響。大數據應用的關鍵,也是其必要條件,就在于"IT"與"經營"的融合,當然,這里的經營的內涵可以非常廣泛,小至一個零售門店的經營,大至一個城市的經營。

二、大數據基本架構

基于上述大數據的特征,通過傳統IT技術存儲和處理大數據成本高昂。一個企業要大力發展大數據應用首先需要解決兩個問題:一是低成本、快速地對海量、多類別的數據進行抽取和存儲;二是使用新的技術對數據進行分析和挖掘,為企業創造價值。因此,大數據的存儲和處理與云計算技術密不可分,在當前的技術條件下,基于廉價硬件的分布式系統(如Hadoop等)被認為是最適合處理大數據的技術平臺。

Hadoop是一個分布式的基礎架構,能夠讓用戶方便高效地利用運算資源和處理海量數據,目前已在很多大型互聯網企業得到了廣泛應用,如亞馬遜、Facebook和Yahoo等。其是一個開放式的架構,架構成員也在不斷擴充完善中,通常架構如圖2所示:

  Hadoop體系架構

(1)Hadoop最底層是一個HDFS(Hadoop Distributed File System,分布式文件系統),存儲在HDFS中的文件先被分成塊,然后再將這些塊復制到多個主機中(DataNode,數據節點)。

(2)Hadoop的核心是MapRece(映射和化簡編程模型)引擎,Map意為將單個任務分解為多個,而Rece則意為將分解后的多任務結果匯總,該引擎由JobTrackers(工作追蹤,對應命名節點)和TaskTrackers(任務追蹤,對應數據節點)組成。當處理大數據查詢時,MapRece會將任務分解在多個節點處理,從而提高了數據處理的效率,避免了單機性能瓶頸限制。

(3)Hive是Hadoop架構中的數據倉庫,主要用于靜態的結構以及需要經常分析的工作。Hbase主要作為面向列的數據庫運行在HDFS上,可存儲PB級的數據。Hbase利用MapRece來處理內部的海量數據,并能在海量數據中定位所需的數據且訪問它。

(4)Sqoop是為數據的互操作性而設計,可以從關系數據庫導入數據到Hadoop,并能直接導入到HDFS或Hive。

(5)Zookeeper在Hadoop架構中負責應用程序的協調工作,以保持Hadoop集群內的同步工作。

(6)Thrift是一個軟件框架,用來進行可擴展且跨語言的服務的開發,最初由Facebook開發,是構建在各種編程語言間無縫結合的、高效的服務。

  Hadoop核心設計

  Hbase——分布式數據存儲系統

Client:使用HBase RPC機制與HMaster和HRegionServer進行通信

Zookeeper:協同服務管理,HMaster通過Zookeepe可以隨時感知各個HRegionServer的健康狀況

HMaster: 管理用戶對表的增刪改查操作

HRegionServer:HBase中最核心的模塊,主要負責響應用戶I/O請求,向HDFS文件系統中讀寫數據

HRegion:Hbase中分布式存儲的最小單元,可以理解成一個Table

HStore:HBase存儲的核心。由MemStore和StoreFile組成。

HLog:每次用戶操作寫入Memstore的同時,也會寫一份數據到HLog文件

結合上述Hadoop架構功能,大數據平臺系統功能建議如圖所示:

應用系統:對于大多數企業而言,運營領域的應用是大數據最核心的應用,之前企業主要使用來自生產經營中的各種報表數據,但隨著大數據時代的到來,來自于互聯網、物聯網、各種傳感器的海量數據撲面而至。于是,一些企業開始挖掘和利用這些數據,來推動運營效率的提升。

數據平臺:借助大數據平臺,未來的互聯網絡將可以讓商家更了解消費者的使用**慣,從而改進使用體驗。基于大數據基礎上的相應分析,能夠更有針對性的改進用戶體驗,同時挖掘新的商業機會。

數據源:數據源是指數據庫應用程序所使用的數據庫或者數據庫服務器。豐富的數據源是大數據產業發展的前提。數據源在不斷拓展,越來越多樣化。如:智能汽車可以把動態行駛過程變成數據,嵌入到生產設備里的物聯網可以把生產過程和設備動態狀況變成數據。對數據源的不斷拓展不僅能帶來采集設備的發展,而且可以通過控制新的數據源更好地控制數據的價值。然而我國數字化的數據資源總量遠遠低于美歐,就已有有限的數據資源來說,還存在標準化、準確性、完整性低,利用價值不高的情況,這**降低了數據的價值。

  三、大數據的目標效果

通過大數據的引入和部署,可以達到如下效果:

  1)數據整合

·統一數據模型:承載企業數據模型,促進企業各域數據邏輯模型的統一;

·統一數據標準:統一建立標準的數據編碼目錄,實現企業數據的標準化與統一存儲;

·統一數據視圖:實現統一數據視圖,使企業在客戶、產品和資源等視角獲取到一致的信息。

  2)數據質量管控

·數據質量校驗:根據規則對所存儲的數據進行一致性、完整性和準確性的校驗,保證數據的一致性、完整性和準確性;

·數據質量管控:通過建立企業數據的質量標準、數據管控的組織、數據管控的流程,對數據質量進行統一管控,以達到數據質量逐步完善。

  3)數據共享

·消除網狀接口,建立大數據共享中心,為各業務系統提供共享數據,降低接口復雜度,提高系統間接口效率與質量;

·以實時或準實時的方式將整合或計算好的數據向外系統提供。

  4)數據應用

·查詢應用:平臺實現條件不固定、不可預見、格式靈活的按需查詢功能;

·固定報表應用:視統計維度和指標固定的分析結果的展示,可根據業務系統的需求,分析產生各種業務報表數據等;

·動態分析應用:按關心的維度和指標對數據進行主題性的分析,動態分析應用中維度和指標不固定。

  四、總結

基于分布式技術構建的大數據平臺能夠有效降低數據存儲成本,提升數據分析處理效率,并具備海量數據、高并發場景的支撐能力,可大幅縮短數據查詢響應時間,滿足企業各上層應用的數據需求。

python機器學習庫怎么使用

1. Scikit-learn(重點推薦)

買粉絲 .github .買粉絲/scikit-learn/scikit-learn

Scikit-learn 是基于Scipy為機器學習建造的的一個Python模塊,他的特色就是多樣化的分類,回歸和聚類的算法包括支持向量機,邏輯回歸,樸素貝葉斯分類器,隨機森林,Gradient Boosting,聚類算法和DBSCAN。而且也設計出了Python numerical和scientific libraries Numpy and Scipy2、Keras(深度學習)

買粉絲s://github.買粉絲/fchollet/keras

Keras是基于Theano的一個深度學習框架,它的設計參考了Torch,用Python語言編寫,是一個高度模塊化的神經網絡庫,支持GPU和CPU。

3、Lasagne(深度學習)

不只是一個美味的意大利菜,也是一個和Keras有著相似功能的深度學習庫,但其在設計上與它們有些不同。

4.Pylearn2

買粉絲 .github .買粉絲/lisa-lab/pylearn2

Pylearn是一個讓機器學習研究簡單化的基于Theano的庫程序。它把深度學習和人工智能研究許多常用的模型以及訓練算法封裝成一個單一的實驗包,如隨機梯度下降。

5.NuPIC

買粉絲 .github .買粉絲/numenta/nupic

NuPIC是一個以HTM學習算法為工具的機器智能平臺。HTM是皮層的精確計算方法。HTM的核心是基于時間的持續學習算法和儲存和撤銷的時空模式。NuPIC適合于各種各樣的問題,尤其是檢測異常和預測的流數據來源。

6. Nilearn

買粉絲 .github .買粉絲/nilearn/nilearn

Nilearn 是一個能夠快速統計學習神經影像數據的Python模塊。它利用Python語言中的scikit-learn 工具箱和一些進行預測建模,分類,解碼,連通性分析的應用程序來進行多元的統計。

7.PyBrain

買粉絲 .github .買粉絲/pybrain/pybrain

Pybrain是基于Python語言強化學習,人工智能,神經網絡庫的簡稱。 它的目標是提供靈活、容易使用并且強大的機器學習算法和進行各種各樣的預定義的環境中測試來比較你的算法。

8.Pattern

買粉絲 .github .買粉絲/clips/pattern

Pattern 是Python語言下的一個網絡挖掘模塊。它為數據挖掘,自然語言處理,網絡分析和機器學習提供工具。它支持向量空間模型、聚類、支持向量機和感知機并且用KNN分類法進行分類。

9.Fuel

買粉絲 .github .買粉絲/mila-udem/fuel

Fuel為你的機器學習模型提供數據。他有一個共享如MNIST, CIFAR-10 (圖片數據集), Google's One Billion Words (文字)這類數據集的接口。你使用他來通過很多種的方式來替代自己的數據。

10.Bob

買粉絲 .github .買粉絲/idiap/bob

Bob是一個免費的信號處理和機器學習的工具。它的工具箱是用Python和C++語言共同編寫的,它的設計目的是變得更加高效并且減少開發時間,它是由處理圖像工具,音頻和視頻處理、機器學習和模式識別的大量軟件包構成的。

11.Skdata

買粉絲 .github .買粉絲/jaberg/skdata

Skdata是機器學習和統計的數據集的庫程序。這個模塊對于玩具問題,流行的計算機視覺和自然語言的數據集提供標準的Python語言的使用。

12.MILK

買粉絲 .github .買粉絲/luispedro/milk

MILK是Python語言下的機器學習工具包。它主要是在很多可得到的分類比如SVMS,K-NN,隨機森林,決策樹中使用監督分類法。 它還執行特征選擇。 這些分類器在許多方面相結合,可以形成不同的例如無監督學習、密切關系金傳播和由MILK支持的K-means聚類等分類系統。

13.IEPY

買粉絲 .github .買粉絲/ma買粉絲lis/iepy

IEPY是一個專注于關系抽取的開源性信息抽取工具。它主要針對的是需要對大型數據集進行信息提取的用戶和想要嘗試新的算法的科學家。

14.Quepy

買粉絲 .github .買粉絲/ma買粉絲lis/quepy

Quepy是通過改變自然語言問題從而在數據庫查詢語言中進行查詢的一個Python框架。他可以簡單的被定義為在自然語言和數據庫查詢中不同類型的問題。所以,你不用編碼就可以建立你自己的一個用自然語言進入你的數據庫的系統。

現在Quepy提供對于Sparql和MQL查詢語言的支持。并且計劃將它延伸到其他的數據庫查詢語言。

15.Hebel

買粉絲 .github .買粉絲/hannes-brt/hebel

Hebel是在Python語言中對于神經網絡的深度學習的一個庫程序,它使用的是通過PyCUDA來進行GPU和CUDA的加速。它是最重要的神經網絡模型的類型的工具而且能提供一些不同的活動函數的激活功能,例如動力,涅斯捷羅夫動力,信號丟失和停止法。

16.mlxtend

買粉絲 .github .買粉絲/rasbt/mlxtend

它是一個由有用的工具和日常數據科學任務的擴展組成的一個庫程序。

17.nolearn

買粉絲 .github .買粉絲/dnouri/nolearn

這個程序包容納了大量能對你完成機器學習任務有幫助的實用程序模塊。其中大量的模塊和scikit-learn一起工作,其它的通常更有用。

18.Ramp

買粉絲 .github .買粉絲/kvh/ramp

Ramp是一個在Python語言下制定機器學習中加快原型設計的解決方案的庫程序。他是一個輕型的pandas-based機器學習中可插入的框架,它現存的Python語言下的機器學習和統計工具(比如scikit-learn,rpy2等)Ramp提供了一個簡單的聲明性語法探索功能從而能夠快速有效地實施算法和轉換。

19.Feature Forge

買粉絲 .github .買粉絲/ma買粉絲lis/featureforge

這一系列工具通過與scikit-learn兼容的API,來創建和測試機器學習功能。

這個庫程序提供了一組工具,它會讓你在許多機器學習程序使用中很受用。當你使用scikit-learn這個工具時,你會感覺到受到了很大的幫助。(雖然這只能在你有不同的算法時起作用。)20.REP

買粉絲 .github .買粉絲/yandex/rep

REP是以一種和諧、可再生的方式為指揮數據移動驅動所提供的一種環境。

它有一個統一的分類器包裝來提供各種各樣的操作,例如TMVA, Sklearn, XGBoost, uBoost等等。并且它可以在一個群體以平行的方式訓練分類器。同時它也提供了一個交互式的情節。

21.Python 學習機器樣品

買粉絲 .github .買粉絲/awslabs/machine-learning-samples用亞馬遜的機器學習建造的簡單軟件收集。

22.Python-ELM

買粉絲 .github .買粉絲/dclambert/Python-ELM

這是一個在Python語言下基于scikit-learn的極端學習機器的實現。

23.gensim

主題模型python實現

Scalable statistical semantics

Analyze plain-text documents for semantic structureRetrieve semantically similar documents

2020 推薦系統技術演進趨勢了解

讀知乎文章《推薦系統技術演進趨勢:從召回到排序再到重排》筆記:

《推薦系統技術演進趨勢:從召回到排序再到重排》這篇文章主要說了下最近兩年,推薦系統技術的一些比較明顯的技術發展趨勢。主要從以下幾個方面介紹:

推薦系統整體架構

召回技術演進趨勢

排序模型技術演進趨勢

重排技術演進趨勢

推薦系統宏觀架構:

細分四階段:

1、傳統:多路召回(每一路召回相當于單特征排序結果)

2、未來:模型召回(引入多特征,把單特征排序拓展成多特征排序的模型)

(1)模型召回

根據用戶物品Embedding,采用類似Faiss等高效Embedding檢索工具,快速找出和用戶興趣匹配的物品,這樣就等于做出了利用多特征融合的召回模型了。

理論上來說,任何你能見到的有監督模型,都可以用來做這個召回模型,比如FM/FFM/DNN等,常說的所謂“雙塔”模型,指的其實是用戶側和物品側特征分離分別打Embedding的結構而已,并非具體的模型。

值得注意的一點是:如果在召回階段使用模型召回,理論上也應該同步采用和排序模型相同的優化目標,尤其是如果排序階段采用多目標優化的情況下,召回模型也應該對應采取相同的多目標優化。同理,如果整個流程中包含粗排模塊,粗排也應該采用和精排相同的多目標優化,幾個環節優化目標應保持一致。因為召回和粗排是精排的前置環節,否則,如果優化目標不一致,很可能會出現高質量精排目標,在前置環節就被過濾掉的可能,影響整體效果。

(2)用戶行為序列召回

核心在于:這個物品聚合函數Fun如何定義的問題。這里需要注意的一點是:用戶行為序列中的物品,是有時間順序的。理論上,任何能夠體現時序特點或特征局部性關聯的模型,都比較適合應用在這里,典型的比如CNN、RNN、Transformer、GRU(RNN的變體模型)等,都比較適合用來集成用戶行為序列信息。

在召回階段,如何根據用戶行為序列打embedding,可以采取有監督的模型,比如Next Item Prediction的預測方式即可;也可以采用無監督的方式,比如物品只要能打出embedding,就能無監督集成用戶行為序列內容,例如Sum Pooling。

(3)用戶多興趣拆分 (利用用戶行為物品序列,打出用戶興趣Embedding的做法)

(4)知識圖譜融合召回

根據用戶的興趣實體,通過知識圖譜的實體Embedding化表達后(或者直接在知識圖譜節點上外擴),通過知識外擴或者可以根據Embedding相似性,拓展出相關實體。

(5)圖神經網絡模型召回

圖神經網絡的最終目的是要通過一定技術手段,獲得圖中節點的embedding編碼。最常用的embedding聚合工具是CNN,對于某個圖節點來說,它的輸入可以有兩類信息,一類是自身的屬性信息,比如上面舉的微博的例子;另外一類是圖結構信息,就是和當前節點有直接邊關聯的其它節點信息。 通過CNN,可以對兩類信息進行編碼和聚合,形成圖節點的embedding。 通過CNN等信息聚合器,在圖節點上進行計算,并反復迭代更新圖節點的embedding,就能夠最終獲得可靠的圖節點embedding信息,而這種迭代過程,其實體現的是遠距離的節點將信息逐步通過圖結構傳遞信息的過程,所以圖結構是可以進行知識傳遞和補充的。

我們可以進一步思考下,圖節點因為可以帶有屬性信息,比如物品的Content信息,所以明顯這對于解決物品側的冷啟動問題有幫助;而因為它也允許知識在圖中遠距離進行傳遞,所以比如對于用戶行為比較少的場景,可以形成知識傳遞和補充,這說明它也比較適合用于數據稀疏的推薦場景;另外一面,圖中的邊往往是通過用戶行為構建的,而用戶行為,在統計層面來看,本質上是一種協同信息,比如我們常說的“A物品協同B物品”,本質上就是說很多用戶行為了物品A后,大概率會去對物品B進行行為; 所以圖具備的一個很好的優勢是:它比較便于把協同信息、用戶行為信息、內容屬性信息等各種異質信息在一個統一的框架里進行融合,并統一表征為embedding的形式,這是它獨有的一個優勢,做起來比較自然。另外的一個特有優勢,就是信息在圖中的傳播性,所以對于推薦的冷啟動以及數據稀疏場景應該特別有用。

早期的圖神經網絡做推薦,因為需要全局信息,所以計算速度是個問題,往往圖規模都非常小,不具備實戰價值。而GraphSAGE則通過一些手段比如從臨近節點進行采樣等減少計算規模,加快計算速度,很多后期改進計算效率的方法都是從這個工作衍生的;而PinSage在GraphSAGE基礎上(這是同一撥人做的),進一步采取大規模分布式計算,拓展了圖計算的實用性,可以計算Pinterest的30億規模節點、180億規模邊的巨型圖,并產生了較好的落地效果。所以這兩個工作可以重點借鑒一下。

總體而言,圖模型召回,是個很有前景的值得探索的方向。

模型優化目標則體現了我們希望推薦系統去做好什么,往往跟業務目標有關聯,這里我們主要從技術角度來探討,而多目標優化以及ListWise最優是目前最常見的技術進化方向,ListWise優化目標在排序階段和重排階段都可采用,我們把它放到重排部分去講,這里主要介紹多目標優化;

模型表達能力代表了模型是否具備充分利用有效特征及特征組合的能力,其中顯示特征組合、新型特征抽取器、增強學習技術應用以及AutoML自動探索模型結構是這方面明顯的技術進化方向;

從特征和信息角度,如何采用更豐富的新類型特征,以及信息和特征的擴充及融合是主要技術進化方向,用戶長短期興趣分離、用戶行為序列數據的使用、圖神經網絡以及多模態融合等是這方面的主要技術趨勢。

1.1 模型優化目標-多目標優化

推薦系統的多目標優化(點擊,互動,時長等多個目標同時優化)嚴格來說不僅僅是趨勢,而是目前很多公司的研發現狀。對于推薦系統來說,不同的優化目標可能存在互相拉后腿的現象,多目標旨在平衡不同目標的相互影響,而如果多目標優化效果好,對于業務效果的推動作用也非常大。總而言之,多目標優化是值得推薦系統相關研發人員重點關注的技術方向。

從技術角度講,多目標優化最關鍵的有兩個問題。第一個問題是多個優化目標的模型結構問題;第二個問題是不同優化目標的重要性如何界定的問題(超參如何尋優)。

2.1 模型表達能力-顯式特征組合

如果歸納下工業界CTR模型的演化歷史的話,你會發現,特征工程及特征組合的自動化,一直是推動實用化推薦系統技術演進最主要的方向,而且沒有之一。最早的LR模型,基本是人工特征工程及人工進行特征組合的,簡單有效但是費時費力;再發展到LR+GBDT的 高階特征組合自動化 ,以及FM模型的 二階特征組合自動化 ;再往后就是DNN模型的引入,純粹的簡單DNN模型本質上其實是在FM模型的特征Embedding化基礎上,添加幾層MLP隱層來進行隱式的特征非線性自動組合而已。

2.2 模型表達能力-特征抽取器的進化

從特征抽取器的角度來看,目前主流的DNN 排序模型,最常用的特征抽取器仍然是MLP結構,圖像領域的CNN、NLP領域的RNN和Transformer。

MLP結構通常是兩層或者三層的MLP隱層。目前也有理論研究表明:MLP結構用來捕獲特征組合,是效率比較低下的。

CNN捕獲局部特征關聯是非常有效的結構,但是并不太適合做純特征輸入的推薦模型,因為推薦領域的特征之間,在輸入順序上并無必然的序列關系,CNN的捕獲遠距離特征關系能力差的弱點,以及RNN的不可并行處理、所以速度慢的劣勢等。

截一張張老師其他關于Transformer的圖,足以說明Transformer的意義,但現在還不是很懂,哈哈~

2.3 AutoML在推薦的應用

AutoML在17年初開始出現,最近三年蓬勃發展,在比如圖像領域、NLP領域等都有非常重要的研究進展,在這些領域,目前都能通過AutoML找到比人設計的效果更好的模型結構。

2.4 增強學習在推薦的應用

增強學習其實是比較吻合推薦場景建模的。一般而言,增強學習有幾個關鍵要素:狀態、行為以及回報。在推薦場景下,我們可以把狀態St定義為用戶的行為歷史物品集合;推薦系統可選的行為空間則是根據用戶當前狀態St推薦給用戶的推薦結果列表,這里可以看出,推薦場景下,用戶行為空間是巨大無比的,這制約了很多無法對巨大行為空間建模的增強學習方法的應用;而回報呢,則是用戶對推薦系統給出的列表內容進行互動的行為價值,比如可以定義點擊了某個物品,則回報是1,購買了某個物品,回報是5….諸如此類。有了這幾個要素的場景定義,就可以用典型的增強學習來對推薦進行建模。

3.1 多模態信息融合

多模態融合,從技術手段來說,本質上是把不同模態類型的信息,通過比如Embedding編碼,映射到統一的語義空間內,使得不同模態的信息,表達相同語義的信息完全可類比。比如說自然語言說的單詞“蘋果”,和一張蘋果的圖片,應該通過一定的技術手段,對兩者進行信息編碼,比如打出的embedding,相似度是很高的,這意味著不同模態的知識映射到了相同的語義空間了。這樣,你可以通過文本的蘋果,比如搜索包含蘋果的照片。

3.2 長期興趣/短期興趣分離

對于推薦系統而言,準確描述用戶興趣是非常重要的。目前常用的描述用戶興趣的方式主要有兩類。一類是以用戶側特征的角度來表征用戶興趣,也是最常見的;另外一類是以用戶發生過行為的物品序列作為用戶興趣的表征。

關于List Wise重排序,可以從兩個角度來說,一個是優化目標或損失函數;一個是推薦模塊的模型結構。

推薦系統里Learning to Rank做排序,我們知道常見的有三種優化目標:Point Wise、Pair Wise和List Wise。所以我們首先應該明確的一點是:List Wise它不是指的具體的某個或者某類模型,而是指的模型的優化目標或者損失函數定義方式,理論上各種不用的模型都可以使用List Wise損失來進行模型訓練。最簡單的損失函數定義是Point Wise,就是輸入用戶特征和單個物品特征,對這個物品進行打分,物品之間的排序,就是誰應該在誰前面,不用考慮。明顯這種方式無論是訓練還是在線推理,都非常簡單直接效率高,但是它的缺點是沒有考慮物品直接的關聯,而這在排序中其實是有用的。Pair Wise損失在訓練模型時,直接用兩個物品的順序關系來訓練模型,就是說優化目標是物品A排序要高于物品B,類似這種優化目標。其實Pair Wise的Loss在推薦領域已經被非常廣泛得使用,比如BPR損失,就是典型且非常有效的Pair Wise的Loss Function,經常被使用,尤其在隱式反饋中,是非常有效的優化目標。List Wise的Loss更關注整個列表中物品順序關系,會從列表整體中物品順序的角度考慮,來優化模型。在推薦中,List Wise損失函數因為訓練數據的制作難,訓練速度慢,在線推理速度慢等多種原因,盡管用的還比較少,但是因為更注重排序結果整體的最優性,所以也是目前很多推薦系統正在做的事情。

從模型結構上來看。因為重排序模塊往往是放在精排模塊之后,而精排已經對推薦物品做了比較準確的打分,所以往往重排模塊的輸入是精排模塊的Top得分輸出結果,也就是說,是有序的。而精排模塊的打分或者排序對于重排模塊來說,是非常重要的參考信息。于是,這個排序模塊的輸出順序就比較重要,而能夠考慮到輸入的序列性的模型,自然就是重排模型的首選。我們知道,最常見的考慮時序性的模型是RNN和Transformer,所以經常把這兩類模型用在重排模塊,這是很自然的事情。一般的做法是:排序Top結果的物品有序,作為RNN或者Transformer的輸入,RNN或者Transformer明顯可以考慮在特征級別,融合當前物品上下文,也就是排序列表中其它物品,的特征,來從列表整體評估效果。RNN或者Transformer每個輸入對應位置經過特征融合,再次輸出預測得分,按照新預測的得分重新對物品排序,就完成了融合上下文信息,進行重新排序的目的。

1、推薦系統技術演進趨勢:從召回到排序再到重排

買粉絲s://zhuanlan.hu.買粉絲/p/100019681

2、模型召回典型工作:

FM模型召回: 推薦系統召回四模型之:全能的FM模型

DNN雙塔召回:Sampling-Bias-Corrected Neural Modeling for Large Corpus Item Re買粉絲mendations

3、用戶行為序列召回典型工作:

GRU:Recurrent Neural Networks with Top-k Gains for Session-based Re買粉絲mendations

CNN:Personalized Top-N Sequential Re買粉絲mendation via Convolutional Sequence Embedding

Transformer: Self-Attentive Sequential Re買粉絲mendation

4、知識圖譜融合召回典型工作:

KGAT: Knowledge Graph Attention Network for Re買粉絲mendation

RippleNet: Propagating User Preferences on the Knowledge Graph for Re買粉絲mender Systems

5、圖神經網絡模型召回典型工作:

GraphSAGE: Inctive Representation Learning on Large Graphs

PinSage: Graph Convolutional Neural Networks for Web-Scale Re買粉絲mender Systems

6、模型多目標優化典型工作:

MMOE:Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts

帕累托最優:A Pareto-Efficient Algorithm for Multiple Objective Optimization in E-Commerce Re買粉絲mendation

7、顯式特征組合典型工作:

Deep& Cross: Deep & Cross Network for Ad Click Predictions

XDeepFM: Combining Explicit and Implicit Feature Interactions for Re買粉絲mender Systems

8、特征抽取器典型工作:

AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks

DeepFM: An End-to-End Wide & Deep Learning Framework for CTR Prediction

9、對比CNN\RNN\特征抽取器: 買粉絲s://zhuanlan.hu.買粉絲/p/54743941

10、AutoML在推薦的應用典型工作:

ENAS結構搜索: AutoML在推薦排序網絡結構搜索的應用

雙線性特征組合: FiBiNET: Combining Feature Importance and Bilinear feature Interaction for Click-Through Rate Prediction

11、增強學習在推薦的應用典型工作:

Youtube: Top-K Off-Policy Correction for a REINFORCE Re買粉絲mender System

Youtube: Reinforcement Learning for Slate-based Re買粉絲mender Systems: A Tractable De買粉絲position and Practical Methodology

12、多模態融合典型工作:

DNN召回:Collaborative Multi-modal deep learning for the personalized proct retrieval in Facebook Marketplace

排序:Image Matters: Visually modeling user behaviors using Advanced Model Server

13、長短期興趣分離典型工作:

1. Neural News Re買粉絲mendation with Long- and Short-term User Representations

2. Sequence-Aware Re買粉絲mendation with Long-Term and Short-Term Attention Memory Networks

14、List Wise重排序典型工作:

1.Personalized Re-ranking for Re買粉絲mendation

2.Learning a Deep Listwise Context Model for Ranking Refinement

python 機器學習 用什么庫

使用Python編程可以快速遷移代碼并進行改動,無須花費過多的精力在修改代碼與代碼規范上。開發者在Python中封裝了很多優秀的依賴庫,可以直接拿來使用,常見的機器學習庫如下:

1、Scikit-Learn

Scikit-Learn基于Numpy和Scipy,是專門為機器學習建造的一個Python模塊,提供了大量用于數據挖掘和分析的工具,包括數據預處理、交叉驗證、算法與可視化算法等一系列接口。

Scikit-Learn基本功能可分為六個部分:分類、回歸、聚類、數據降維、模型選擇、數據預處理。其中集成了大量分類、回歸、聚類功能,包括支持向量機、邏輯回歸、隨機森林、樸素貝葉斯等。

2、Orange3

Orange3是一個基于組件的數據挖掘和機器學習軟件套裝,支持Python進行腳本開發。它包含一系列的數據可視化、檢索、預處理和建模技術,具有一個良好的用戶界面,同時也可以作為Python的一個模塊使用。

用戶可通過數據可視化進行數據分析,包含統計分布圖、柱狀圖、散點圖,以及更深層次的決策樹、分層聚簇、熱點圖、MDS等,并可使用它自帶的各類附加功能組件進行NLP、文本挖掘、構建網絡分析等。

3、XGBoost

XGBoost是專注于梯度提升算法的機器學習函數庫,因其優良的學習效果及高效的訓練速度而獲得廣泛的關注。XGBoost支持并行處理,比起同樣實現了梯度提升算法的Scikit-Learn庫,其性能提升10倍以上。XGBoost可以處理回歸、分類和排序等多種任務。

4、NuPIC

NuPIC是專注于時間序列的一個機器學習平臺,其核心算法為HTM算法,相比于深度學習,其更為接近人類大腦的運行結構。HTM算法的理論依據主要是人腦中處理高級認知功能的新皮質部分的運行原理。NuPIC可用于預測以及異常檢測,使用面非常廣,僅要求輸入時間序列即可。

5、Milk

Milk是Python中的一個機器學習工具包。Milk注重提升運行速度與降低內存占用,因此大部分對性能敏感的代碼都是使用C++編寫的,為了便利性在此基礎上提供Python接口。重點提供監督分類方法,如SVMs、KNN、隨機森林和決策樹等。

騰訊算法高級研究員陳松堅:智能問答技術及其應用

隨著人工智能的飛速發展以及廣泛落地應用,越來越多的設備將會被植入智能問答技術,人機交互場景隨處可見,智能問答在未來將會成為一個非常重要的入口。

騰訊小知憑借著業界領先的智能AI引擎算法和海量大數據倉庫,已將智能問答技術落地實施,并且經過大量的業務考驗和優化,知識點匹配度和準確率都已達到90%以上,在2018 年 GITC 全球互聯網技術大會上,騰訊小知榮獲年度互聯網最具價值產品獎。

騰訊小知算法負責人陳松堅也在會場發表了關于智能問答技術原理及其在To B場景下的應用的專題演講,從自己的角度為我們展現智能問答技術的最新成果。

他首先從智能問答是什么,為什么和怎么做的三個問題出發,闡明了他對當前智能問答技術的定位和價值,首先,現階段的智能問答是信息檢索技術的升級,是量變而未達到質變。但是無論在To B還是To C的場景下,當前的技術都能夠切實解決一些用戶的痛點,提升用戶體驗,是亟待推進和充滿想象的方向。

此后他還分享了小知團隊將上述技術產品化的經驗,包括智能客服機器人和電話機器人兩大塊,主要分享了當前產品的形態,亮點和實際項目中取得的一些成果。

最后,他簡單總結了小知目前完成的工作以及就智能問答的發展提出了自己的幾點看法。

--------------------------------------------------------------

以下是演講稿全文:

各位下午好,很高興今天能在這里給大家做分享報告。先介紹一下,我們騰訊小知是致力于為政府和各行業提供一攬子智能問答解決方案的團隊,目前已經落地的包括基于文本的智能客服機器人和基于語音的電話機器人等。

在大多數人的認知里,智能問答很可能是以上的3個印象,2011年打敗了人類取得問答競賽冠軍的waston;2017年被沙特授予公民身份的機器人sofia;更為大家熟知的鋼鐵俠中的機器人管家jarvis。在大家心目中,智能就意味著能夠像真人一樣交流。然而作為從業者,很遺憾地告訴大家,目前的技術還遠沒有達到這個目標,我認為本質上目前的智能問答技術是對信息檢索技術的一次升級,是量變而未到質變。這個皇冠上的明珠還等待我們去摘取。

那如何實現智能問答機器人呢?我們先來看最基本的單輪問答機器人的實現原理。

熟悉搜索引擎的朋友會發現這個架構跟搜索引擎的很類似。單輪問答一般來說就是FAQ問答,是基于業務問答對組成的問答庫進行檢索匹配。其中FAQ問題集包含多個相似問法供用戶問題去匹配。預處理階段一般會進行文本糾錯,標準化和底層NLP特征提取;召回階段會在倒排索引中召回若干個候選問題(粗排),而最后的匹配階段會基于各種模型進行匹配打分并返回得分最高的結果(精排)。匹配階段還會引入其他模塊,如知識圖譜和拒識模型,目的是輔助提升匹配的最終準確率。

retrieval中的匹配可以看做是naive solution,詞袋+VSM, 篩選候選夠用了,但是精排需要更精致的策略,第一,要利用監督信息做擬合,我們構建基于問題對的訓練語料,擬合是否匹配這個二分類目標。第二,特征上拋棄稀疏的詞袋模型,而是構造各種相似度來做base s買粉絲rer,然后利用非線性的抗噪能力強的xgboost來做融合,比如我們用到詞bigram, 字bigram, 核心詞,名詞等特征集合的相似度。這種方法的優缺點是一體的,由于模型只學習字面相似的特征,因此不受領域影響,通用性強,適合用在冷啟動階段;但也因為只考慮字面相似,無法處理更深層的語義匹配。

那如何度量語義的相似呢。詞向量技術的興起是語義匹配的前提,所謂詞向量,是將孤立的傳統的token表示映射到相互關聯的向量空間中,這種關聯性,或者說是相似性,是通過詞語的上下文的來描述的。也就是說,上下文越相似的詞語,他們的語義就越相似,詞向量的歐式距離就越近。這是很容易理解的,更妙的是,通過對向量進行簡單加減運算,能夠呈現出概念的關系,比如king-man+woman的結果非常接近于queen, 因此說明詞向量能夠一定程度刻畫語義。那對句子如何做向量表示呢?一個簡單的想法是直接求和平均,WMD是另一個比較有意思且有效的做法,他將計算句子到句子的相似度建模成一個運輸的問題,把句子p的各個詞,運輸到q的各個詞上,也可以說是變換;運輸成本是詞向量的買粉絲sine相似度,而要運輸的是各個詞在句子中的權重,用線性規劃求解一個最優解,即為p到q的距離。另外還有個有效的方法是SIF,思路是做詞向量加權求和,但是突顯出句子中非通用的部分,即權重用詞頻倒數來計算權重,實驗效果也很不錯。

上面的方法有一個問題就是沒有利用有監督信息,所以效果有明顯的天花板。下面介紹這個工作是基于深層網絡做有監督學習的匹配的,做法也比較簡單,首先把句子文本用one-hot編碼,假如詞典大小是500K,那編碼完長度就是500K維,其實等于是詞袋模型,然后輸入到一個多層的神經網絡去學習,最終得到一個128維的向量作為句子的語義表示,然后用買粉絲sine計算兩個句子與文檔的相似度作為模型輸出。這個方法其實是將高維稀疏的token特征映射到低維語義空間,跟詞向量的思路很類似,只不過訓練目標不同,并且這里使用了深層網絡結構。

但是CNN對上下文的處理能力依賴于窗口大小,遠距離就沒辦法處理了,因此要考慮另一種網絡單元RNN,這種單元是專門為時序模型量身打造的,簡單來說,每一時刻t上的隱藏狀態,或者說第t個詞上的語義編碼,都由兩個輸入共同決定,即上一時刻的隱藏狀態和當前時刻的原始輸入,而為了解決遠距離傳遞導致的梯度消失和梯度爆炸等問題,RNN有一些變種結構來應對,比如 LSTM和GRU等。

CNN和RNN都是對原始輸入進行語義編碼的基本單元,編碼后的向量就可以接入多層感知機進行相似度計算,如果是直接計算買粉絲sine相似度,那就是dssm的升級版,而更常見的做法是把兩個句子的編碼向量拼接在一起,再經過一個多層感知機計算相似度,而這種方法統稱為表達式建模;

另一種方案考慮到兩個句子之間的交互信息對學習他們是否匹配顯然更為重要,這一類方案被稱為交互式建模,右邊是一個典型的例子,他最大的不同是首先對兩個句子的所有窗口組合進行拼接和卷積,得到交互信息。然后再進行多次卷積和池化得到表示。其他的交互方式還包括編碼之后,進行交互操作,如作差,點乘等,還有計算attention表示,也是常見的交互方式。

下面介紹我們的方案,跟上面介紹的模型相比,我們的方案主要做了兩處改動,一個是使用了稠密連接的網絡結構,讓rnn層的輸入和輸出拼接在一起做為下一層的輸入,第二個是混合注意力機制,即在計算attention向量進行交互式建模的基礎上,增加self-attention向量計算,然后把兩個attention向量經過門機制進行融合,這樣做一方面引入了問句間的交互信息,同時又增強了對自身的表達建模。

上面的模型是比較復雜的模型,參數量有5.8M。在實際中應用中訓練語料會嚴重不足,為了解決這個問題,我們引入了遷移學習的策略。首先第一種是多任務聯合學習,比如在擬合兩個問句是否匹配的同時,也對問句進行分類預測;另外還可以同時對匹配的問題對做seq2seq的翻譯模型訓練。這兩個策略都證明能有效提升準確率。

而另一個思路更加直觀,即引入其他領域的語料,所謂多語料遷移。Fine-tune即參數微調是其中一種做法,即先用通用語料訓練網絡,固定底層表達層的參數,然后再使用領域語料調整上層參數;另一種思路參考了對抗學習的思想,即引入一個新的任務“混淆分類器”去判別當前樣本是來自源語料還是目標語料,通過在損失函數中增加反向的混淆分類損失項,讓混淆分類器盡可能地無法區分樣本的來源,從而保證共享了參數的表達網絡能夠學習到兩部分語料中共性的部分。

以上的介紹都是為了完成一個基本的單輪對話機器人,而實際應用中,往往存在需要需要交互的場景,比如查詢社保余額,就需要用戶提供指定信息,如姓名,身份證號,手機號等。這種是所謂任務導向型機器人,而另一種,基于知識圖譜的機器人也往往會涉及到多輪交互。這里簡單介紹一下多輪對話機器人的架構,整體上是一個對話管理系統,總的來說是管理會話狀態,包含4個模塊,分別是輸入部分:自然語言理解模塊NLU,負責意圖識別和抽取槽位實體,比如這里匹配到了意圖是查詢社保余額,抽取到了社保號1234。得到的意圖和槽位值會送入到對話狀態追蹤模塊,DST,他負責會話狀態的更新,形式化來說是一個函數,輸入是當前狀態s和當前的query經過NLU處理過得到的意圖和槽位值q, 輸出新的狀態s‘,下一步是把s’送入DPL,對話策略模塊,這個模塊是根據新的狀態s‘輸出行動a,通常這個決策選擇會依賴于一個外部數據庫或知識圖譜,最后,由輸出部分,自然語言生成模塊NLG負責將行動轉換為自然語言文本,返回給用戶。

前面提到的單輪FAQ機器人,有一個問題是問答準確率依賴于問答庫的質量,而問答庫的構建耗時費力,所以針對數據較大的非結構化文檔,如果可以直接從中抽取答案,是非常理想的做法。比如斯坦佛大學開源的drQA,就是基于wikipedia的語料做的一個開放域上的問答機器人,我們來看看這種閱讀理解機器人的架構示意,他也是基于檢索重排的思路,首先把可能的文段從語料庫中摘取出來,然后送入閱讀理解模型進行答案定位,打分,排序和選擇得分最高的答案。閱讀理解模型與匹配模型是類似的,需要先對問題和候選文段進行編碼表示,不同之處在于最終預測的目標是答案的起始和結束位置。我所在的團隊在去年,在閱讀理解的權威公開測評Squad v1中取得過第一的成績,同時參加這個測評的包括了google, facebook, 微軟,阿里idst, 科大訊飛等國內外同行。說明業界對這種技術還是非常看重的。

下面分享小知在把以上技術落地產品化的經驗。首先我們來看看小知的整體架構圖,核心引擎有兩部分,一塊是上面重點闡述的深度語義匹配模型,另一塊是本次分享沒有展開的知識圖譜引擎,在此之上,我們構建了FAQ機器人,多輪會話機器人(任務機器人),閑聊機器人等。以下是我們單輪和多輪機器人的示例。

在我們實際的落地項目中,得益于深度遷移模型的語義匹配能力和行業知識圖譜的的精準匹配和輔助追問,小知機器人能夠做到95%左右的問答準確率,并且節省了50%以上的服務人力,切實為政府和企業提升效率和降低成本。

在智能客服的基礎上,我們又打造了基于語音的電話機器人,力主融合智能客服,人工在線客服,工單系統和電話機器人,為客戶打造從售前售中售后的整體解決方案。

以下是電話機器人的整體架構圖,核心是自然語言理解NLU模塊,負責識別用戶提問意圖

提取相關實體。根據NLU輸出的結果,內置的對話管理引擎會進行流程狀態流轉和跟蹤。

另外,ASR語音識別和TTS語音合成是不可或缺的重要服務,這三個模塊相互協作,共同完成與用戶的交互。

最后對智能問答的未來發展提幾點我的看法。目前學術界比較公認的一個方向是,需要更有機地結合模型和規則,而在問答領域,規則的一大組成部分就是知識圖譜,包括開放領域的知識圖譜和專業領域知識圖譜。而更進一步地,我們需要研究帶有推理性質的事理型知識圖譜去描述領域內的規則和知識,讓機器人能夠處理帶有復雜條件的問題,提供更智能的回復。在我看來,智能問答的一個突破口就在于解決以上三個問題。以上就是今天分享的內容,謝謝大家。

主講人介紹:

陳松堅,騰訊數據平臺部算法高級研究員,有著8 年的 NLP 研發經驗,2017 年加入騰訊 TEG 數據平臺部,負責智能客服產品騰訊小知的算法規劃和落地。負責過多個智能客服項目,對封閉領域的智能問答有豐富的實戰經驗。

很赞哦!(8)

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款的名片

职业:程序员,设计师

现居:广西梧州藤县

工作室:小组

Email:[email protected]