为了将离散数据连续化,上篇文章提到embedding方法,就是说将每个离散值表示为一个向量v,这样向量之间就有距离等运算关系了。
embedding方法,是通过衡量任意离散样本(i,j)两两之间的关系,转化为vi.vj的距离信息来映射的。
但是实际样本(i,j,k..)中,不仅存在两两关系,而是一个巨复杂的P(i,j,k..)纠缠。embedding方法通过词袋或skip-gram强制转化为两两样本,就强行忽略了多多关系,举个例子:单纯看电阻r和其电流i之间,没有关系,加上电压U之后,才有U=ir强关系。
因此,为了更好的表征离散值,就要从i-->vi,升级为更强的(i,j,k..)-- encoder-->feature表象。也就是说训练一个encoder编码器,把离散样本(i,j,k..)编码为特征空间连续值Fijk。
encoder生成的方法,当然也是给他个预测任务,任务完成了,encoder也就得到了。
NLP上的BERT架构的语言模型任务就是,给定文本T,在其中随机mask遮掉少量词,叫你根据M(T)预测被遮掉的词。具体参见这里和这里。
其实广义的讲,不仅是离散数据,任何数据都可以用这个方式encoding得到feature特征值。