MiningofMassiveDatasets大数据:互联网大规模数据挖掘与分布式处理聚类7PartClustering聚类是对点集进行考察并按照某种距离测度将它们聚成多个“簇”的过程。聚类的目标是同一簇内的点之间的距离较短,而不同簇中点之间的距离较大。如图,不同种类的犬在某种程度上形成一种簇。三种不同犬类的身高体重分布图,可以知道这些犬可以分到三个簇中,每个簇恰好对应一种犬类。身高吉娃娃狗体重腊肠狗比格犬聚类的概念xyz0而聚类分析则是根据最大化簇内的相似性、最小化簇间的相似性的原则将数据对象聚类或分组,所形成的每个簇可以看作一个数据对象类,用显式或隐式的方法描述它们。最大化簇内的相似性最小化簇间的相似性聚类的操作聚类算法基于划分的K-meansK-medoids基于层次的凝聚的分裂的基于密度的DBSCANOPTICS基于网格的STINGCLIQUE基于模型的StatisticsNeuralNetwork聚类分析算法的分类010203040506能够适用于大数据量(可伸缩性)能够处理不同类型数据(距离定义)能够发现任意形状的簇(结果特点)能够处理高维数据具有处理噪声的能力聚类结果可解易使用聚类算法需要考虑的因素Web广告8PartAdvertisingontheWeb目前,许多WEB应用通过广告而维持生计,从在线广告中获益最多的是搜索应用,而搜索广告的有效性主要源于将搜索查询和广告进行匹配的一个称为Adwords模型。本章将主要关注广告匹配的优化算法。这里使用的算法属于一种特殊的类型,他们属于一种特殊的类型,它们属于贪心算法且从特定技术角度来说是在线算法,重点讨论在线广告的相关问题、在线算法、Adwords实现和问题等。Web广告背景Web广告Adwords实现投标和搜索查询的匹配更复杂问题的匹配问题文档和投标之间的匹配算法Adwords问题搜索广告的历史Adwords问题的定义Adwords问题的贪心算法Balance算法Balance算法竞争的一个下界多投标者的Balance算法一般性的Balance算法Adwords问题的最后论述在线广告相关问题广告机会直接广告展示广告的相关问题在线算法在线和离线算法贪心算法竞争率广告匹配问题匹配及完美匹配最大匹配贪心算法贪心匹配算法的竞争率章节具体框架在线算法分类1离线算法将算法所需的所有数据准备好才产生答案的传统算法在线算法只能保存有限的流数据,但是需要在某个流元素到达之后就以输出的方式对查询进行应答,此时是在对未来的数据一无所知的情况下对当前元素进行决策的过程2算法现象一般情况下会寻找搜索引擎收益和广告上显示次数同时的最大化,因为无法保证在线算法与离线算法一样有效3贪心算法采用贪心策略,综合考虑关键词与广告的匹配程度、广告商竞价、广告商剩余预算等因素,通过最大化当前输入元素信息的某个函数得到当前的最优值。4竞争率存在某个小于1的常数c,使得对于任意输入,一个具体的在线算法的结果至少是最优离线算法结果的c倍。广告的匹配问题1二部图设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集,则称图G为一个二分图。2最大匹配一个二分图G,在G的一个子图M中,M的边集中的任意两条边都不依附于同一个顶点,选择这样的边数最大的子集称为图的最大匹配问题。3完美匹配在一个匹配中,所有的节点都不会同时是两条或者多条边对的端点且所有的节点都出现,则匹配是完美的。4最大匹配的贪心算法按照任意次序来考虑边,当考虑边(x,y)时,如果x和y都不是已有匹配中边的端点则加入,否则跳过。贪心算法产生的匹配不一定是最大匹配,很可能结果会不尽人意。5贪心匹配算法的竞争率为1/2。因为算法的竞争率是算法所有可能的输入下所得到最小值和最优结果的比值,因此1/2是竞争率的上界。又设Mo是最大匹配、Mg是贪心算法匹配,L为在Mo中匹配但在Mg中不匹配的左节点结合,R为L中所有节点连接的边右节点的集合。由于|M0|=|M0|+|L|,|L|=|R|,|R|=|Mg|,可以推导得到|M0|=2|Mg|,竞争率至少为1/2。因此竞争率为1/2。广告的匹配问题二部图最大匹配完美匹配最大匹配的贪心算法贪心匹配算法的竞争率为1/20102030405推荐系统9PartRecommendationSystems举例1,在淘宝上多次浏览某类商品时,淘宝网站会出现该类产品的推荐,诸如:您可能感兴趣…。举例2,某些门户网站会基于您的浏览足迹,推荐您感兴趣的新闻内容。没错,这就是推荐系统的巨大魅力,大数据环境之下,Web应用可以对涉及用户喜好进行预测,而这种系统称为推荐系统。推荐系统的概念不知道大家有没有这样的经验,反正我是经常碰到。这类系统通过计算用户或/和项之间的相似度来推荐项。与某用户相似的用户所喜欢的项会推荐给该用户。这类系统主要考察的是推荐项的性质。用户计算机用户以往的浏览历史来预测用户将来的行为,也就是基于内容的推荐。推荐系统基于内容的系统协同过滤系统推荐系统的分类基于内容的推荐系统概念基于内容的推荐(Content-basedRecommendation)是信息过滤技术的延续与发展,它是建立在项目的内容信息上作出推荐的,而不需要依据用户对项目的评价意见,更多地需要用机器学习的方法从关于内容的特征描述的事例中得到用户的兴趣资料。在基于内容的推荐系统中,项目或对象是通过相关的特征的属性来定义,系统基于用户评价对象的特征,学习用户的兴趣,考察用户资料与待预测项目的相匹配程度。用户的资料模型取决于所用学习方法,常用的有决策树、神经网络和基于向量的表示方法等。基于内容的用户资料是需要有用户的历史数据,用户资料模型可能随着用户的偏好改变而发生变化。不需要其它用户的数据,没有冷开始问题和稀疏能为具有特殊兴趣爱好的用户进行推荐能推荐新的或不是很流行的项目,没有新项目问题通过流出推荐项目内容特征,解释推荐那些项目的原因已有比较好的技术,如关于分类学习的技术已趋成熟优点基于内容的推荐系统优点基于内容的推荐系统缺点缺点是要求内容能容易抽取成有意义的特征,要求特征内容有良好的结构性,并且用户的口味必须能够用内容特征形式来表达,不能显式地得到其它用户的判断情况。分析数据输出结果过滤数据数据收集利用分类聚类技术分析出这些日志数据之间的关联性,以及这些日志数据和用户之间的关联性,这也是最重要的一步。Web日志中有很多无用的信息,我们要把这些无用的信息排除掉,而且要区分出用户和日志数据之间的联系。即搜集用户的行为资料,其中也包括很多方法,根据我找到的资料与以往的经验来看,web日志可以作为我们的切入点,即我们的数据来源。基于内容的推荐系统流程协同过滤系统的概念基于用户的协同过滤推荐的基本原理是,根据所有用户对物品或者信息的偏好,发现与当前用户口味和偏好相似的“邻居”用户群,在一般的应用中是采用计算“K-邻居”的算法;然后,基于这K个邻居的历史偏好信息,为当前用户进行推荐。协同过滤系统的图示上图示意出基于用户的协同过滤推荐机制的基本原理,假设用户A喜欢物品A,物品C,用户B喜欢物品B,用户C喜欢物品A,物品C和物品D;从这些用户的历史喜好信息中,我们可以发现用户A和用户C的口味和偏好是比较类似的,同时用户C还喜欢物品D,那么我们可以推断用户A可能也喜欢物品D,因此可以将物品D推荐给用户A。