當前位置:首頁 » 操作系統 » 單值預測演算法

單值預測演算法

發布時間: 2023-05-27 11:12:51

A. 求教單值圖像處理演算法

將A中奇數位的像廳正簡素點取代圖片B中相應位置的點,B中其他點不變。將A中偶數位的像素點取代圖片C中相應位置的點,C中其他點不變。還原的時候只要挑出B中清物的奇數位和C中的偶數位。類似的方法:按行,按列,分塊,只要將A分成2部分,最後合起來。
再給你出個主意。B圖像不變。C圖像的點作為標扮褲記。A中的像素與B中相應位置點顏色一致的,在C中用黑色標記,不一樣的用白色標記。還原也很方便,對照C修改B就得到A。推廣用1副圖隱藏A,同理,但是不用B來做原圖了,自己寫個片段:白黑白白黑白黑黑白黑,我只是舉個例子。讓這個片段無限循環下去,就是B圖片的作用了。

B. 銷售業績的平均單值怎麼計算

單日銷售量累加=月銷量,你說小計,沒說小計的差激時限。月銷售量/天數=月平均銷售量
單日銷售額累加=月銷額衫乎, 月銷額虛塌襪/天數= 月平均銷售額

C. CPK的計算方法

信息安全領域的定義:CPK是「Combined Public Key」的縮寫,即中文名為組合公鑰,是一種加密演算法,以很小的資源,生成大規模密鑰。
工程領域的定義:CPK是「Process Capability Index」 的縮寫。CPK的中文定義為:製程能力指數,是現代企業用於表示製程能力的指標,也即某個工程或製程水準的量化反應,也是工程評估的一類指標。
計算公式
CPK=Cp*(1-|Ca|)
Ca (Capability of Accuracy):製程准確度;在衡量「實際平均值」與「規格中心值」之一致性。對於單邊規格,因不存在規格中心,因此不存在Ca;對於雙邊規格,Ca=(ˉx-U)/(T/2)。
Cp (Capability of Precision):製程精密度;在衡量「規格公差寬度」與「製程變異寬度」之比例。對於單邊規格,只有上限和中心值,Cpu = | USL-ˉx | / 3σ 或 只有下限和中心值,Cpl = | ˉx -LSL | / 3σ;對於雙邊規格:Cp=(USL-LSL) / 6σ=T/6σ
注意: 計算Cpk時,取樣數據至少應有20組數據,而且數據要具有一定代表性。

D. 求單值極點模式模式搜索演算法最優參數是什麼

還得耐拍看三個參數有昌局羨沒有關系。

如果沒有關系,則臘瞎分別得到最優的三個參數,即為總體最優

如果有關系,則每次只能優化一個的方法,不能得到全局最優

E. 低估差補估計量方差的方法

1、均值插補。數據的屬性分為定距型和非定距型。如果缺失值是定距型的,就以該屬性存在值的平均值來插補缺失的值。如果缺失值是非局大蔽定距型的,就根據統計學中的眾數原理,用該屬性的眾數(即出桐州現頻率最高的值)來補齊缺失的值。
2、利用同類均值插補。同均值插補的方法都仿慎屬於單值插補,不同的是,它用層次聚類模型預測缺失變數的類型,再以該類型的均值插補。假設X=(X1,XXp)為信息完全的變數,Y為存在缺失值的變數,那麼首先對X或其子集行聚類,然後按缺失個案所屬類來插補不同類的均值。如果在以後統計分析中還需以引入的解釋變數和Y做分析,那麼這種插補方法將在模型中引入自相關,給分析造成障礙。
3、極大似然估計(MaxLikelihood,ML)。在缺失類型為隨機缺失的條件下,假設模型對於完整的樣本是正確的,那麼通過觀測數據的邊際分布可以對未知參數進行極大似然估計(LittleandRubin)。這種方法也被稱為忽略缺失值的極大似然估計,對於極大似然的參數估計實際中常採用的計算方法。

F. plc畢業設計開題報告

plc畢業設計開題報告

我們眼下的社會,報告使用的次數愈發增長,報告中提到的所有信息應該是准確無誤的。你所見過的報告是什麼樣的呢?下面是我整理的plc畢業設計開題報告,僅供參考,歡迎大家閱讀。

plc畢業設計開題報告1

1、選題意義和背景。

