谱回归判别分析(SRDA)不仅可以作为高效的分类器,还能作为强大的线性降维工具使用。它通过求解正则化回归问题得到判别投影矩阵,将高维数据映射到低维子空间中,通常降到类别数c-1维,最大化类间分离的同时压缩类内差异。在实际应用中,我们常常需要对新数据(测试集或未标记数据)进行相同的降维变换,本文要介绍的这个函数正是实现这一功能的轻量级测试工具。
函数功能概述
该函数的作用非常专注:使用训练好的SRDA模型,将输入数据投影到学习到的判别子空间中,得到降维后的表示。
输入:
fea:待降维的数据矩阵,每行代表一个样本。model:由SRDA训练函数生成的模型结构体,包含投影矩阵等关键信息。
输出:
feaNew:降维后的数据矩阵(或cell数组,取决于模型类型)。
输出数据的维度通常为样本数 × (c-1),其中c为训练时的类别数,这正是线性判别分析的理论上限。
代码逻辑详解
函数实现极其简洁,但考虑了实际使用中的两种常见情况:
1. 普通模式(非稀疏)
当训练时使用Ridge正则化或其他非Lasso方式时,模型中只有一个投影矩阵m