50、推荐系统(下):如何通过SVD分析用户和物品的矩阵

你好,我是黄申。 上一节,我们讲了如何使用矩阵操作,实现基于用户或者物品的协同过滤。实际上,推荐系统是个很大的课题,你可以尝试不同的想法。比如,对于用户给电影评分的案例,是不是可以使用SVD奇异值的分解,来分解用户评分的矩阵,并找到“潜在”的电影主题...

程序员的数学基础课

49、推荐系统(上):如何实现基于相似度的协同过滤

你好,我是黄申。 个性化推荐这种技术在各大互联网站点已经普遍使用了,系统会根据用户的使用习惯,主动提出一些建议,帮助他们发现一些可能感兴趣的电影、书籍或者是商品等等。在这方面,最经典的案例应该是美国的亚马逊电子商务网站,它是全球最大的B2C电商网站之...

程序员的数学基础课

48、搜索引擎(下):如何通过查询的分类,让电商平台的搜索结果更相关

你好,我是黄申。 上一节,我给你阐述了如何使用哈希的数据结构设计倒排索引,并使用倒排索引加速向量空间模型的计算。倒排索引提升了搜索执行的速度,而向量空间提升了搜索结果的相关性。 可是,在不同的应用场景,搜索的相关性有不同的含义。无论是布尔模型、向量空...

程序员的数学基础课

47、搜索引擎(上):如何通过倒排索引和向量空间模型,打造一个简单的搜索引擎

你好,我是黄申。 上一节,我们充分利用了哈希表时间复杂度低的特点,设计了一个简单的缓存系统。在实际项目中,哈希表或者类似的哈希数据结构,有着更为广泛的运用。比如,搜索引擎中的倒排索引,也是基于哈希表结构来设计的。这种倒排索引可以大大提升数据对象的检索...

程序员的数学基础课

46、缓存系统:如何通过哈希表和队列实现高效访问

你好,我是黄申。 经过前三大模块的学习,我带你纵览了数学在各个计算机编程领域的重要应用。离散数学是基础数据结构和编程算法的基石,而概率统计论和线性代数,是很多信息检索和机器学习算法的核心。 因此,今天开始,我会综合性地运用之前所讲解的一些知识,设计并...

程序员的数学基础课

45、线性代数篇答疑和总结:矩阵乘法的几何意义是什么

你好,我是黄申。今天是线性代数的答疑和总结。 在这个模块中,我们讲了不少向量、矩阵、线性方程相关的内容。看到大家在留言区的问题,今天我重点说说矩阵乘法的几何意义,以及为什么SVD中$X’X$的特征向量组成了$V$矩阵,而$XX’$的特征向量组成了$U...

程序员的数学基础课
11415161718673