嵌入和one-hot编码都是表示分类数据的方法,但它们在表示信息的方式上有很大不同。
One-hot编码创建一个向量,其长度与可能的类别数量相同,其中每个类别由设置为1的唯一位置表示,其他所有位置均设置为0。例如,在三类系统 (“猫”,“狗”,“鸟”) 中,单词 “狗” 可能表示为 [0,1,0]。one-hot编码的缺点是它导致稀疏向量,并且它不捕获类别之间的任何语义关系。
另一方面,嵌入将类别表示为密集的低维向量。例如,在单词嵌入中,具有相似含义的单词被映射到向量空间中的附近点,因此可以捕获类似相似性或类比的关系。嵌入是通过优化向量空间的模型来学习的,以保留这些关系,使它们在聚类、搜索和分类等任务中更强大。