机器怎样同时记住一个对象的许多特点?
只用一个数,可以记录体重,却记不住身高、速度和年龄。机器学习常把一个对象的多个特征按固定顺序排起来,组成向量。
一只动物
它有体重、身高、奔跑速度等许多特征。
一条向量
约定第 1 个数是千克,第 2 个数是厘米,就能交给模型计算。
向量解决的四个问题
- 能区分向量、分量、维数和标量
- 能计算加减、数乘和内积
- 能计算向量长度与余弦相似度
- 能解释向量为什么能用于推荐和搜索
向量既是一列数,也可以画成一支有方向的箭头
a=(3,2) 有两个分量,所以是二维向量。第一个分量表示横向走 3 格,第二个分量表示纵向走 2 格。
向量运算:对应位置和对应位置计算
只有含义相同、维数相同的向量才适合直接相加减。例如两天的运动量可以合计,但“身高向量”和“天气向量”不能因为都有两个数就硬加。
每一列各自相加。
终点减起点可得到位移。
每个分量都乘同一个标量。
内积:对应分量相乘,再把乘积全部相加
内积把两个同维向量压成一个标量。它既能衡量方向的配合程度,也是神经元给输入特征“加权打分”的核心。
两个向量在相同方向上互相支持。
方向不偏向彼此,二维中夹角为 90°。
一个方向与另一个相冲突。
机器学习例子:神经元怎样给特征打分
如果输入特征 x=(睡眠时长, 复习时长)=(8,2),权重 w=(0.4,1.5),那么:
权重表示模型目前认为每个特征有多重要。内积把“每项特征 × 对应重要程度”汇总成一个分数。
向量长度:从原点走到箭头终点有多远
二维向量 a=(3,4) 形成一个直角三角形。利用勾股定理,箭头长度是 5。
勾股定理
|(3,4)|=√(3²+4²)=√25=5
余弦相似度:不比“力气大小”,只比“朝向像不像”
内积会同时受到长度和方向影响。若只想比较两份兴趣比例是否相似,就用两个长度把内积标准化。
特征比例完全一致,即使整体大小不同。
两种特征组合没有同向成分。
方向完全相反。
拖动两个箭头,同时观察内积、长度与相似度
试试三个预设:同向、垂直、反向。再把一个箭头缩短但保持方向,观察余弦相似度是否改变。
从动物特征到兴趣推荐:坐标轴可以换成任何特征
例 1:体重与身高——距离适合找“整体接近”
猫 A 是 (4 千克, 30 厘米),动物 B 是 (5 千克, 32 厘米)。它们的差向量为 (1,2),平面距离是 √5≈2.24。这回答“两个动物在原始数值上离多远”。
例 2:三门兴趣——余弦适合找“比例相像”
按“运动、音乐、绘画”排序,学生 A、B、C 的兴趣向量如下。我们想找与 A 兴趣方向最接近的人。
学生 A
(60,30,80)作为要寻找伙伴的学生。
学生 B
(20,80,40)与 A 的余弦相似度约 0.711。
学生 C
(70,20,70)与 A 的余弦相似度约 0.986。
向量在机器学习里到底做什么?
神经网络输入
一名学生的睡眠、练习、出勤组成向量 x,神经元用 w·x+b 汇总特征。
搜索与推荐
把文章和查询都变成向量,余弦相似度高的文章排得更靠前;用户和商品也可以这样匹配。
聚类与近邻
用距离找数值位置接近的对象,用余弦找方向比例相近的对象,再进行分组或分类。
把一章浓缩成四张卡片
知识检测:选择后立即告诉你薄弱点
答错并不可怕。页面会指出没掌握的知识点,并把你带回对应讲解;改对后仍保留首次薄弱点,便于复习。
余弦相似度比较的是方向,不是箭头有多长
把橙色箭头拉长,它与蓝色箭头之间的夹角没有改变,因此方向相似度也没有改变。
读图顺序
先把两个向量放到同一个起点,才能直观看方向关系。
夹角越小,两个向量所表达的方向越相似。
余弦相似度会消除长度影响,适合比较兴趣和文本方向。