您现在的位置是:热点 >>正文
已知两向量坐标求余弦值
热点4人已围观
简介两个向量夹角的余弦值,公式就一句话:cosθ = (A·B) / (|A|·|B|)。但真正用起来,很多人栽在“坐标”这两个字上——不是不会算,是算完不知道自己在算什么。 拿个具体例子。向量a = ( ...
两个向量夹角的已知余弦余弦值,公式就一句话:cosθ = (A·B) / (|A|·|B|)。两向量坐但真正用起来,标求很多人栽在“坐标”这两个字上——不是已知余弦不会算,是两向量坐算完不知道自己在算什么。
拿个具体例子。标求向量a = (3,已知余弦 4),向量b = (1,两向量坐 2)。先算点积:3×1 + 4×2 = 11。标求再算模长:|a| = √(3²+4²) = 5,已知余弦|b| = √(1²+2²) = √5。两向量坐除一下,标求cosθ = 11 / (5√5) ≈ 0.984。已知余弦这个数接近1,两向量坐说明两个向量方向很接近——你看,标求角度大概10度,确实几乎平行。
但如果你只背公式,不看几何意义,那这题就白做了。余弦值的本质是“方向相似度”,不是“长度相似度”。向量(6, 8)和(3, 4)长度差一倍,但余弦值是1,因为方向完全相同。坐标里那个倍数关系,在点积和模长的除法中抵消了。这才是公式最漂亮的地方——它把长度信息剥离掉,只留方向。
实际操作中,有个常见坑:三维向量和二维向量混用。比如你拿a = (1, 2)和b = (1, 2, 3)去算,点积根本没法定义,因为维度不匹配。这种事在编程里尤其常见,Python的numpy会直接报错,但手算时容易犯迷糊。先检查维度,再动手。
再说个更隐蔽的坑。如果向量分量是浮点数,比如a = (0.1, 0.2),b = (0.3, 0.6),算出来cosθ = 1,但如果你用二进制浮点运算,可能会得到0.9999999999999998。这时候别慌,设个阈值,比如差小于1e-10就当作1。工程上没人关心小数点后第15位,除非你在做卫星轨道计算。
公式本身简单到可以心算,但真正考验人的是“什么时候用”。推荐系统里,用户A的偏好向量是(5, 0, 3),用户B的是(4, 1, 2),算余弦相似度,得到0.98,说明口味接近。但注意,如果向量里全是正数,余弦值天然偏向高——因为负方向被阉割了。这时候你该考虑中心化,先减去均值再算,否则所有用户都“相似”,区分度就没了。
还有种情况,向量特别稀疏,比如一万维里只有三个非零值。余弦值会受零值位置影响。两个用户都看过《流浪地球》和《星际穿越》,但一个还看过《熊出没》,另一个看过《教父》。余弦值可能因为那个额外维度而拉低,但实际两人的品味重合度挺高。这时候用余弦就有点冤,不如用Jaccard相似度或者调整后的余弦。
回到坐标计算本身。二维情况有个速算技巧:cosθ = (x₁x₂ + y₁y₂) / √[(x₁²+y₁²)(x₂²+y₂²)]。你要是嫌开根号麻烦,可以先算cos²θ,最后再开。但注意,cos²θ会丢失符号信息——两个向量方向相反时,cosθ = -1,但cos²θ = 1。所以如果你需要知道是锐角还是钝角,老老实实保留符号。
我见过最离谱的错法,是把点积算成坐标差的平方和。a·b ≠ (x₁-x₂)² + (y₁-y₂)²,那是欧氏距离的平方。点积是“对应相乘再相加”,距离是“对应相减再平方再相加”。这俩差一个符号,结果天差地别。你算余弦值,点积算错,后面全白搭。
最后说个冷知识。余弦值的范围是[-1, 1],但如果你用整数坐标,比如a = (1, 2), b = (2, 1),算出来cosθ = 4/5 = 0.8。这个值本身没有单位,也不对应任何角度整数度数——它就是个纯数。所以当你看到cosθ = 0.8时,别试图说“角度约等于36.87度”,直接说“方向相似度0.8”更自然。毕竟,谁会在意那个无理数角度呢?
Tags:
上一篇:反骗骗子的钱犯法吗
下一篇:安全漏洞讲了什么故事
相关文章
kalilinux渗透手机
热点把Kali Linux装进U盘,插到一台Windows电脑上,重启,按住F12。三秒后你看到黑底白字的命令行——这可能是你离“破解手机”这个概念最近的一刻,也是最远的一刻。 Kali不是魔法棒。它是一 ...
【热点】
阅读更多php和web前端的区别
热点我见过太多新手把PHP和前端混为一谈,然后在面试时被问得哑口无言。有个学员甚至跟我说:“PHP不是用来写网页的吗?那它不就是前端?”这话听着像那么回事,但错得离谱。 PHP跑在服务器上,浏览器根本看不 ...
【热点】
阅读更多西宁网络公司
热点西宁的网络公司,大多挤在西门和力盟那几栋写字楼里。电梯永远不够用,中午十二点,穿卫衣的年轻人和穿工装的银行职员挤在一起,空气里全是外卖麻辣烫的味道。我认识一个做UI设计的姑娘,她在城西一家做本地生活A ...
【热点】
阅读更多