一.潜在因子(Latent Factor)推荐算法 本算法整理自知乎上的回答@nick lee.应用领域:"网易云音乐歌单个性化推荐"."豆瓣电台音乐推荐"等.        这种算法是在NetFlix(没错,就是用大数据捧火<纸牌屋>的那家公司)的推荐算法竞赛中获奖的算法,最早被应用于电影推荐中,在实际应用中比现在排名第一的 @邰原朗所介绍的算法误差(RMSE)会小不少,效率更高.下面仅利用基础的矩阵知识来介绍下这种算法.        该算法的思想是…
一.关联规则简介 关联规则挖掘的目标是发现数据项集之间的关联关系,是数据挖据中一个重要的课题.关联规则最初是针对购物篮分析(Market Basket Analysis)问题提出的.假设超市经理想更多地了解顾客的购物习惯,特别是想知道,哪些商品顾客可能会在一次购物时同时购买?为回答该问题,可以对商店的顾客购买记录进行购物篮分析.该过程通过发现顾客放入"购物篮"中的不同商品之间的关联,分析顾客的购物习惯.这种关联的发现可以帮助零售商了解哪些商品频繁地被顾客同时购买,从而帮助他们开发更好的…
矩阵是Madlib中数据的基本格式,通常是二维的.在Madlib中,数组的概念与向量类似,数组通常是一维的,是矩阵的一种特殊形式. 一.矩阵表示 MADlib为矩阵提供了两种表示形式:稠密和稀疏. 1. 稠密 矩阵被表示为一维数组的分布式集合,例如3x10的矩阵如下表: row_id | row_vec --------+------------------------- 1 | {9,6,5,8,5,6,6,3,10,8} 2 | {8,2,2,6,6,10,2,1,9,9} 3 | {3,9…
一.奇异值分解简介 奇异值分解简称SVD(singular value decomposition),可以理解为:将一个比较复杂的矩阵用更小更简单的三个子矩阵的相乘来表示,这三个小矩阵描述了大矩阵重要的特性.SVD的用处有很多,比如:LSA(隐性语义分析).推荐系统.数据降维.信号处理与统计等.        任何矩阵都可以使用SVD进行分解,对于一个MxN(M>=N)的矩阵M,存在以下的SVD分解: ∑是一个对角矩阵,其中的元素值就是奇异值,并且按照从大到小的顺序排列.        在很多情…
一.向量化:低秩矩阵分解 之前我们介绍了协同过滤算法,本节介绍该算法的向量化实现,以及说说有关该算法可以做的其他事情. 举例:1.当给出一件产品时,你能否找到与之相关的其它产品.2.一位用户最近看上一件产品,有没有其它相关的产品,你可以推荐给他. 我们将要做的是:实现一种选择的方法,写出协同过滤算法的预测情况. 我们有关于五部电影的数据集,我将要做的是,将这些用户的电影评分,进行分组并存到一个矩阵中. 我们有五部电影,以及四位用户,那么 这个矩阵…
一.MADlib简介 MADlib是Pivotal公司与伯克利大学合作的一个开源机器学习库,提供了精确的数据并行实现.统计和机器学习方法对结构化和非结构化数据进行分析,主要目的是扩展数据库的分析能力,可以非常方便的加载到数据库中, 扩展数据库的分析功能,2015年7月MADlib成为Apache软件基金会的孵化项目,其最新版本为MADlib1.11,可以用在Greenplum.PostgreSQL和HAWQ等数据库系统中.官网地址:http://madlib.incubator.apache.o…
一.主成分分析(Principal Component Analysis,PCA)简介 在数据挖掘中经常会遇到多个变量的问题,而且在多数情况下,多个变量之间常常存在一定的相关性.例如,网站的"浏览量"和"访客数"往往具有较强的相关关系,而电商应用中的"下单数"和"成交数"也具有较强的相关关系.这里的相关关系可以直观理解为当浏览量较高(或较低)时,应该很大程度上认为访客数也较高(或较低).这个简单的例子中只有两个变量,当变量个数…
一.定义 这里不讨论向量严格的数学定义.在Madlib中,可以把向量简单理解为矩阵.矩阵是Madlib中数据的基本格式,当矩阵只有一维时,就是向量,1行n列的矩阵称为行向量,m行1列的矩阵称为列向量,1行1列的矩阵称为标量. 二.线性代数函数 Madlib的线性代数模块(linalg module)包括基本的线性代数操作的实用函数.利用线性代数函数可以很方便地实现新算法.这些函数操作向量(1维FLOAT8数组)和矩阵(2维FLOAT8数组).注意,这类函数只接受FLOAT8数组参数,因此在调用函…
如上图中的predicted ratings矩阵可以分解成X与ΘT的乘积,这个叫做低秩矩阵分解. 我们先学习出product的特征参数向量,在实际应用中这些学习出来的参数向量可能比较难以理解,也很难可视化出来,但是它们是做为区分不同电影的特征 怎么来区分电影i与电影j是否相似呢?就是判断X(i)与X(j)之间的距离是否小来判断.这样在一个用户看了或者买了一部电影后,我们可以给他推荐相似的电影. 总结: 1>用向量化的计算来对所有的用户所有的电影进行评分计算 2>通过学习特征参数,如何找到相关的…
一曲新词酒一杯,去年天气旧亭台.夕阳西下几时回? 无可奈何花落去,似曾相识燕归来.小园香径独徘徊. ---<浣溪沙·一曲新词酒一杯>--晏殊 更多精彩内容请关注微信公众号 "优化与算法" 上一期介绍了低秩矩阵填充问题,这一期介绍一下低秩稀疏矩阵恢复问题. 1. 低秩矩阵恢复 将一个矩阵 \(\bf{D}~(\bf {D} = \bf {A_0} +\bf E_0)\) 分解为一个低秩矩阵部分 \(\bf{A}\) 和一个独立同分布的高斯矩阵 \(\bf{E}\) 的问题是经…