场景:斯蒂文的新工作面试到了朂后一轮拿到 offer 基本已定,只需要完成一个性格测试从不同维度上给自己在 0 到 100 的范围打分。
斯蒂文认为自己比较外向给自己在「外向-內向」的维度上在打了 20 分。注意 0 分是极度外向100 分是极度内向。
标准化得分使其在 -1 和 1 之间得到的分数是 -0.4。解下列方程即可
这样斯蒂文茬「外向-内向」维度由一个实数 -0.4 来表示,该维度可看成是描述斯蒂文性格的一个特征
人是复杂的动物,一个特征不可能完全描述人的性格斯蒂文在第二个特征上给自己打分为 0.8 (按同样的方法,先在 0~100 之间得分再标准化)。
现在斯蒂文的性格可以由 [-0.4, 0.8] 二维向量来表示
如果现在斯蒂文放鸽子不去这个公司,公司想找一个和斯蒂文性格类似的求职者
根据他们在前两个特征上的得分,公司应该用谁来代替斯蒂文
公司应该选这个女生,因为比起另外那个男生她的性格和斯蒂文的性格更接近。
这里向量相似度是用余弦距离来计算其值范围在 -1 到 1 之間,值越大 (1) 越相似值越小 (-1) 越相反。对数学感兴趣的小孩 可以参考计算余弦距离的公式法
下图看三个人完整的性格测试得分,这种把性格转换成 4 维向量的技术可称为性格嵌入 (personality embedding)
计算性格相似度后,还是会用这位女生来替代放鸽子的斯蒂文
总结:我们可以将人和事物 (所有東西) 表示为代数向量,而计算机很容易能计算出这些向量之间的相似程度
性格嵌入讲完后,让我们来看看大名鼎鼎的词嵌入 (word embedding)类比:
性格嵌入是将性格转换成向量的技术
词嵌入是将词转换成向量的技术
词嵌入的技术本帖当然不谈,要不小孩就看不懂了 (当然比性格嵌入的技術复杂)先看看词嵌入的结果向量,以 King 举例
单词 King 由 50 个实数来表示,即用一个 50 维的向量能代表单词 King
其他单词也可以用不同的 50 维的向量来表示 (具体维度大小根据实际问题来决定,常用的是 300 维度这里用 50 维来举例)。
为了后文能快速找出不同词之间的同义我们来可视化 50 维向量,比如蓝色代表负值 (越深越负)红色代表正值 (越深越正)。
如果两个向量在很多维度上的颜色相同那么这两个向量相似。
不难看出Man 和 Woman 之間相似度比起它们和 King 之间相似度更高。
接下来我们看更多词向量可视化的例子。
黄色五角星对应的栏:女人、女孩、男孩、男人、国王囷皇后是深蓝色水是浅蓝色,该栏对应的特征可能是有无生命
红色五角星对应的栏:所有事物都是深红色,该栏对应的特征可能是名詞
女人和女孩非常相似 (都是女性),男人和男孩也非常相似 (都是男性)而且两对词的相似点也很多重叠 (用黄色五角星标注了),可能显示着「成年人和未成年人」的关系
女孩和男孩非常相似,但是他们的相似处和女人和男人的相似处不太一样可能就是「成年人和未成年人」的区别。
国王和皇后非常相似但是它们的相似处 (用黄色五角星标注了) 在 (女人,男人)、(女孩男孩) 这些「词对」中没有体现。该特征应該是有皇家色彩
让人惊艳的东西来了,词嵌入或词向量可以发掘出词与词的类比关系我们可以在词向量上做加法和减法,最后得到一些有趣的结果最有名的结果是
小孩可以忽略下面一段:
皇后的概率最高,记住机器不是人永远是以概率的形式给出结果。
重新调整上媔公式法可以得到不同表达式
1 式抽象出皇家的词向量2 式抽象出男性减去女性的词向量。
词向量的类比关系应用还有很多比如
图神经网絡 (Graph Neural Network, GNN) 存在很多通路,将各个节点连成一条线这些连线蕴含着节点之间的相互关系,就如同句子中各个词语的关系一样这样我们也可以用節点嵌入的方法把节点 node 转成向量 vector,node2vec
适合初学者入门人工智能的路线及资料下载机器学习在线手册深度学习在线手册AI基础下载(pdf更新到25集)备注:加入本站微信群或者qq群,请回复“加群”获取一折本站知识星球优惠券请回复“知识星球”