⑴ IT管理的推薦系統
受到妥善管理的IT環境能很好的改善企業的財務狀況並提高企業的生產力,保障企業業務的良好持續運營。在市場上,可供選擇的IT管理系統並不少,這其中尤為值得推薦的就是微軟的System Center系統,與傳統系統管理原則相關的所有Microsoft產品都被認作System Center系列中的一個部分。System Center系列名稱的用意在於:屬於這個范疇的所有產品都會是基於SDM的,具有前所未有的集成度,並遵循基於ITIL的過程工作流,以便解決跨產品系統管理問題。相信具體的技術和有關集成的准則會隨著System Center應用范圍的推廣,得到廣泛的傳播,並成為業界的一種標准。
以SCOM2007為例,它基於業務邏輯而設計,與早先的版本相比,更強調如何通過伺服器監控軟體實現企業的商業價值,端到端的管理方式讓IT和業務人員都可以了解到系統的運行狀況。管理與安全,一個都不能少談到System Center的時候,還有一款微軟產品不得不說——Forefront。被微軟譽為IT基礎架構防護網的Forefront包含了三類安全方案,分別針對了企業內頻發安全問題的三個核心地帶——邊緣、伺服器應用程序和操作系統。
在伺服器端的安全上,微軟Forefront Server Security 產品集成了9種防病毒引擎,包括了CA、賽門鐵克、卡巴斯基等廠商的安全引擎;同時每一個掃描任務都可以選擇多達5個掃描引擎同時進行病毒掃描。微軟針對客戶端的安全產品——ClientSecurity,向商用台式機、筆記本和伺服器操作系統提供統一的反病毒和反間諜軟體保護。
通過這些,可以看到一個很有趣的現象是,微軟把管理(System Center)和安全(Forefront)的解決方案更為緊密的結合在了一起。這種做法有著十分明顯的好處:管理和安全本身就密不可分,對系統實現了良好的管理自然就會達到應有的安全效果,而進行了到位的安全防護才能實現對於系統的最有效管理。而且,這些產品的使用者是同一類人群——網管。
微軟同時利用管理系統和安全工具共同優化企業的基礎架構,這對於內部控制需求越來越高的企業十分適用;而對於廣大的中小型企業用戶來講,微軟的System Center與Forefront結合的安全管理套件可以充分節約人力成本,在安全防護、管理完善的基礎上,實現最好的投入產出比。
System Center的未來
如果對於微軟在IT系統管理上的靈敏嗅覺還沒有太深的印象,那麼可以再看一些其它的表現。
在一次微軟財務分析會議上,鮑爾默到會並發表了演講,還用幻燈片展示了2008年及其之後更長久的產品路線圖。在這其中,以System Center為核心的產品扮演了很重要的角色。
這其中包括了前面已經提到了的Virtual Machine Manager,除此以外涵蓋了伺服器端、桌面、數據保護等不同的產品,也有適用於中小企業的Essentials,實現了對於不同規模企業的IT系統、軟硬體資源的全方位管理,並且,對於已有產品還會實現v2版本的更新。
很顯然,微軟對於System Center已經有了十分完善的遠景和規劃。憑借強大的產品研發團隊、良好的服務保障體系、廣泛的集成和兼容性,微軟System Center無疑會成為企業進行IT管理的首選之品。 在硬體和軟體相對封閉的時期,人們可能通過把基礎系統管理程序寫在計算機房間的黃色便簽紙上從而實現對整個系統的管理流程。但是在面向服務體系結構(SOA)時代,這種方法已經完全被廢棄了,Ovum咨詢顧問分析公司的副總裁Mary Johnston Turner如是說。
能有效解決所有涉及維護SOA應用軟體的IT管理問題的方法之一,則是IT 基礎設施庫架構(ITIL),她說。與SOA相比,ITIL並不是一個全新的事務。從20世紀80年代開始英國中央計算機與電信局(UK Central Computer and Telecommunications Agency ,CCTA)就致力於研究最佳實踐方法及相關流程以確保 IT 提供的相關服務能達到企業所要求的水平。
「ITIL是無所有權的,」 Hewlett-Packard Corp公司IT服務管理教育部經理 Ken Hamilton 說,他建議在ITIL 的基礎上去實施SOA。「有很多介紹這方面知識的公共書籍。」
由於很多IT專業人員沒有這些書籍,Hamilton給出了由UK Office of Government Commerce和 HP´s online library of ITIL materials提供的關於ITIL的定義及相關信息。同時,他還拿出一份Turner寫的Ovum會議報告,內容則是關於為了保證SOA的成功需要提高IT管理水平。
在定義管理架構時,Turner說,「ITIL是目前業界普遍採用的一系列 IT 服務管理的實際標准及最佳實踐指南,包含著如何管理 IT 基礎設施的流程描述;它以流程為導向、以客戶為中心,通過整合 IT 服務與企業業務,提高企業的 IT 服務提供和服務支持的能力和水平。ITIL包括變更管理、結構管理、容量管理、服務級別管理、成績管理、可用性管理。」
在開發這些ITIL(IT Infrastructure Library IT基礎設施庫)指導方針之前,她說,並沒有在需要復合使用多種應用程序的本質的任務上取得共識。
Hamilton說盡管ITIL產生已經有二十多年,但是他也只是在近三、四年才發現世界財富500強公司採用ITIL,例如通用汽車。Turner說在SOA取代封閉式之前,ITIL所包含的細節級別並不是必需的。
「在封閉式環境中,哪裡是伺服器、哪裡是中間設備、哪裡是應用程序、哪裡是資料庫,這些都不是難題,所有這些軟硬體都緊緊連接在一個位置。」她說。「如果其中一個軟硬體出現問題,你很快會發現,知道這個問題會影響到那些業務環節。業務環節與應用程序基本對應。現在,到了SOA世界,你會將很多軟體、服務放置在不同的伺服器,不同的地點,在需要什麼軟體或服務時在進行聯系。」
在SOA世界,IT經理要想了解軟硬體問題出現後會發生什麼或問題的最壞影響是件非常困難的事。
「現在你明白這是一個非常有意思的問題,」 Turner說。「我怎樣才能了解端到端的業務流程是如何工作?還有如果該業務流程不能工作,我怎樣才能發現到底是哪一個相互連接的工作件出現了問題。」
舉一個例子,她說譬如你的業務流程出現了一個問題,是由於另一個IT專業人員修改了一個應用程序的配置,而他卻沒有通知你。這就是像ITIL這樣細節化的架構,通過規定任何人不可以在沒有通知其它人的情況下擅自更改配置,能夠幫忙避免的問題。
Hamilton說他已經看到ITIL與SOA結合的趨勢,但是他說這樣的結合還處於萌芽階段,以致於他還找不到一個二者結合的用戶。
Turner說在她調查的IT組織中或許有三分之一的組織採用ITIL或其它架構,而那些使用ITIL管理SOA的組織比例仍然非常低。
不過盡管當下接收ITIL管理SOA的企業數量仍然很少,但是Turner說,如果IT組織希望成功執行SOA,那麼這些組織將不得不在適當的位置配置基於ITIL或其它質量架構(例如6 Sigma)的詳細程序。
「越是依賴於SOA,對傳統IT管理的壓力也就越大,」她說。「如果你不能以通知所有人你完成了自己工作的方式對將要遞送的復合服務達成協議,或者你不知道如何以此衡量端對端性能,這將是個噩夢。」
由於在採用SOA之前的IT管理程序似乎不能滿足需求,所以需要一種更為細節化的最佳實踐方法架構。
「傳統模型基於封閉式環境,而SOA是封閉式環境的對立面」她說。
同樣,盡管傳統模型關注軟硬體在封閉式環境中的表現,但像ITIL這樣的框架仍然涵蓋了IT員工們如何工作,包括改變軟硬體以及設置優先順序來確定什麼時間做什麼工作。
「你或許還有在自己小范圍內工作的封閉式專家,但他們必須做出更大的文章,」 Turner說在SOA環境中,「他們必須懂得在他們自己領域內的變化對其他區域產生的影響。還要考慮什麼時間做什麼工作的優先順序。你的隊列中的下一個任務並不一定是恰好要工作的,任務是否工作取決於這個任務的影響。」
Turner說廣泛採用SOA是推廣像ITIL這樣管理框架的驅動力,但是沒有CIO的支持這也很難成功。如服務台人員這樣的群組,開始嘗試最優的業務實踐,如果他們由一個C級主管來領導的話成功機會不大。 在日常與客戶的交流中,「業務」、「應用」是話題的核心。談到IT管理時也不例外,當前擁有了大量的IT基礎架構設施,同時也擁有傳統的網路管理系統、認證計費系統、應用管理等IT管理系統,又有ERP、CRM、人力資源管理等業務管理系統的企業不在少數。每當有一個新的業務上馬時,如何能夠在現有的業務系統實現統一管理一直是個頭疼的問題。舉幾個典型的案例:
難題1:某運營商業務系統:運營支撐數據如何整合?
OSS/BSS系統作為運營商綜合業務運營和管理支撐平台,承擔著網路管理、系統管理、計費、營帳、客服等重要工作。但是落實到具體網路設備、網路業務上,一般由廠商提供專門的設備管理以及業務管理工具。以無線熱點覆蓋項目為例,一般是由設備廠商來提供專業的無線設備管理系統、廣告推送管理系統,而作為統一管理的OSS/BSS系統必須能對無線設備相關的設備資產信息、設備性能狀況及時掌握,同時也必須對業務使用的狀況隨時了解,以便實現無線熱點覆蓋業務的經營,使得ROI最大化。一些廠商能提供部分設備管理北向介面、業務管理北向介面,但是廠商實現的設備管理與業務管理一般是分離的,從數據源本身就造成了兩類信息孤島,它們之間難以有效的協同,於是OSS/BSS系統在得到兩類數據之後就更難以進行有效整合,降低了商業敏捷性。
難題2:某稅務管理平台:兩套帳號如何統一管理?
各個企業的稅務員通過登錄稅企E通系統管理平台進行稅務處理。稅企E通系統作為國家稅務部門非常重要的業務系統,稅務部門要求登錄稅企E通系統的用戶先進行網路層面的認證,在獲得接入網路的情況下,才允許登錄稅企E通。於是問題就浮現出來了:網路層面的認證需要有網路帳號和網路授權等管理手段,稅企E通也有自己的應用帳號和應用層面授權的管理手段,稅務部門不得不同時管理兩套帳號,不僅降低工作效率,也增加了出錯的幾率,導致企業報稅員的投訴不斷。
難題3:某校園網:多套管理系統怎樣融合?
校園網一般都具有一卡通系統、認證計費系統、網路管理系統。認證計費系統與網管系統難以有效融合,造成管理不靈活、增加管理復雜度,同時,認證計費系統與一卡通系統一樣都需要做開戶、銷戶、黑名單管理、費用繳納、充值管理等業務及用戶層面的管理,不但管理員操作復雜,也會影響到最終用戶(學生)對校園網運營的滿意度。怎樣才能真正實現「一卡走校園」?
以上所舉幾個典型案例,對於廠商設計IT管理系統的共同要求都是——開放。一個企業的業務系統與IT管理系統之間進行對接的需求是多種多樣的,針對與IT管理系統的開放介面進行對接開發的工程師的水平也是參差不齊,所以,廠商提供的IT管理系統必須考慮其架構各個層次的全面開放、各類業務功能的全面開放、也必須提供滿足各種水平的開發人員的各種形式的介面。 我們可能都聽過、玩過樂高玩具。樂高玩具可以搭建各種不同的形狀,它的模塊是基於標準的、可重用。樂高玩具與眾不同,它可以按照用戶的想法隨意組裝。
看上去,樂高玩具那麼簡單有趣,好像沒什麼可深究的。但事實上它背後卻隱含了一種設計哲學,樂高玩具的設計者是一群擁有博士學位的設計專家,他們必須要解決的問題是:如何把標準的、松耦合的、模塊化的、可重用的功能部件,力學等要素等技術架構問題在設計和規劃的時候一並解決,最終留給使用者的就是樂趣。
具備良好開放能力的IT管理系統的架構設計思想與上面的例子非常類似。其內部各功能實現必須模塊化,松耦合,可重用,各模塊之間還能協同互動、信息共享從而進行融合工作,各模塊經過各種組裝可形成各類IT管理解決方案,這樣的IT管理系統其對外開放介面也才能更豐富、更全面、更完善。IT管理系統內部模塊都可以通過IT管理系統的對外介面層統一對外發布服務介面,支持企業的各類IT業務系統根據企業業務流的需要來按需組裝,以形成適合企業各類業務需求的各種解決方案。
企業業務系統只關心IT管理系統所提供的各類服務介面,以此與自身業務系統之間按需整合,而不應考慮IT管理系統內部是怎麼實現的。
從架構分析,良好開放能力的IT管理系統,與企業IT業務系統、與IT基礎架構設備、人之間,典型的,應該具有如圖的配合框架。 在前面提到過,為了使IT管理系統能廣泛應對各類企業業務系統不同的對接要求、提供各種層次的介面以滿足不同開放水平的開發者進行對接開發,於是IT管理系統必須考慮其架構各個層次的全面開放、各類業務功能的全面開放、也必須提供滿足各種水平的開發人員的各種形式的介面。
H3C認為,這樣的IT管理系統首先應該以SOA(面向服務的體系結構)作為其設計指導思想,而且其架構各個層次都要提供開放。這樣的IT管理系統應該融合對網路、用戶、業務(指IT管理類業務,比如VPN管理、終端准入控制、QoS管理等等)、應用的管理。架構必須高度靈活,抽象出來的邏輯處理模塊之間還能數據共享、協同工作。這樣的IT管理系統應該打通IT管理的全流程,在對外開放時才能確保IT管理涉及的各類信息開放的豐富性、全面性、完善性,與企業業務系統之間才可以進行最優集成。
其架構層次、以及每個層次的開放介面詳細說明如下:
l數據訪問層提供對不同資料庫的支持能力和對設備管理協議棧的支撐能力;數據訪問層開放對新的資料庫和協議棧的擴展介面、已經支持的常用資料庫和協議棧的使用介面。利用數據訪問層的開放介面,企業業務系統可以進行原子性的基礎架構管理操作。
l數據抽象層將數據轉換為可管理對象(比如DBView、IT管理系統中的子網對象),提供業務數據擴展能力;數據抽象層開放業務數據抽象、處理的擴展介面。利用數據抽象層的開放介面,企業業務系統利用抽象出來的數據對象進行基礎架構管理操作。
l通訊匯流排提供服務單元間、業務間的消息傳遞和調度機制;通訊匯流排開放消息/數據交互介面、任務調度介面,屏蔽了不同操作系統介面的差異和復雜的多線程編程。利用該層次的開放介面,企業業務系統可以與IT管理系統緊密集成,實現進程間消息通信。
通用服務單元提供原子性細粒度的服務(比如增加、查詢、導入、刪除被管設備),服務涵蓋ISO定義的五大管理領域以及資源服務和報表服務;通用服務單元層開放了大量的原子粒度的服務單元介面,供業務邏輯編排使用。利用通用服務單元層的開放介面,企業業務系統可以與IT管理系統配合,在比較粗粒度的層面上進行IT管理操作,比如增刪設備、告警恢復、增刪用戶等等。
業務邏輯層基於通用服務單元實現業務邏輯,提供粗粒度的服務;業務邏輯層開放了各種具體業務模塊的業務邏輯單元介面,供表示層開發用來構建業務流程。IT管理系統提供的系列業務邏輯處理模塊(比如終端准入控制、QoS管理、網路流量分析、計費等等),典型的都歸屬於業務邏輯層。該層次開放的介面按業務模塊的不同可以有多種類型,比如,終端准入控制類介面、計費類介面、無線管理類介面、VPN管理類介面等等。企業業務系統與業務邏輯層的開放介面配合,不需要考慮底層的處理,而是在業務處理層面實現與IT管理系統進行集成;
基礎表示層提供公共UI(用戶界面)開發平台,為業務表示層的功能展示提供支撐;
業務表示層對業務邏輯層提供的服務進行界面組織和展示,以基礎表示層為工具實現完整的業務流程;
表示層開放GUI開發介面。利用表示層提供的開放介面,企業業務系統開發人員可以簡單的通過配置文件定製就可重新組織基於IT管理系統的界面,也可以利用報表設計器自己來製作並發布報表。此類開發一般不涉及細粒度的功能實現、以及網路、計算、用戶資源的交互介面,而是對這些細粒度的功能單元在IT管理系統上按自己的業務流和使用習慣進行重新的界面組織。
縱向系統管理層對IT管理系統整個框架進行監管和支撐。企業業務系統可以使用其開放的操作員管理和參數配置管理介面,進行IT管理系統的操作員管理、參數設置及調整。
例一提到的不同數據源整合:
無線管理、用戶接入管理作為IT管理系統的兩個模塊,是獨立存在的,每個模塊都可以通過IT管理系統統一開放介面層進行開放。並且在IT管理系統中同時安裝這兩個模塊之後,兩個模塊之間可以進行數據共享、聯動。
運營商OSS/BSS無須關心IT管理系統內部的實現以及內部的數據流走向,甚至不關心IT管理系統中安裝了什麼樣的模塊,而只是根據其業務需要選擇調用IT管理系統通過統一開放介面層所提供的相應介面函數即可,比如:
1、調用IT管理系統提供的查詢AC列表介面,可以得到AC的設備名字、設備型號等設備層面的信息;
2、由於IT管理系統的內部模塊(在本例中為無線管理模塊、用戶接入管理模塊)之間具有數據共享、聯動的特性,BSS/OSS系統就能方便的以AC作為一個參數,調用IT管理系統的開放介面,查詢該AC性能狀況較差、較好的時候的設備性能指標、認證用戶數、認證用戶列表及所屬SSID、接入AP等等信息;
其他有助於運營的例子限於本文篇幅,不再一一描述。由於IT管理系統提供的數據具有全面性,運營商可以獲得比較完整的運營參考信息,有助於改善服務質量、完善運營模式,也提升了用戶的滿意度。
例二提到的不同帳號的管理:
IT管理系統的用戶接入管理模塊提供用戶開戶、銷戶、網路訪問授權管理等開放介面,經由IT管理系統的統一開放介面層進行開放。這樣稅企E通系統就可以調用相應的用戶管理介面進行管理操作:
1、用戶開戶:稅企E通系統在新增操作員的時候,調用IT管理系統中的用戶接入管理模塊所提供的增加用戶開放介面,這樣操作員帳號就在IT管理系統中就自動生成;
2、用戶銷戶:稅企E通系統在清除操作員的時候,調用IT管理系統中的用戶接入管理模塊所提供的的用戶銷戶開放介面,這樣操作員帳號就在IT管理系統中自動注銷;
通過IT管理系統提供的介面,國家稅務部門做到了通過稅企E通作為統一的用戶管理界面進行開戶和銷戶等等用戶管理方面的操作,不需要單獨登錄到IT管理系統中再次進行用戶管理操作,節省了寶貴的工作時間、提升了工作效率並減少出錯。
隨著信息技術的迅速發展,it網路的建設以高於30%的速度逐年遞增。通訊、金融、教育、交通、政府、企業等各個行業的迅猛發展都越來越密切的依賴於現代化的it信息網路平台。但是高速發展的同時,各行業巨大的it維護和管理成本也在與日俱增,it基礎建設的健康性和可管理性越來越讓人擔憂。
各行業採用的it管理工具大都是從傳統的it網元監測出發,基於各自獨立的派系模式,即使在同一網路的不同區域也是各自為政,甚至普遍存在著同一機房中同時使用多套分散監測工具的局面,更談不上從企業業務的宏觀角度去主動管理整體的it架構。管理自動化程度低,維護人員疲於應對多套管理工具,多種形式的告警,分離的故障和投訴。不僅大大降低了已有網路資源的利用效率和維護人員的工作效率,也造成it管理嚴重脫節於企業業務的整體管理,缺乏宏觀視角,新業務的擴展不斷引起it建設和維護成本的飛漲,給網路和業務的進一步擴展和升級設置了重大的隱患。更嚴重的是,每一次的改造和升級,都使原有的監測工具和維護人員涉及巨大的再投入和再集成,以致無邊。企業普遍缺乏一個有效實用的綜合管理工具來實現完整的it架構管理。
⑵ 數據源分別有哪些啊
有各種資料庫的數據源、xml、各種flatfile(excel、txt、csv)等等。
⑶ 學IT的,寫了一個電影推薦系統,但是為什麼評分預測值大於五
全文以「預測電影評分」例子展開
r(i,j)=0則表明user_j沒有對movie_i 沒有評分,
推薦系統要做的就是通過預測user_j對這些movie {i|r(i,j)=0}的評分來給user_j 推薦其可能會喜歡的電影<預測評分較高的movie>
=======================================二、基於內容的推薦=======================================
對每個movie_i引入特徵x(i)=(x1, x2),這種特徵可能表明user對movie類型的偏好:浪漫or動作等
對於每個user引入一個參數theta,然後對評分矩陣的每列(對應一個user)做線性回歸,數據是{ (x(i), y(i,j)) |r(i,j)=1,for some j all i}
像機器學習一樣,x(i)添加個1變數x(i)=(1, x1, x2)
那麼對於未評分的movie_t,我們可以使用線性回歸訓練的參數theta與對應特徵x(t)做內積來得到其預測評分
對每個用戶都訓練一個參數theta_j,優化模型如下:
優化演算法:注意正則項是不約束x(i)=(1, x1, x2)中1對應的參數theta的第一項theta0,所以k=0與k=1,2分別對待
=======================================三、協同過濾=======================================
現在換個角度:如果知道theta for all user j,如何來預測x(i) = (x1, x2) all i
仍然可以使用線性回歸,為訓練每個x(i),需要評分矩陣的第i行數據{ (x(i), y(i,j)) |r(i,j)=1,for some i all j}
theta_j = (0, theta1, theta2) ;theta1=5說明user_j喜歡romance類movie, theta2=5說明user_j喜歡action類movie,只能有一個等於5哦,
我覺得也可以是:theta_j = (0, 4, 1) ;喜歡romance 4 action 1.
對應的優化:
協同過濾:交替優化theta與x
=========================================四、協同過濾演算法=======================================
優化:
優化:注意去掉了theta和x的添加項
=========================================五、實現細節補充=======================================
實現細節:
如果有user沒有對任何電影評分或者所有評分的電影都是0分,那麼所學習到的參數是零向量,
則預測都是0值,這是不合理的。通過 將評分矩陣減去其行均值再進行線性回歸來「避免」這種情況
=========================================六、一點思考==========================================
協同過濾那塊,同時優化theta、x,這樣得到的theta、x還有特定的意義<比如:x是否還表徵對影視類型的喜愛與否>沒有?
回歸中,在x數據上不添加1-feature是不是因為後來引入的平均值化;如果不是,那會對結果有什麼影響?
用x-feature來表徵一個movie,x-feature的各分量的可解釋性;應該會有一部分user應為演員的緣故有一些"偏愛"。
這里,講的"基於內容的推薦"與"協同過濾"跟以前對這兩個詞的認識/所指內容不同,查清楚、搞明白。
這周還會再更一篇關於此節課的演算法實現,會對上述部分問題做出回答。
⑷ 推薦系統的主要推薦方法
基於內容的推薦(Content-based Recommendation)是信息過濾技術的延續與發展,它是建立在項目的內容信息上作出推薦的,而不需要依據用戶對項目的評價意見,更多地需要用機 器學習的方法從關於內容的特徵描述的事例中得到用戶的興趣資料。在基於內容的推薦系統中,項目或對象是通過相關的特徵的屬性來定義,系統基於用戶評價對象 的特徵,學慣用戶的興趣,考察用戶資料與待預測項目的相匹配程度。用戶的資料模型取決於所用學習方法,常用的有決策樹、神經網路和基於向量的表示方法等。 基於內容的用戶資料是需要有用戶的歷史數據,用戶資料模型可能隨著用戶的偏好改變而發生變化。
基於內容推薦方法的優點是:1)不需要其它用戶的數據,沒有冷開始問題和稀疏問題。2)能為具有特殊興趣愛好的用戶進行推薦。3)能推薦新的或不是很流行的項目,沒有新項目問題。4)通過列出推薦項目的內容特徵,可以解釋為什麼推薦那些項目。5)已有比較好的技術,如關於分類學習方面的技術已相當成熟。
缺點是要求內容能容易抽取成有意義的特徵,要求特徵內容有良好的結構性,並且用戶的口味必須能夠用內容特徵形式來表達,不能顯式地得到其它用戶的判斷情況。 協同過濾推薦 (Collaborative Filtering Recommendation)技術是推薦系統中應用最早和最為成功的技術之一。它一般採用最近鄰技術,利用用戶的歷史喜好信息計算用戶之間的距離,然後 利用目標用戶的最近鄰居用戶對商品評價的加權評價值來預測目標用戶對特定商品的喜好程度,系統從而根據這一喜好程度來對目標用戶進行推薦。協同過濾最大優 點是對推薦對象沒有特殊的要求,能處理非結構化的復雜對象,如音樂、電影。
協同過濾是基於這樣的假設:為一用戶找到他真正感興趣的內容的好方法是首先找到與此用戶有相似興趣的其他用戶,然後將他們感興趣的內容推薦給此用 戶。其基本思想非常易於理解,在日常生活中,我們往往會利用好朋友的推薦來進行一些選擇。協同過濾正是把這一思想運用到電子商務推薦系統中來,基於其他用 戶對某一內容的評價來向目標用戶進行推薦。
基於協同過濾的推薦系統可以說是從用戶的角度來進行相應推薦的,而且是自動的即用戶獲得的推薦是系統從購買模式或瀏覽行為等隱式獲得的,不需要用戶努力地找到適合自己興趣的推薦信息,如填寫一些調查表格等。
和基於內容的過濾方法相比,協同過濾具有如下的優點:1) 能夠過濾難以進行機器自動內容分析的信息,如藝術品,音樂等。2) 共享其他人的經驗,避免了內容分析的不完全和不精確,並且能夠基於一些復雜的,難以表述的概念(如信息質量、個人品味)進行過濾。3) 有推薦新信息的能力。可以發現內容上完全不相似的信息,用戶對推薦信息的內容事先是預料不到的。這也是協同過濾和基於內容的過濾一個較大的差別,基於內容的過濾推薦很多都是用戶本來就熟悉的內容,而協同過濾可以發現用戶潛在的但自己尚未發現的興趣偏好。4) 能夠有效的使用其他相似用戶的反饋信息,較少用戶的反饋量,加快個性化學習的速度。
雖然協同過濾作為一種典型的推薦技術有其相當的應用,但協同過濾仍有許多的問題需要解決。最典型的問題有稀疏問題(Sparsity)和可擴展問題(Scalability)。 基於關聯規則的推薦 (Association Rule-based Recommendation)是以關聯規則為基礎,把已購商品作為規則頭,規則體為推薦對象。關聯規則挖掘可以發現不同商品在銷售過程中的相關性,在零 售業中已經得到了成功的應用。管理規則就是在一個交易資料庫中統計購買了商品集X的交易中有多大比例的交易同時購買了商品集Y,其直觀的意義就是用戶在購 買某些商品的時候有多大傾向去購買另外一些商品。比如購買牛奶的同時很多人會同時購買麵包。
演算法的第一步關聯規則的發現最為關鍵且最耗時,是演算法的瓶頸,但可以離線進行。其次,商品名稱的同義性問題也是關聯規則的一個難點。 由於各種推薦方法都有優缺點,所以在實際中,組合推薦(Hybrid Recommendation)經常被採用。研究和應用最多的是內容推薦和協同過濾推薦的組合。最簡單的做法就是分別用基於內容的方法和協同過濾推薦方法 去產生一個推薦預測結果,然後用某方法組合其結果。盡管從理論上有很多種推薦組合方法,但在某一具體問題中並不見得都有效,組合推薦一個最重要原則就是通 過組合後要能避免或彌補各自推薦技術的弱點。
在組合方式上,有研究人員提出了七種組合思路:1)加權(Weight):加權多種推薦技術結果。2)變換(Switch):根據問題背景和實際情況或要求決定變換採用不同的推薦技術。3)混合(Mixed):同時採用多種推薦技術給出多種推薦結果為用戶提供參考。4)特徵組合(Feature combination):組合來自不同推薦數據源的特徵被另一種推薦演算法所採用。5)層疊(Cascade):先用一種推薦技術產生一種粗糙的推薦結果,第二種推薦技術在此推薦結果的基礎上進一步作出更精確的推薦。6)特徵擴充(Feature augmentation):一種技術產生附加的特徵信息嵌入到另一種推薦技術的特徵輸入中。7)元級別(Meta-level):用一種推薦方法產生的模型作為另一種推薦方法的輸入。
⑸ 電影推薦系統包括什麼功能
電影推薦系統功能包括票房統計,評分推薦,電影類型推薦。
項目流程:首先獲取用戶id,刪除用戶之前存在的推薦結果,裝載樣本評分數據(不同用戶對不同電影的評分數據:userid、 movieid、rating、timestamp )。然後裝載電影信息數據(從movieinfo表中取出movieid、moviename、typelist)。
註:樣本評分數據和電影信息數據以.dat文件的形式被傳入HDFS中。
將樣本評分數據切分成3部分,60%用於訓練(訓練集)、20%用於校驗(校驗集)、20%用於測試(測試集)
訓練不同參數下的模型,並在校驗集中校驗,找出最佳模型。
設置參數(隱語義因子的個數、ALS的正則化參數、迭代次數),將設置的參數和訓練集作為參數傳入到spark MLlib庫的ALS()函數中,得到推薦模型,調整參數會得到多個不同的模型。
校驗方法:
將校驗集裝入模型中,得到用戶對電影的預測評分,計算預測評分和實際評分的均方根誤差,找出多個模型中均方根誤差最小的模型作為最佳模型。
用最佳模型預測測試集的評分,並計算預測評分和實際評分的均方根誤差,改進最佳模型。
用最佳模型預測某用戶對電影信息數據集中的所有電影的評分,選出評分最高的前十部電影。將推薦結果存入資料庫recommendresult表中
————————————————
版權聲明:本文為CSDN博主「塞奈」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_44459219/article/details/118416465