分治法概念 分治法(divide-and-conquer)字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。分治有两个特点…
动态规划是一种将原问题拆解为若干子问题的求解方法,常常用于重叠子问题的和最有结构性能的问题。通过动态规划的方法,计算量则远远小于一般的解法。原因在于,对于重叠子问题,一般情况下会被重复计算,而动态规…
背包问题(Knapsack problem)是动态规划的经典问题。动态规划的基础是递归,和分治一样,都是假设子问题已经解决,由子问题的解组合计算得到父问题的解,类似裴波那契数列中的递推式如f(n) = f(n-1) + f(n-2)。但…
就像哲学有不同的流派一样,推荐系统的算法设计思路也可以分为不同的流派。排序学习恰恰就是其中的一种流派。熟悉 RecSys 等推荐系统国际会议的从业者可能会发现,自 2010 年以后的若干年内,陆续出现了许多基于排…
ALS(alternating least squares) ALS是交替最小二乘的简称。在机器学习中,ALS特指使用交替最小二乘求解的一个协同推荐算法。如:将用户(user)对商品(item)的评分矩阵分解成2个矩阵: user对item潜在因素的…
什么是 SVD? 奇异值分解(singular value decomposition)是线性代数中一种重要的矩阵分解,在生物信息学、信号处理、金融学、统计学等领域有重要应用,SVD 都是提取信息的强度工具。在机器学习领域,很多应用与奇…
矩阵分解简介 推荐领域的人一般都会听说过十年前 Netflix Prize 的比赛,随着 Netflix Prize 推荐比赛的成功举办,近年来隐语义模型(Latent Factor Model,LFM)受到越来越多的关注。隐语义模型最早在文本挖掘领域…
点击率(click-through rate, CTR)是点击特定链接的用户与查看页面,电子邮件或广告的总用户数量之比。它通常用于衡量某个网站的在线广告活动是否成功,以及电子邮件活动的有效性,是互联网公司进行流量分配的核心依…
网格系统(Grid System)对于分析海量空间数据集,将地球空间划分为可识别的网格单元(cell)至关重要。H3是由Uber开源的一个六边形分层索引网格系统,也是最近几年实现数据聚合的主要趋势,在H3出现之前大部分情况采用…
Geohash简介 Geohash是一种地址编码,它能把二维的经纬度编码成一维的字符串。比如,北海公园的编码是wx4g0ec1。 Geohash有以下几个特点: Geohash用一个字符串表示经度和纬度两个坐标。在数据存储时可以简化为…