編程序邏輯控制器(Programmable Logic Controller, PLC)具有可靠性高、抗干擾能力強、功能豐富等強大技術優勢,已經成為目前自動化領域的主流控制系統。然而,從目前的應用情況來看,PLC還大都只是承擔最基本的控制功能,如順序控制、數據採集和PID反饋控制。各個PLC廠家也在其產品中設計了PID模塊。雖然PID演算法控制有很高的穩定性,但對於一些復雜控制系統,PID控制很難滿足控制要求,這也使PLC的發展面臨著一種挑戰。隨著越來越多的PLC產品與IEC1131-3標准兼容,PLC控制系統越來越開放,將先進控制演算法嵌入PLC常規控制系統成為可能。本課題從工業控制實際應用角度出發,對PLC的控制功能進行深入的研究和探討,以提高和擴展PLC控制器的應用水平和應用范圍。本課題:PLC先進控制策略的研究與應用,其目的是通過研究使一些先進控制演算法在PLC及組態系統上得以實現,並開發相應的應用程序,經過驗證後最終應用到工業過程式控制制中去。

在PLC組態系統中實現先進控制演算法,包括預測控制演算法和模糊邏輯控制演算法,形成具有人工智慧的控制模塊及網路系統,能大大提高系統的控制水平,改善控制質量。從經濟角度來看,目前PLC生產商的一些產品具備先進控制模塊,如模糊模塊。但它們的價格十分昂貴,且封閉性較強,不適合我國中小型企業的工業改造。因此開發較為通用的先進演算法實現技術,對於我國中小型企業的工業改造具有很大的意義,既可降低生產成本,又可提高經濟效益。

模糊控制與預測控制是智能控制陵態罩中技術較為成熟的分支,因此,研製和開發出適合工業環境的實時先進控制開發工具,實現模糊控制、預測控制嵌入PLC,與常規控制集成運行,讓先進控制從教授、專家手中走出來,實現先進閉氏控制的工程化、實用化、轉化為社會生產力,對縮短控制系統開發周期,加快先進控制技術的廣泛應用,提高我國的工業自動化水平有著重大的意義。

2、論文綜述/研究基礎。

在過程工業界,從40年代開始,採用PID控制規律的單輸入單輸出簡單反饋控制迴路己成為過程式控制制的核心系統。目前,PID控制仍廣泛應用,即便是在大量採用DCS控制的最現代的工業生產過程中,這類迴路仍占總迴路80%-90%.這是因為PID控制演算法是對人的簡單而有效操作的總結和模仿,足以維護一般過程的平穩操作與運行,而且這類演算法簡單且應用歷史悠久,工業界比較熟悉且容易接受。

然而,單迴路PID控制並不能適用於所有的過程和不同的要求[4}0 50年代開始,逐漸發展了串級、比值、前饋、均勻和Smith預估控制等復雜控制系統,即當時的先進控制系統,在很大程度上滿足了單變數控制系統的一些特殊的控制要求。在工業生產過程中,仍有10%-20%的控制問題採用上述控制策略無法奏效,所涉及的被控過程往往具有強藕合性、不確定性、非線性、信息不完全性和大純滯後等特性,並存在著苛刻的約束條件,更重要的是它們大多數是生產過程的核心部分,直接關繫到產品的質量、生產率和成本等有關指標。隨著過程工業日益走向大型化、連續化,對工業生產過程式控制制的品質提出了更高的要求,控制與經濟效益的矛盾日趨尖銳,迫切需要一類合適的先進控制策略。自50年代末發展起來的以狀態空間方法為主體的現代控制理論,為過程式控制制帶來了狀態反饋、輸出反饋、解疆控制、自適應控制等一系列多變數控制系統設計方法}s}.上述多變數控制策略有其自身的不足之處,工業過程的復雜性使得建立其正確的數學模型比較困難。同時,計算機技術的持續發展使得尺鬧計算機控制在工業生產過程中得到了廣泛的應用,強大的計算能力可以用來求解過去認為是無法求解的問題,這一切都孕育著過程式控制制領域的新突破。

整個80年代,出現了許多約束模型預測控制的工程化軟體包。通過在模型識別、優化演算法、控制結構分析、參數整定和有關穩定性和魯棒性研究等一系列工作,基於模型控制的理論體系己基本形成,並成為目前過程式控制制應用最成功,也最有前途的先進控制策略。近年來,人工智慧技術有了長足的長進並在許多科學與工程領域中取得了較廣泛的應用。就過程式控制制而言,專家系統、神經網路、模糊系統是最有潛力的三種工具。專家系統可望在過程故障診斷、監督控制、檢測儀表和控制迴路有效性檢驗中獲得成功應用。神經網路則可以為復雜的非線性過程的建模提供有效的方法,進而可用於過程軟測量和控制系統的設計上。模糊系統不僅是行之有效的模糊控制理論基礎,而且有望成為表達確定性和不確定性兩類混合並提煉這些經驗使之成為知識進而改進以後的控制,也將是先進控制的重要內容。

