算法

八叉树简述

定义

八叉树是一种对三维世界进行场景管理的理想的空间数据结构。八叉树中根节点包含一个立方体包围盒。每个非叶子节点都拥有八个子节点,它们将双亲节点细分为八分体。也就是说而且每个子节点表示一个立方体的体积元素,而且所有子节点的体积加起来是父节点的体积。
当满足用户所定义的标准被满足时,停止细分。常见的停止标准有:

  • 节点包围盒达到一个特定大小
  • 节点内包含的多边形数目达到最小数目

[......]

Read more

使用SVD++进行协同过滤(附有github地址,算法原理部分主要引用自他人)

SVD++是基于SVD(Singular Value Decomposition)的一种改进算法。SVD是一种常用的矩阵分解技术,是一种有效的代数特征提取方法。SVD在协同过滤中的主要思路是根据已有的评分情况,分析出评分者对各个因子的喜好程度以及电影包含各个因子的程度,最后再反过来分析数据得出预测结果。

其在协同过滤中的具体应用方法是先对user_movie的rating矩阵的缺失值用随机数据予以填充,然后将预处理之后的矩阵作为SVD算法的输入,进行迭代求解。

为了更好的说明SVD算法,需要首先对matrix factorization model和Baseline Predictors进行简单的介绍。

matrix factorization model:

 


图表 1评分矩阵形式(引用)[......]

Read more