基于power大数据平台的推荐引擎.docVIP

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于power大数据平台的推荐引擎 第 PAGE \* Arabic \* MERGEFORMAT 16 页 演示案例 项目名称:基于power大数据平台的推荐引擎 参赛学校:西安交通大学 项目环境:在IBMpower550物理机上安装配置RedHat 6.4系统, JDK 1.7, Apache Hadoop 2.2的环境,利用Open Hadoop充分实现了Google 的MapReduce算法 推荐引擎的实现过程: 一、配置环境: 具备IBMpower550物理机并安装配置RedHat 6.4系统, JDK 1.7, Apache Hadoop 2.2的环境。 安装Eclipse:下载链接: HYPERLINK /downloads/ /downloads/ 下载Eclipse Luna (4.4.1) Release for Linux版本, 配置java.sh文件,并在命令行输入/usr/eclipse/eclipse/eclipse -vm /usr/java/jdk/jdk1.7.0_67/bin/java -data ~/workspace 即可。 安装完成后,双击进入。 安装maven:最新版 HYPERLINK /download.cgi /download.cgi 解压后配置/etc/profile文件的安装目录。 完成后,命令行输入:source /etc/profile使文件生效。 命令行输入:mvn -v (测试是否成功?) 启动hadoop: 【root@xjtu conf】# start-all.sh 【root@xjtu conf】# jps 5.安装mahout:下载链接: HYPERLINK /dist/mahout/0.9/ /dist/mahout/0.9/ 解压并在/etc/profile中配置环境变量。 至此,所有环境搭建完成。 案例实战: 介绍SVD算法:即奇异值分解。 在这里我们要引荐奇异值分解这个算法,我们之后研究的算法可以说也是受到该算法的启发,它给我们一种思路就是如何利用矩阵进行算法的研究与计算。 奇异值与特征值基础知识: ??? 特征值分解和奇异值分解在机器学习领域都是属于满地可见的方法。两者有着很紧密的关系,我在接下来会谈到,特征值分解和奇异值分解的目的都是一样,就是提取出一个矩阵最重要的特征。先谈谈特征值分解吧: ?? 1)特征值: ??? 如果说一个向量v是方阵A的特征向量,将一定可以表示成下面的形式: 这时候λ就被称为特征向量v对应的特征值,一个矩阵的一组特征向量是一组正交向量。特征值分解是将一个矩阵分解成下面的形式: 其中Q是这个矩阵A的特征向量组成的矩阵,Σ是一个对角阵,每一个对角线上的元素就是一个特征值。我这里引用了一些参考文献中的内容来说明一下。首先,要明确的是,一个矩阵其实就是一个线性变换,因为一个矩阵乘以一个向量后得到的向量,其实就相当于将这个向量进行了线性变换。比如说下面的一个矩阵: 它其实对应的线性变换是下面的形式: 因为这个矩阵M乘以一个向量(x,y)的结果是: ??? 上面的矩阵是对称的,所以这个变换是一个对x,y轴的方向一个拉伸变换(每一个对角线上的元素将会对一个维度进行拉伸变换,当值1时,是拉长,当值1时时缩短),当矩阵不是对称的时候,假如说矩阵是下面的样子: 它所描述的变换是下面的样子: ??? 这其实是在平面上对一个轴进行的拉伸变换(如蓝色的箭头所示),在图中,蓝色的箭头是一个最主要的变化方向(变化方向可能有不止一个),如果我们想要描述好一个变换,那我们就描述好这个变换主要的变化方向就好了。反过来看看之前特征值分解的式子,分解得到的Σ矩阵是一个对角阵,里面的特征值是由大到小排列的,这些特征值所对应的特征向量就是描述这个矩阵变化方向(从主要的变化到次要的变化排列) 当矩阵是高维的情况下,那么这个矩阵就是高维空间下的一个线性变换,这个线性变化可能没法通过图片来表示,但是可以想象,这个变换也同样有很多的变换方向,我们通过特征值分解得到的前N个特征向量,那么就对应了这个矩阵最主要的N个变化方向。我们利用这前N个变化方向,就可以近似这个矩阵(变换)。也就是之前说的:提取这个矩阵最重要的特征。总结一下,特征值分解可以得到特征值与特征向量,特征值表示的是这个特征到底有多重要,而特征向量表示这个特征是什么,可以将每一个特征向量理解为一个线性的子空间,我们可以利用这些线性的子空间干很多的事情。不过,特征值分解也有很多的局限,比如说变换的矩阵必须是方阵。 2)奇异值: ??? 特征值分解是一个提取矩阵特征很不错的方

文档评论(0)

180****5953 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档