由於先進控制受控制演算法的復雜性和計算機硬體兩方面因素的影響,早期的先進控制演算法通常是在PC機和UNIX機上實施的。隨著DCS功能的不斷增強,更多的先進控制策略可以與基本控制迴路一起在DCS控制站上實現。國外發達國家幾乎所有企業都採用了DCS系統或其它智能化設備來實現對生產過程的控制,並在此基礎上通過實施先進控制與優化較大的提升了系統的性能。可以說,高性能控制系統,尤其是DCS系統的普及為先進控制的應用提供了強有力的硬體和軟體平台。國外從70年代末就開始了先進控制技術商品化軟體的開發及應用,並在DCS的基礎上實現先進控制和優化。如愛默生公司的DeltaV和Honeywell公司的TDC3000,其先進控制軟體RMPGT和RPID等在現場的實際應用都集中在自己的DCS系統上。傳統的PLC由於不支持浮點運算以及先進控制所必須的精確的時間,因此,除了模糊邏輯控制外,其他的先進控制並沒有在PLG平台上實現。然而,在過程工業中大多系統使用先進靈活的PLC控制系統,因此1996年Barnes提出了一種基於PC-PLC通訊的混合方式,通過控制網路實現計算機與PLG的通訊,從而實現先進控制。

3、參考文獻。

[1]基希林,曲非非。PLC的發展[J].微計算機信息,20xx, 18(9):1-2

[2]陳夕松,張景勝。過程式控制制發展綜述與教學研討[J].南京工程學報,20xx,2(1):49-52

[3]Ohaman Martin, Johansson,Stefan, Arzen, Karl-Erik. Implementation aspects of the PLC standard IEC 1131-3 [J].Control Engineering Practice, 1998,6(8):547-555

[4]范宗海,黃步余,唐衛澤。先進過程式控制制在聚丙烯裝置上的應用[J].石油化工自動化,1999, (6):7-12

[5]王躍宣。先進控制策略與軟體實現及應用研究[M].浙江大學博士論文,20xx,(1):8-20

[6]褚健。現代控制理論基礎[M].杭州:浙江大學出版社,1995: 9-15

[7]沈平,趙宏,孫優賢。過程式控制制理論基礎[M].杭州:浙江大學出版社,1991:31-38

[8]張志輝一套常減壓先進控制的應用與開發「M].陝西:西安交通大學碩士論文,20xx:20-25

[9]薛美勝,吳剛,孫德敏,王永。工業過程的先進控制[J].化工自動化及儀表,20xx,29(2):1一9

[10] Kolokotsa D.,Stavrakakis,G S二Genetic algoritluns optimized fuzzy controller for the indoor environmental management in buildings implemented using PLC and local operating networks[J].Engineering Applications of Artificial Intelligence,20xx,15(5):417-428

[11]黃麗雯。新型PLC的特點及應用[J].新特器件應用,1999 , (6) : 27-29

[12]楊昌餛。可編程序控制器發展趨勢概述[J],基礎自動化,1998 , (2) :1-5

[13]蔡偉,巨永鋒。PLC分布式控制系統[J].西安公路交通大學學報,1996,16(3):20-25

[14]胡惠延。用PLC實現的一種集散型控制系統[J].煤礦自動化,20xx, (4) : 22-24

[15]陳勇,趙勇飛,徐莉。工控機與PLC分布式測控系統的設計[J].西安公路交通大學學報,1999 , (6) : 41-43

[16]任俊傑,錢琳琳,劉澤祥。基於SIMATIC S7 PLC的現場匯流排控制系統[J],電工技術雜志,20xx,(9):40-42

