在机器学习及数据挖掘领域中,数据集中的每个样本通常用一行数据来表示,其中每个数据表示某种特征的具体表现,所有数据样本会构成一个矩阵。一般情况下,会遇到其中含有多种类型的数据,比如数值型,布尔类型,类别型,序列型等,也会遇到其中包含缺失值的情形。
现在处理的矩阵一般都是非常高维度的,直接对其处理计算复杂度较高,也不能发现其中隐含的特征。对于全数值类型的矩阵,可以利用主成分分析(PCA)将其将至低维空间中,对PCA加以扩展,即可将其用于缺失值填补。
最近由斯坦福大学学者提出的泛化低秩模型(generalized low rank model, GLRM),可以看作PCA的一种扩展,跟PCA类似,它可以将原矩阵分解成两个低秩矩阵的乘积,基于最小化近似误差来逼近原矩阵。如果数据矩阵中包含多种类型的数据,数值,布尔,类别,序列等,对于PCA,则需要将布尔类型的数据转化为1,-1,类别类型的数据则需要利用one-hot encoding 将其变换为数值类型,序列类型的可以利用连续整数来替换,进而可以直接利用PCA。而GLRM就可以避免这个变换的过程。
PCA的求解可以借助于奇异值分解得到,并且它的解集是无界的。而加入平方正则约束之后,它的解集是有界的。 值得注意的是,PCA之前需要对原始特征进行归一化,即对每个特征都减去均值然后除以标准差。
泛化低秩模型的目标函数基于PCA的目标函数进行了泛化,针对不同类型的特征,其损失函数是不一样的,具体示例如下:
施加不同的正则项可以得到不同的模型,下面是几种正则项的示例。
通过选择不同的目标函数可以得到不同的泛化低秩模型,GLRM涵盖了非负矩阵分解,矩阵填补,稀疏鲁棒PCA,K-Means,k-SVD以及最大间隔矩阵分解等。它可以用于压缩,去噪以及填补缺失值等任务。
[参考资料]
[1] https://web.stanford.edu/~boyd/papers/pdf/glrm.pdf
[2] https://people.orie.cornell.edu/mru8/doc/udell15_glrm_slides.pdf