one-hot编码
中文名叫独热编码、一位有效编码。方法是使用N位状态寄存器来对N个状态进行编码,每个状态都有其独立的寄存器位,并且任意时刻,有且仅有一个状态位是有效的。比如,手写数字识别,数字为0-9共10个,那么每个数字的one-hot编码为10位,数字i的第i位为1,其余为0,如数字2的one-hot表示为:[0,0,1,0,0,0,0,0,0,0]。
one-hot在提取文本特征上的应用
one-hot在特征提取上属于词袋模型(bags of words)
假设语料库有这么三段话:
“我爱中国”
“爸爸妈妈爱我”
“爸爸妈妈爱中国”
对语料库分词并进行编号(字典形式)
{1:我,2:爱,3:爸爸,4:妈妈,5:中国}
对每段话用one-hot提取特征向量
则三段话由one-hot表示为:
我爱中国 ->[1,1,0,0,1]
爸爸妈妈爱我 ->[1,1,1,1,0]
爸爸妈妈爱中国 ->[0,1,1,1,1]
优点:可以将数据用one-hot进行离散化,在一定程度上起到了扩充特征的作用
缺点:没有考虑词与词之间的顺序,并且假设词与词之间相互独立,得到的特征是离散稀疏的(如果365天用one-hot,就是365维,会很稀疏),例如,在这样的编码格式下,“爸爸妈妈爱我”和“我爱爸爸妈妈”被认为是一样的。
文章来源: https://blog.csdn.net/qq_43908182/article/details/92003406