文本表示、距离与归一化:练习答案
参考实现
独立运行,使用已归一化的简单向量。
python
q = [1., 0.]
xs = [[1., 0.], [0., 1.], [-1., 0.]]
for x in xs:
cos = sum(a*b for a,b in zip(q,x))
distance = sum((a-b)**2 for a,b in zip(q,x))
assert abs(distance - (2-2*cos)) < 1e-12
print('unit-vector identity passed')零向量不能归一化,也没有余弦角度;应该记录编码失败或用明确的备用召回,不把它任意设为满分。
返回题目。