⑴ 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