SQL中的稀疏点积
发布时间:2020-12-12 06:41:55 所属栏目:MsSql教程 来源:网络整理
导读:想象一下,我有一个存储一系列稀疏向量的表.稀疏向量意味着它仅在数据结构中显式存储非零值.我可以有一个100万维向量,但我只存储非零的维度的值.因此,大小与非零条目的数量成比例,而不是向量的维数. 表定义如下: vector_id:int dimension:int 值:浮点数 现
想象一下,我有一个存储一系列稀疏向量的表.稀疏向量意味着它仅在数据结构中显式存储非零值.我可以有一个100万维向量,但我只存储非零的维度的值.因此,大小与非零条目的数量成比例,而不是向量的维数.
表定义如下: 现在,在正常的编程范围内,我可以在O(| v1 | | v2 |)时间内计算两个向量的内积或点积.基本上算法是存储按维度排序的稀疏向量并迭代每个维度,直到找到维度之间的碰撞并乘以共享维度的值并继续添加它们直到你到达任一个向量的末尾. 什么是在SQL中实现这一目标的最快方法? 解决方法您应该能够在一个查询中复制此算法:select sum(v1.value * v2.value) from vectors v1 inner join vectors v2 on v1.dimension = v2.dimension where v1.vector_id = ... and v2.vector_id = ... (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- SqlServer GO命令循环使用实例代码
- SQL Server数据库对上亿表的操作
- sql – 如何处理r语言中的50GB大型csv文件?
- 破解SQLSERVER存储过程的加密
- 应用掩码在SQL Server查询/视图中格式化字符串
- 使用mysql的disctinct group by查询不重复记录
- sql – 如何用jOOQ表达“选择别名.*,otherAlias.Column Fro
- SQLSERVER2005:"sys.xp_cmdshell"过程无法调用的解
- 优化在SQL Server上快速运行的运行速度较慢的SELECT查询
- sql-server – 带有SQLServer Express的sql azure vs azure
推荐文章
站长推荐
热点阅读