HAWQ + MADlib 玩转数据挖掘之(五)——奇异值分解实现推荐算法

一、奇异值分解简介        奇异值分解简称SVD(singular value decomposition),可以理解为:将一个比较复杂的矩阵用更小更简单的三个子矩阵的相乘来表示,这三个小矩阵描述了大矩阵重要的特性。SVD的用处有很多,比如:LSA(隐性语义分析)、推荐系统、数据降维、信号处理与统计等。        任何矩阵都可以使用SVD进行分解,对于一个MxN(M>=N)的矩阵M,存在...
阅读(1949) 评论(2)

HAWQ + MADlib 玩转数据挖掘之(四)——低秩矩阵分解实现推荐算法

一、潜在因子(Latent Factor)推荐算法        本算法整理自知乎上的回答@nick lee。应用领域:“网易云音乐歌单个性化推荐”、“豆瓣电台音乐推荐”等。        这种算法是在NetFlix(没错,就是用大数据捧火《纸牌屋》的那家公司)的推荐算法竞赛中获奖的算法,最早被应用于电影推荐中,在实际应用中比现在排名第一的 @邰原朗所介绍的算法误差(RMSE)会小不少,效率更高。...
阅读(275) 评论(0)

HAWQ + MADlib 玩转数据挖掘之(三)——向量

一、定义        这里不讨论向量严格的数学定义。在Madlib中,可以把向量简单理解为矩阵。矩阵是Madlib中数据的基本格式,当矩阵只有一维时,就是向量,1行n列的矩阵称为行向量,m行1列的矩阵称为列向量,1行1列的矩阵称为标量。二、线性代数函数        Madlib的线性代数模块(linalg module)包括基本的线性代数操作的实用函数。利用线性代数函数可以很方便地实现新算法。...
阅读(177) 评论(0)

HAWQ + MADlib 玩转数据挖掘之(二)——矩阵

矩阵是Madlib中数据的基本格式,通常是二维的。在Madlib中,数组的概念与向量类似,数组通常是一维的,是矩阵的一种特殊形式。一、矩阵表示        MADlib为矩阵提供了两种表示形式:稠密和稀疏。1. 稠密        矩阵被表示为一维数组的分布式集合,例如3x10的矩阵如下表: row_id | row_vec --------+------------------...
阅读(188) 评论(0)
    个人资料
    • 访问:1297432次
    • 积分:17326
    • 等级:
    • 排名:第553名
    • 原创:253篇
    • 转载:20篇
    • 译文:5篇
    • 评论:155条
    博客专栏
    文章分类
    最新评论