在许多无监督或半监督特征学习框架中(如稀疏概念编码SCC、非负矩阵分解等),我们常常先学习到一个固定的基矩阵U(也称为字典或概念基),然后需要为大量数据样本快速计算其在该基下的稀疏表示。这一步称为“固定基下的稀疏编码”,本质上是求解多个独立的L1正则化最小二乘问题(LASSO)。
今天要介绍的这个函数SparseCodingwithBasis,正是这样一个高效、通用的稀疏编码工具。它支持两种主流的LASSO求解器:LARs(Least Angle Regression,最小角回归)和SLEP(Sparse Learning with Efficient Projections),并能灵活处理不同稀疏度需求,非常适合作为字典学习算法的编码阶段或测试阶段特征提取模块。
核心功能与设计亮点
两种求解模式:
SLEP模式(默认):调用高效的LeastR函数,通过设置L1正则化参数ReguAlpha(默认0.05,相对比例模式),一次性为所有样本求得稀疏系数。速度快、内存占用低,适合大规模数据。
LARs模式:使用经典的lars算法,能够沿正则化路径高效计算从稀疏到稠密的全部解。特别适合需要探索不同稀疏度(即非零元素个数,cardinality)的情况。
多稀疏度输出:
在LARs模式下,用户可通过Cardi参数指定多个目标基数(如10:10:5