信息检索-矩阵理论与线性代数
最近补充线代知识,在书上看到线性代数的应用与模型–信息检索问题,觉得挺有意思,便记录了下来:
如果你此刻在百度百科上搜索“线性代数”,浏览器返回的结果究竟是怎样排序的?在百度的数据库里包含了无数条与“线性代数”有关的数据。通常情况下,一个数据库包含一组文档,通过搜索这些文档找到最符合搜索条件的文档,假设数据库包含m个文档和*n个可用于搜索的关键词(这个关键词应该就是key吧),关键词按字母顺序排列。数据库可以表示成m×n维矩阵*A,每一个文档表示为矩阵的一列,即Aij表示第i个关键词在j文档中出现的相对频率,搜索向量x表示为0与1的组合,如果第i个关键词在搜索列表中,则向量x的第i个元素为1,否则为0;为完成搜索,只需作乘积ATX(T为A的转置)
下面介绍两种常用的搜索方法:
- 1.简单匹配搜索
这种方法不考虑关键词出现的相对频率.
例如,假设数据库包含下列书名:线性代数、线性代数与空间解析几何、线性代数及其应用,按关键词拼音字母顺序给出关键词集合为“代数、几何、线性、应用”,对于简单匹配搜索,只需要在数据库中使用0和1,而不考虑关键词的出现的相对频率,aij=1表示第i个关键词出现在第j本书的书名中,aij=0表示第i个关键词没有出现在第j本书的书名中,书名对应的数据库矩阵如下图:
如果搜索的关键词是“代数、几何”,则数据库搜索矩阵A和关键词搜索向量x为
搜索结果可以表示为
因此,y的各个分量表示各书名与各搜索向量的匹配程度,y2=2匹配程度最高,故返回第二个书名。
- 2.相对频率搜索
通常,对数据库的搜索会找到所有包含搜索关键词的文档(不仅仅只搜索书名),并将它们按照相对频率进行排序,数据库矩阵的元素能反应出关键词在文档中出现的频率。例如,假设数据库中存储所有的关键词,均按拼音字母排序,第2个关键词是“代数”,第4个关键词是“线性”,数据库中文档6包含所有关键词的总次数为100,“代数”出现了10次,“线性”出现了5次,那这两个关键词的相对频率为10/100=0.1和5/100=0.05,并且他们对应的数据库矩阵元素值为a26=0.1,a46=0.05,为搜索这两个关键词,将搜索向量的x2=x4=1,其余分量为0,计算yi=ATX,即y6=a261+a461=0.15,取最大值的分量数(即相对频率最大),故优先搜索。
学习了基于线代的信息检索问题的解感觉豁然开朗,以前可能一知半解,对数据的搜索匹配没什么理论上的概念,就认为是匹配了就输出,对于有多种匹配情况,如果输出,输出哪项才是值得探究的问题。
总结一下:基于线性代数的信息检索问题有2种解决方案:1.简单搜索;2.相对频率搜索。简单搜索着重数据库中书名关键词与搜索向量的匹配度,通过搜索关键词是否出现在书名中确定数据库矩阵元素取值0/1,然后与搜索向量相乘。相对频率搜索,根据关键词出现在某文档中的频率确定数据库矩阵aij的取值[0,1],然后与搜索向量相乘。个人认为,后者计算更客观,但是计算量较大。
信息检索-矩阵理论与线性代数相关推荐
- 线性代数及矩阵论(七)
线性代数原文 MIT 18.06 线性代数笔记 矩阵论笔记来自 工程矩阵理论 综合线性代数 机器学习的数学基础 配合视频 线性代数 工程矩阵理论 文章目录 第二十三讲:微分方程和eAte^{At}eA ...
- 线性代数及矩阵论(十一)
线性代数原文 MIT 18.06 线性代数笔记 矩阵论笔记来自 工程矩阵理论 综合线性代数 机器学习的数学基础 配合视频 线性代数 工程矩阵理论 第三十四讲:左右逆和伪逆 前面我们涉及到的逆(inve ...
- 线性代数及矩阵论(三)
线性代数原文 MIT 18.06 线性代数笔记 矩阵论笔记来自 工程矩阵理论 综合线性代数 机器学习的数学基础 配合视频 线性代数 工程矩阵理论 文章目录 十一.矩阵空间.秩1矩阵和小世界图 1.矩阵 ...
- 线性代数及矩阵论(十)
线性代数原文 MIT 18.06 线性代数笔记 矩阵论笔记来自 工程矩阵理论 综合线性代数 机器学习的数学基础 配合视频 线性代数 工程矩阵理论 文章目录 第三十二讲:基变换和图像压缩 1.图像压缩 ...
- 1024-开启人工智能学习之旅
个人简介 本人本科毕业于某985机械工程专业,学习了四年发现这个行业实在太过于枯燥,更实际的想法是当时觉得这个行业出去薪资待遇过低,因此保研到另一所985高校之后,选择了车辆工程专业,研究方向为: ...
- 《谱图论》读书笔记(第一章)
目录 Chapter 1. 特征值和图的拉普拉斯算子 1.1 介绍 1.2 拉普拉斯算子和特征值 1.3 Basic facts about the spectrum of Graph 1.4 Eig ...
- 2014秋C++第14周OJ题目参考
课程主页在 http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在 云学堂"贺老师课堂"同步展示,使用的帐号请 ...
- 【经典书】随机矩阵理论与无线网络
来源:专知 本文约2000字,建议阅读5分钟 本文提供了一个关于随机矩阵的教程. 随机矩阵理论自提出以来,在物理学.统计学和工程学等领域都有广泛的应用.尽管早期的发展是由实际的实验问题所推动的,但随机 ...
- 机器学习--线性代数基础
数学是计算机技术的基础,线性代数是机器学习和深度学习的基础,了解数据知识最好的方法我觉得是理解概念,数学不只是上学时用来考试的,也是工作中必不可少的基础知识,实际上有很多有趣的数学门类在学校里学不到, ...
- 科学计算:Python VS. MATLAB(3)----线性代数基础
科学计算:Python VS. MATLAB(3)----线性代数基础 按:在介绍工具之前先对理论基础进行必要的回顾是很必要的.没有理论的基础,讲再多的应用都是空中楼阁.本文主要设涉及线性代数和矩阵论 ...
最新文章
- C# WinForm给Button按钮或其它控件添加快捷键响应
- redhat 配置yum代理源
- OpenGL延迟着色之三
- QTP- 对输入格式的检查
- Spring5参考指南:IOC容器
- (六)数据结构之“集合”
- 数据下发非标准用户权限测试
- 斐波那契数列不用数组_兔子数列——斐波那契数列
- mssql 查询每个业务员_每个社区管理员应阅读的7本书
- 【演讲实录】下一代企业级应用架构管理体系
- 【Hadoop】新旧Java MapReduce API的差异
- JDBC连接池DBUtils
- 极限编程价值观及最佳实践
- Python数据挖掘实战-唐宇迪-专题视频课程
- [审核]App审核被拒绝(本地网络权限弹框“Local Network”)
- KNN和Kmeans比较
- 如何系统学习领域驱动设计(DDD)?
- Linux-打包、压缩命令
- 微信小程序 - 如何利用百度飞桨实现图像分类识别
- 提高网络泛化能力,过拟合