好久好久没有些博客了,赘肉又长了20斤,可惜没张脸上
最近在学习python、服务器、大数据相关的知识,做实验楼的实验时遇到一个验证码破解的实验,整理一下相关知识,以便查缺补漏
附实验楼链接:https://www.shiyanlou.com/courses/364
基本向量空间搜索引擎理论:http://ondoc.logand.com/d/2697/pdf
要理解利用向量空间进行校验搜索,则必须懂得向量的概念。
向量属于几何学、线性代数的范畴,高中数学有学到。最初是二维A(1,2),高端的三维A(1,2,3),更牛的4,5,6,7....维度A(1,2,3,4....)。
相同维度下,比较两向量的余旋夹角来判断两个向量之间的相似度。这就是向量空间搜索理论。
那么问题来了,如何计算两个向量之间的余旋夹角呢?公式就是:cos=数量积/(查询向量大小*文件向量大小)
好家伙,引出的概念有多了 余旋夹角、向量大小、查询向量、数量积。数学的世界真是很奇妙!
不要 方,这些概念如何理解,让我一一道来。。。。
余旋夹角: 见:https://baike.baidu.com/item/%E4%BD%99%E5%BC%A6%E5%AE%9A%E7%90%86/957460?fr=aladdin
向量大小:利用勾股定理求得向量大小,例如A(3,1,4)向量,其大小为:V1 = √((3^2)+(1^2)+(4^2)) = √(9 + 1 + 16 )= √26 = 5.09901
查询向量:即用来做相似度对比的向量
数量积:
待续
---