[17〕田紅芳,李穎宏。PLC與上位機的串列通訊[J].微計算機信息,20xx,17(3):36-37

[18]姚錫凡,彭永紅,陳統堅,李偉光。基於模糊晶元的加工過程智能控制[J].組合機床與自動化加工技術,20xx, (2):26-29

[19]汪小澄,方強。基於PLC的模糊控制研究[J].武漢大學學報,20xx, 35(3):79-81

[20]肖漢光。模糊控制在懸掛鏈同步控制中的應用[M].廣州:華南理工大學碩士論文,20xx: 20-31

[21]成曉明,柳愛美,田淑杭,PLC的爐溫多級模糊控制的優化與實現[J].自動化儀器與儀表,20xx,(1) : 20-22

[22]李敬兆,張崇巍。基於PLC直接查表方式實現的模糊控制器研究[J].電子技術雜志,20xx,(9):18-21

[23]張璽,劉勇,張小兵。二次開發Wincc模糊控制演算法[J].計算機應用,20xx,(1):69-71

[24]孫東衛,周立峰。預測模糊控制在渠道系統中的應用[J].現代電子技術,20xx,(4):82-85

[25]石紅瑞,孫洪濤,馬智宏。二次開發RSView32嵌入廣義預測控制演算法[J] .測控技術,20xx 23(9) : 52-54

[26」西門子公司。西門子57-300系統參考手冊[M].北京:西門子自動化與驅動集團,20xx: 10-200

[27」西門子公司。STEP? V5.1編程手冊[M].北京:西門子自動化與驅動集團,20xx:40-60

[28]王磊,王為民。模糊控制理論及應用[M].北京:國防工業出版社,1997: 17-29

[291章為國,楊向忠。模糊控制理論與應用[M].陝西:西北工業大學出版社,1999:15一19

[30]蔡自興。智能控制一基礎與應用[M].北京:國防工業出版社,1998: 35-37

[31]孫增折。智能控制理論與技術[M].北京:清華大學出版社,1997; 55-62

[32]齊蓉,林輝,李玉忍,謝利理,通用模糊控制器在PLC上的實現[[J].工業儀表與自動化裝置,20xx, (4):23-25

[33]聞新,周露,李東江,貝超。MATLAB模糊邏輯工具箱的分析與應用〔M].北京:科學出版社,20xx: 44-45

[34]許建平,劉添兵。PLC控制軟體的模塊化設計[J].九江職業技術學校學報,20xx,(3):13一14

[35]張運波。PLC梯形圖設計中的關鍵技術[J].長春工程學院學報,20xx,1(1):30-32

[36] Richalet J, Rault A. Model Predictive Heuristic Cortrol:Application to Instrial Process[J] .Automatica, 1978,14(1):413-428

[37] Rouhani R,Mehra R K. Model algorithmic control (MAC):Basic Theoretical Properties[J].Automatica,1982,18(4):401-414

[38] Culter C R,Ramaker B L .Dynamic Matrix :ontrol-A Computer Control Algorithm[M].San Francisco: American Automatic Control Council,1980:221-230

[39] Clarhe D W, Mohtadi C.Constrained receding hori:on predictive control[J].IEEProc-D, 1991,13 8(4) : 347-3 54

[40] Garica C E,Morari M. Internal Model Control-A Unifying Review and Some New Results[J] .Process DesDew, 1982,(21):308一32;5

[41]Richalet J .Predictive functional control-Appliation to fast and accurate robots[J].Proc Of 10「 IFAC World Congress, Munich, FRG, 1987, (1):25I-258

[42]許超,陳治鋼,邵慧鶴。預測控制技術及應用發展綜述[J].自動化及儀表,20xx,29(3):1一10

[43]舒迪前。預測控制系統及其應用[M].北京:機械工業出版社,1996: 225-228

[44]李紹勇,陳希平,王剛,范宗良,樹龍,蔡穎。換熱機組供水溫度的廣義預鋇(控制[J].甘肅科學學報,20xx, 16(3):95-97

[45]俞樹榮,祁振強,商建平。集中供熱系統熱力站二段換熱機組系統建模及研究[J].甘肅工業大學學報,20xx, 28(2):57-61

4、論文提綱。

plc畢業設計開題報告2

第三章PLC模糊控制器的研究與實現

3.1模糊控制演算法與系統

3.1.1模糊控制理論

3.1.2模糊控制系統

3.1.2.1模糊控制器的組成

3.1.2.2模糊控制演算法

3.1.2.3模糊控制器的結構

3.2 PLC模糊控制器設計

3.2.1 PLC模糊控制器結構

3.2.2模糊控制器離線部分設計

3.2.2.1模糊控制器離線部分演算法設計內容

3.2.2.2基於MATLAB模糊邏輯工具箱的設計

3.2.3 STEP7實現模糊控制器設計

3.2.3.1模糊演算法流程圖

3.2.3.2模糊演算法的功能塊

3.2.4 PLC模糊控制器的模擬驗證

3.2.4.1模擬系統的建立

3.2.4.2模擬結果驗證

第四章PLC預測控制器的研究與實現

4.1廣義預測控制演算法

4.1.1單值廣義預測控制

4.1.2單值廣義預測控制律計算

4.2 PLC單值廣義預測控制器的設計與實現

4.2.1單值廣義預測演算法的實現步驟

4.2.2單值廣義預測控制器的設計

4.3單值廣義預測控制器的模擬驗證

4.3.1模擬模型的建立

4.3.2模擬結果分析比較

第五章基於PLC的空調性能檢測實驗室計算機控制系統

5.1工藝流程與控制方案

5.1.1工藝過程簡述

5.1.2控制要求

5.1.3控制方案設計

5.2控制系統結構及配置

5.3監控系統組態設計

5.4 57-300 PLC控制系統設計

5.4.1硬體系統組態

5.4.2 PLC控製程序設計

5、論文的理論依據、研究方法、研究內容。

目前,PLC的應用十分廣泛,涉及到過程式控制制的方方面面。但在控制策略上,它依然沿用傳統的PID控制。許多PLC開發商把PID演算法做成模塊,固化在PLC中。

但從長遠角度看,對於一些復雜的控制系統,PID很難滿足控制要求,這就需要把先進的控制演算法嵌入到PLC的設計中。本課題以此為主要研究內容。

工業過程的復雜性以及對於控制日益提高的要求,各種先進控制演算法越來越多地深入到控制領域,但由於PLC的編程目前還限於低級語言(如梯形圖),所以,給在PLC上實現先進控制演算法帶來了困難。SIEMENS在PLC的編程系統STEP7中提供了比較豐富的功能模塊,因此,本課題首先是通過對控制演算法的研究與改進和對STEP?功能的開發,使先進控制策略在S7-300 PLC上得以較好的實現。本論文重點研究基於PLC的模糊控制器的實現,這一領域目前研究的比較多,因此在總結前人研究方法的基礎上,設計出一個基於PLC的通用的模糊控制器,並使其固化在STEP7軟體中。此外,對於PLC預測控制雖已有一些研究,但都僅限於理論方面,尚未給出PLC上實現的實例。本課題也想在此方面有所創新,開發出基於PLC的預測控制實現技術。

本論文第一章簡要介紹了課題的來源背景、主要內容、目的意義以及國外相關工作的研究狀況等。

第二章介紹了SIMATIC S7-300 PLC的主要特點,系統組成及控制系統的配置與實現,同時介紹了STEP?軟體的功能及結構,組態環境,以及一些基本演算法的實現方法。

第三章重點闡述了模糊控制的基本理論、模糊控制演算法、模糊控制器的結構及設計方法。提出了基於PLC的模糊控制器的實現方法,即採用MATLAB離線設計,PLC在線查詢的方式。給出了STEP?實現模糊演算法的流程圖及部分程序。

最後建立一個過程模擬系統,對PLC模糊控制器進行模擬驗證。

第四章介紹了預測控制的基本理論,重點闡述了廣義預測控制演算法,並結合PLC的特點,提出了基於PLC的.單值廣義預測控制器的設計方法,給出了STEP7實現單值廣義預測演算法的步驟與流程圖。最後建立一個二階大滯後的對象模型,構成模擬控制系統,與PID控制進行比較分析,驗證PLC預測控制器的有效性。

第五章是作者在研究生期間參加的某空調性能檢測實驗室基於PLC實現的計算機控制系統,從系統控制方案的設計、系統配置和硬體構成、監控系統的設計等幾個方面分別進行了詳細的論述。

第六章結論與體會,總結自己在課題研究和項目研究的過程中的一些體會和心得,分析了工作中的不足,提出了以後工作的注意事項,改進方法。

6、研究條件和可能存在的問題。

I.盡快建立樣板工程,把己經取得的研究成果應用到工程實際過程中,通過實踐檢驗,發現問題以便不斷改進和提高。

2. PLC預測控制器目前只應用了簡單的單值廣義預測演算法,有其自身的局限性,如控制精度不高。目前,應用較為成熟的是MPC演算法,因此可以把PLC-MPC控制器作為今後研究的一個重點。

3.對於PLC模糊控制器的改進,主要是在演算法上,為了提高控制效果,單純的模糊演算法是不足的,改進型模糊演算法如模糊PID可以改善控制器性能,因此可以開發PLC模糊PID控制器。

4.進一步挖掘STEP?軟體的功能,開發過程對象模擬模塊,給出基於PLC建立模擬系統的方法和步驟,為工業實阮應用縮短調試時間,保證系統的可靠性。

7、預期的結果。

1.通過對先進控制各種演算法的分析比較,對先進控制理論有了進一步認識,從中學到了不少解決問題的方法,理解了傳統控制方法與先進控制方法的區別。

2.基於PLC實現先進控制與基於PC實現先進控制相比較,最重要的一個優勢在於PLC實現先進控制不需要通訊協議,而基於PC實現先進控制,在系統設計和運行之前必須正確的配置PC與PLC之間的通訊協議,因此可以降低系統得開發時間。其次,在系統運行時,在下位機上完成先進控制演算法比在上位機完成更具有實時性。在可靠性方面,由於基於PC實現先進控制,現場的數據和信號要經過通訊傳給上位機,這難免會出現數據的丟失和信號的誤差,從而使系統的控制精度下降,而基於PLC實現先進控制避免了這類現象的發生。

3.西門子57-300 PLC功能強、處理速度快、模塊化結構易於擴展,被廣泛的應用於自動化控制系統中;其相應開發軟體STEP7採用模塊化編程方法,提供多種編程語言,豐富的功能模塊,能實現較為復雜的功能和演算法。因此二者結合 起來,為先進控制的設計與開發提供了很好的軟硬體平台。

4. PLC模糊控制器採用MTALAB離線設計和PLC在線查表的方法,把復雜的模糊推理過程交給計算機離線完成,得到模糊控制量查詢表供PLC在線調用。此方法將復雜瑣碎的模糊控制系統的開發工作變得簡單明了,大大縮短了開發周期,同時也提高的PLC控制的實時性,是目前被廣泛採用且效果良好的PLC模糊控制器的設計方法。

5. PLC單值廣義預測控制器採用簡單實用的單值廣義預測控制演算法,它需要調整參數少、在線計算時間短,可適用於PLC類控制采樣周期較短的快速動態過程系統。模擬結果表明:PLC單值廣義預測控制器保持了預測控制的性能,控制效果較PID控制有很大改善,同時具有計算量小,響應迅速的優點。

8、論文寫作進度安排。

20xx.05-20xx.06 開論文會議

20xx.06-20xx.07 確定論文題目

20xx.07-20xx.02 提交開題報告初稿

20xx.02-20xx.06 提交論文初稿

20xx.07-20xx.08 確定論文終稿

20xx.08-20xx.09 論文答辯

G. 矩陣分解的一點總結

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

對於推薦系統來說存在兩大場景即評分預測(rating prediction)與Top-N推薦(item recommendation,item ranking)。矩陣分解主要應用於評分預測場景。

推薦系統的評分預測場景可看做是一個矩陣補全的游戲,矩陣補全是推薦系統的任務,矩陣分解是其達到目的的手段。因此,矩陣分解是為了更好的完成矩陣補全任務(欲其補全,先其分解之)。之所以可以利用矩陣分解來完成矩陣補全的操作,那是因為基於這樣的假設:假設UI矩陣是低秩的,即在大千世界中,總會存在相似的人或物,即物以類聚,人以群分,然後我們可以利用兩個小矩陣相乘來還原它。

矩陣分解就是把原來的大矩陣,近似的分解成小矩陣的乘積,在實際推薦計算時不再使用大矩陣,而是使用分解得到的兩個小矩陣。

具體來說就是,假設用戶物品的評分矩陣A是m乘n維,即一共有m個用戶,n個物品.通過一套演算法轉化為兩個矩陣U和V,矩陣U的維度是m乘k,矩陣V的維度是n乘k。

這兩個矩陣的要求就是通過下面這個公式可以復原矩陣A:

說起矩陣分解,我們第一個想起的就是SVD。

SVD分解的形式為3個矩陣相乘,左右兩個矩陣分別表示用戶/項目隱含橘巧因子矩陣,中間矩陣為奇異值矩陣並且是對角矩陣,每個元素滿足非負性,並且逐漸減小。因此我們可以只需要前個K因子來表示它。

但SVD分解要求矩陣是稠密的,也就是說矩陣的所有位置不能有空白。有空白時我們的M是沒法直接去SVD分解的。大家會說,如果這個矩陣是稠密的,那不就是說我們都已經找到所有用戶物品的評分了嘛,那還要SVD幹嘛! 的確,這是一個問題,傳統SVD採用的方法是對評分矩陣中的缺失值進行簡單的補全,比如用全局平均值或者用用戶物品平均值補全,得到補全後的矩陣。接著可以用SVD分解並降燃伍逗維。

雖然有了上面的補全策略,我們的傳統SVD在推薦演算法上還是較難使用。因為我們的用戶數和物品一般都是超級大,隨便就成千上萬了。這么大一個矩陣做SVD分解是非常耗時的。那麼有沒有簡化版的矩陣分解可以用呢?我們下面來看看實際可以用於推薦系統的矩陣分解。

FunkSVD是在傳統SVD面臨計算效率問題時提出來的,既然將一個矩陣皮賣做SVD分解成3個矩陣很耗時,同時還面臨稀疏的問題,那麼我們能不能避開稀疏問題,同時只分解成兩個矩陣呢?也就是說,現在期望我們的矩陣M這樣進行分解:

SVD分解已經很成熟了,但是FunkSVD如何將矩陣M分解為P和Q呢?這里採用了線性回歸的思想。目標是讓用戶的評分和用矩陣乘積得到的評分殘差盡可能的小,也就是說,可以用均方差作為損失函數,來尋找最終的P和Q。

在實際應用中,為了防止過擬合,會加入一個L2的正則化項。加入了正則化系數,需要調參。對於這個優化問題,一般通過梯度下降法來進行優化得到結果。

在FunkSVD演算法火爆之後,出現了很多FunkSVD的改進版演算法。其中BiasSVD算是改進的比較成功的一種演算法。BiasSVD假設評分系統包括三部分的偏置因素:一些和用戶物品無關的評分因素,用戶有一些和物品無關的評分因素,稱為用戶偏置項。而物品也有一些和用戶無關的評分因素,稱為物品偏置項。這其實很好理解。比如一個垃圾山寨貨評分不可能高,自帶這種爛屬性的物品由於這個因素會直接導致用戶評分低,與用戶無關。

一個用戶給一個物品的評分會由四部分相加:

從左到右分別代表:全局平均分、物品的評分偏置、用戶的評分偏置、用戶和物品之間的興趣偏好

BiasSVD增加了一些額外因素的考慮,因此在某些場景會比FunkSVD表現好。

SVD++演算法在BiasSVD演算法上進一步做了增強,這里它增加考慮用戶的隱式反饋。它是基於這樣的假設:用戶除了對於項目的顯式歷史評分記錄外,瀏覽記錄或者收藏列表等隱反饋信息同樣可以從側面一定程度上反映用戶的偏好,比如用戶對某個項目進行了收藏,可以從側面反映他對於這個項目感興趣,具體反映到預測公式為:

學習演算法依然不變,只是要學習的參數多了兩個向量:x和y。一個是隱式反饋的物品向量,另一個是用戶屬性的向量,這樣在用戶沒有評分時,也可以用他的隱式反饋和屬性做出一定的預測。

它是基於這樣的假設:用戶的興趣或者偏好不是一成不變的,而是隨著時間而動態演化。於是提出了timeSVD,其中用戶的和物品的偏置隨著時間而變化,同時用戶的隱含因子也隨著時間而動態改變,在此物品的隱含表示並未隨時間而變化(假設物品的屬性不會隨著時間而改變)。

其中,t為時間因子,表示不同的時間狀態。

通過之前構建目標函數之後,就要用到優化演算法找到能使它最小的參數。優化方法常用的選擇有兩個,一個是隨機梯度下降(SGD),另一個是交替最小二乘(ALS),在實際應用中,交替最小二乘更常用一些,這也是推薦系統中選擇的主要矩陣分解方法。
找到兩個矩陣P和Q,讓它們相乘後約等於原矩陣R:

P和Q兩個都是未知的,如果知道其中一個的話,就可以按照代數標准解法求得,比如知道Q,那麼P就可以這樣算:

也就是R矩陣乘Q矩陣的逆矩陣就得到了結果,反之,知道了P 再求Q 也一樣,交替最小二乘通過迭代的方式解決這個雞生蛋蛋生雞的難題:
1)、初始化隨機矩陣Q裡面的元素值

2)、把Q矩陣當做已知的,直接用線性代數的方法求得矩陣P

3)、得到了矩陣P後,把P當做已知的,故技重施,回去求解矩陣Q

4)、 上面兩個過程交替進行,一直到誤差可以接受為止

使用交替最小二乘好處:
1.在交替的其中一步,也就是假設已知其中一個矩陣求解另一個時,要優化的參數是很容易並行的;
2.在不是很稀疏的數據集合上,交替最小二乘通常比隨機梯度下降要更快的得到結果。

在很多推薦場景中,我們都是基於現有的用戶和商品之間的一些數據,得到用戶對所有商品的評分,選擇高分的商品推薦給用戶,這是funkSVD之類演算法的做法,使用起來也很有效。但是在有些推薦場景中,我們是為了在千萬級別的商品中推薦個位數的商品給用戶,此時,我們更關心的是用戶來說,哪些極少數商品在用戶心中有更高的優先順序,也就是排序更靠前。也就是說,我們需要一個排序演算法,這個演算法可以把每個用戶對應的所有商品按喜好排序。BPR就是這樣的一個我們需要的排序演算法。

BPR根據像交替最小二乘那樣完成矩陣分解,先假裝矩陣分解結果已經有了,於是就計算出用戶對於每個物品的推薦分數,只不過這個推薦分數可能並不滿足均方根誤差最小,而是滿足物品相對排序最佳

得到了用戶和物品的推薦分數後,就可以計算四元組的樣本中,物品1和物品2的分數差,這個分數可能是正數,也可能是負數,也可能是0。如果物品1和物品2相對順序為1,那麼希望兩者分數之差是個正數,而且越大越好;如果物品1和物品2的相對順序是0,則希望分數之差是負數,且越小越好。
目標函數:

把這個目標函數化簡和變形後,和把AUC當成目標函數是非常相似的,也正是因為如此,BPR模型宣稱該模型是為AUC而生的。

SVDFeature 是由上海交大Apex Data & Knowledge Management Lab(APEX)開發的一個推薦系統工具包。他們提出了一種基於feature 的矩陣分解的框架。

它的目的是有效地解決基於特徵的矩陣分解。新的模型可以只通過定義新的特徵來實現。

這種基於特徵的設置允許我們把很多信息包含在模型中,使得模型更加與時俱進。使用此工具包,可以很容易的把其他信息整合進模型,比如時間動態,領域關系和分層信息。除了評分預測,還可以實現pairwise ranking任務。

SVDFeature的模型定義如下:

輸入包含三種特徵<α,β,γ>,分別是用戶特徵,物品特徵和全局特徵。

SVD :要求矩陣是稠密的,時間復雜度高。不推薦使用。
FunkSVD :不在將矩陣分解為3個矩陣,而是分解為2個低秩的用戶項目矩陣,同時降低了時間復雜度。
BiasSVD :考慮偏置項時使用,也就是用戶的愛好。
SVD++ :考慮用戶的隱式反饋時使用。主動點評電影或者美食的用戶是少數,也就是說顯示反饋比隱式反饋少,這個時候就可以根據用戶的隱式反饋推薦。
timeSVD :考慮時間因素時使用。人是善變的,隨著時間的流逝,興趣也會發生變化。
ALS :考慮建模時間時使用。強烈推薦使用,這也是社交巨頭 Facebook 在他們的推薦系統中選擇的主要矩陣分解演算法。
BPR :考慮排序結果時使用。
SVDFeature :當我們有多個特徵時,可以使用。SVDFeature的目的就是解決基於特徵的矩陣分解。

矩陣分解演算法的缺點 :都沒有解決冷啟動問題

准確率表示預測正確的樣本數占總樣本數的比例。

TP(true positive):表示樣本的真實類別為正,最後預測得到的結果也為正;
FP(false positive):表示樣本的真實類別為負,最後預測得到的結果卻為正;
FN(false negative):表示樣本的真實類別為正,最後預測得到的結果卻為負;
TN(true negative):表示樣本的真實類別為負,最後預測得到的結果也為負.

精確率表示預測為正樣本的樣本中,正確預測為正樣本的概率。

召回率表示正確預測出正樣本占實際正樣本的概率。

折中了召回率與精確率。

對於評分預測任務,一般都是根據原有的評分數據,利用矩陣分解等方法去擬合原評分,使得優化後的模型可以去預測新的評分,這里就要衡量你預測的評分和實際評分的差異了,指標也很簡單,分為RMSE和MSE。
MSE 是指參數估計值與參數真值之差平方的期望值;
MSE可以評價數據的變化程度,MSE的值越小,說明預測模型描述實驗數據具有更好的精確度。
RMSE :RMSE是MSE的算術平方根。

AUC 這個值在數學上等價於:模型把關心的那一類樣本排在其他樣本前面的概率。最大是 1,完美結果,而 0.5 就是隨機排列,0 就是完美地全部排錯。
這個非常適合用來評價模型的排序效果,很適合作為BPR的評價指標。得到一個推薦模型後,按照它計算的分數,可以把用戶想要的物品排在最前面。

具體的計算過程可看我的另一篇 文章

其中Rel表示與用戶 u 相關的商品集(測試集), Rec表示推薦給用戶的前K個列表,二者的交集除以Rec的集合元素個數(其實就是K),得到Precision@K。一般是算出每個用戶的Precision@K,然後取平均值。

其中Rel表示與用戶u相關的商品集(測試集),Rec表示推薦給用戶的前K個列表,二者的交集除以Rec的集合元素個數(也就是測試集中用戶u評過分的商品數),得到Recall@K。一般是算出每個用戶的Recall@K,然後取平均值。

MAP(Mean Average Precision):單個主題的平均准確率是每篇相關文檔檢索出後的准確率的平均值。

主集合的平均准確率(MAP)是每個主題的平均准確率的平均值。

MAP 是反映系統在全部相關文檔上性能的單值指標。

系統檢索出來的相關文檔越靠前(rank 越高),MAP就可能越高。如果系統沒有返回相關文檔,則准確率默認為0。
例如:

假設有兩個主題,主題1有4個相關網頁,主題2有5個相關網頁。

某系統對於主題1檢索出4個相關網頁,其rank分別為1, 2, 4, 7;

對於主題2檢索出3個相關網頁,其rank分別為1,3,5。

對於主題1,平均准確率為(1/1+2/2+3/4+4/7)/4=0.83。對於主題2,平均准確率為(1/1+2/3+3/5+0+0)/5=0.45。

則MAP= (0.83+0.45)/2=0.64。

正確檢索結果值在檢索結果中的排名來評估檢索系統的性能。

其中Q是用戶的個數,rank是對於第i個用戶,推薦列表中第一個在ground-truth結果中的item所在的排列位置。

舉個例子:假如檢索三次的結果如下,需要的結果(cat,torus,virus)分別排在3,2,1的話,此系統地MRR為(1/3 + 1/2 + 1)/3 = 11/18

比較復雜,可參考這篇 文章

參考文章:
https://blog.csdn.net/qq_40006058/article/details/89432773
https://blog.csdn.net/weixin_41362649/article/details/82848132
https://blog.csdn.net/qq_19446965/article/details/82079367
https://www.cnblogs.com/pinard/p/9128682.html
https://time.geekbang.org/column/article/5055

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:641
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:368
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:88
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:310
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:794
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:346
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:213
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:817
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:367
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:594