
推荐系统
文章平均质量分 66
闵帆
机器学习算法 Java 程序员
展开
-
正则项的物理意义--概率矩阵分解的角度
机器学习的优化目标中, 一般会加上参数的正则项. 1 范数, 2 范数都有其物理意义. 本贴根据对论文 Ruslan Salakhutdinov and Andriy Mnih, Probabilistic Matrix Factorization 的学习, 从概率矩阵分解的角度来进行解释.本贴涉及的数学式子不多, 但写起来稍嫌复杂, 希望读者有点耐心. 毕竟是机器学习的一个坎, 迈过去就好了.1. 数据电影评分数据集可以表示为一个矩阵 R=[rij]N×M∈[0..5]N×M\mathbf{R} =原创 2021-08-15 23:37:36 · 338 阅读 · 2 评论 -
推荐系统代码分析 2: 矩阵分解
代码可运行, 但还没有完全规范, 先放这里吧. 计划在不远的将来更新.数据太大了, 需要的话直接找我.1. Triple.java管理三元组: 行、列、值. 由于评分矩阵通常是非常稀疏的, 需要用这种方式支持压缩矩阵.package recommender.algorithms;public class Triple { public int i; public int j; public double rate;}//of class Triple2. DataInfo.java原创 2021-06-28 12:31:24 · 383 阅读 · 0 评论 -
推荐系统代码分析 1: 基于相似度的评分预测
本贴分析针对 推荐系统: 问题、算法与研究思路 中的 问题 2.2.2, 分析相应评分预测算法: kkkNN, 基于邻域半径的算法等. 先上代码:这里是代码分析:实现了不同的相似度/距离: cosine 相似度 (x行), Jaccard 相似度 (y行), M-distance,M-distance 还支持基于邻域半径 (epsilon) 的邻居查找.实现了 MAE 与 RSME 两种评价指标....原创 2021-06-28 07:11:40 · 520 阅读 · 0 评论 -
推荐系统: 问题、算法与研究思路
推荐系统最常见的应用就是商品推荐, 网购的兴起使得这个方向备受关注. 本文描述推荐系统的基础知识与个人想法.1. 数据推荐系统有一些基础数据与附加信息.1.1 基础数据令用户数量为 nnn, 产品数量为 mmm. 基础数据为一个二维表 R=(rij)n×mR = (r_{ij})_{n \times m}R=(rij)n×m. 分两种情况讨论:如果仅知道用户是否浏览过商品, rijr_{ij}rij 的取值范围为 {0,1}\{0, 1\}{0,1}. rij=0r_{ij} = 0rij原创 2021-06-26 07:52:46 · 1356 阅读 · 0 评论