邻域成分分析(NCA)特征选择
邻域成分分析(NCA)是一种以最大化回归和分类算法预测精度为目标的特征选择的非参数方法。统计和机器学习工具箱™功能fscnca
而且fsrnca
使用正则化进行NCA特征选择,以学习特征权重,以最小化目标函数,该目标函数测量训练数据的平均遗漏分类或回归损失。
分类的NCA特征选择
考虑一个多类分类问题,其训练集包含n观察:
在哪里 是特征向量, 类标签,和c是类的数量。目标是学习一个分类器 它接受一个特征向量并做出预测 为了真正的标签 的 .
考虑一个随机分类器,它是:
随机选一个点, ,从 作为“参考点”
标签 使用参考点的标签 .
该方案类似于1-NN分类器,其中参考点被选择为新点的最近邻居 .在NCA中,参考点是随机选择的,所有的点都在 有一定概率被选为参考点。的概率 这一点 是从 作为参考点 如果更高 更接近于 通过距离函数来测量 ,在那里
而且 是特征权重。假设
在哪里 是某个核函数或相似函数假设较大的值时 很小。假设它是
如在[1].的参考点 是从 的和 对所有j必须等于1。因此,写是可能的
现在考虑这个随机分类器的省略应用,即预测的标签 使用的数据 ,训练集 不包括这个点 .这个点的概率 被选为参考点 是
正确分类的平均漏出概率为概率 随机分类器正确地对观察结果进行分类我使用 .
在哪里
使用随机化分类器进行正确分类的平均遗漏一次概率可以写成
的右边
取决于权重向量
.邻域成分分析的目标是最大化
关于
.fscnca
采用中所介绍的正则化目标函数[1].
在哪里 是正则化参数。正则化项驱动了许多权重 为0。
选择内核参数后 在 作为1,求权向量 可以表示为以下最小化问题对于给定 .
在哪里f(w) = -F(w)而且f我(w) = -F我(w).
请注意,
最小值的参数不会改变如果你给目标函数加上一个常数。因此,您可以通过添加常数1来重写目标函数。
其中损失函数定义为
最小值的参数是使分类误差最小的权重向量。属性指定自定义损失函数LossFunction
调用中的名称-值对参数fscnca
.
回归的NCA特征选择
的fsrnca
函数执行修正后的回归NCA特征选择。鉴于n观察
与分类问题的唯一区别是响应值 是连续的。在这种情况下,目标是预测反应 给定训练集 .
考虑一个随机回归模型:
随机选取一个点( ) 作为“参考点”
设置响应值为 等于参考点的响应值 .
同样,概率 这一点 是从 作为参考点 是
现在考虑这个随机回归模型的省略应用,即预测的响应 使用的数据 ,训练集 不包括这个点 .这个点的概率 被选为参考点 是
让 为随机回归模型预测的响应值 是实际的回应 .,让 是一个损失函数,用来衡量之间的不一致 而且 .的平均值 是
加入正则化项后,最小化目标函数为:
默认损失函数
为平均绝对偏差,但您可以指定其他损失函数,包括自定义损失函数,使用LossFunction
调用中的名称-值对参数fsrnca
.
标准化的影响
正则化项将不相关的预测因子的权重导出为零。在用于分类或回归的NCA目标函数中,只有一个正则化参数
对于所有的权重。这一事实要求权重的大小彼此可比较。当特征向量
在
在不同的尺度上,这可能会导致权重在不同的尺度上,没有意义。为了避免这种情况,在应用NCA之前,将预测因子标准化为零均值和单位标准差。方法可以对预测器进行标准化“标准化”,真的
调用中的名称-值对参数fscnca
或fsrnca
.
选择正则化参数值
通常需要通过计算随机NCA分类器或回归模型在独立测试集上的精度来选择正则化参数的值。如果使用交叉验证而不是单个测试集,请选择 值,使交叉验证折叠的平均损失最小化。有关示例,请参见调整正则化参数,使用NCA进行分类而且调整回归NCA中的正则化参数.
参考文献
[1]杨伟,王坤,左伟。高维数据的邻域成分特征选择。计算机杂志。2012年1月,第七卷第1期。
另请参阅
fscnca
|fsrnca
|FeatureSelectionNCAClassification
|FeatureSelectionNCARegression