8.10 特征学习
特征的好坏直接影响学习的结果,对于有冗余、噪音特征的数据,特征选择能够简化后续学习模型的复杂度,减少模型运行时间,提高模型精确度。然而特征选择问题不仅是一个 NP 难的优化问题,而且还是一个双目标优化问题:选择尽可能少的特征,同时使学习结果的性能指标尽可能好,可形式化如
其中,x 是表示每一维特征是否选择的 0/1 向量;f(x) 为特征的性能指标; 表示选择特征的数量。如果将该优化转换为通常的单目标优化,如,不仅涉及特征个数的目标往往较为复杂,而且如何为特征选择的两个目标选取合适的权重系数也是一个难点。演化算法对于多目标优化问题的适应性,使其可以直接用于处理双目标特征选择问题,而不需要在两个目标之间选择合适的加权系数。因此,多目标演化算法(如 NPGA、NSGA、ELSA 等)已被广泛用于求解该任务,并取得不错性能[4] 。
另一类特征学习任务是特征抽取,当数据的特征语意层次较低时,往往需要抽取出语意信息更加明确的特征。神经网络是常用的一种特征抽取方法,其训练目标除了最小化错误率,往往还需要保持隐含层神经元的稀疏性。以往方法常将这两项带权相加转化成一个单目标优化问题求解,然而,当网络和数据规模很大时,选取合适的权重系数变得极其耗时。文献 [5] 基于自编码神经网络(autoencoder),将其训练过程刻画成一个显式的二目标优化问题:
其中,第 1 项代表重构误差;第 2 项采用范数代表神经元的稀疏度。该方法基于多目标演化优化算法MOEA/D 算法[6]对该二目标优化问题进行求解,求得一组帕累托最优解后,最终挑选位于帕累托面拐点区域的一个解作为输出[7] ,在手写字体和自然图像数据上的实验结果表明,该方法可以获得有效的稀疏特征表示。