邻居组成分析(NCA)是一种非参数方法,用于选择特征,目的是最大化回归和分类算法的预测准确性。统计和机器学习工具箱™功能FSCNCA
和FSRNCA
使用正规化执行NCA特征选择,以最大程度地限制特征权重,以最大程度地衡量训练数据上平均剩余分类或回归损失。
考虑一个包含培训集的多类分类问题n观察:
在哪里 是功能向量, 是班级标签,C是类的数量。目的是学习分类器 接受功能向量并做出预测 对于真正的标签 的 。
考虑一个随机分类器:
随机选择一个点, , 从 作为“参考点”
标签 使用参考点的标签 。
该方案类似于选择参考点作为新点的最近邻居的1-NN分类器的方案 。在NCA中,参考点是随机选择的,所有点在 有一些被选为参考点的概率。概率 这一点 从中挑选 作为参考点 如果是更高的 更接近 按距离函数测量 , 在哪里
和 是功能重量。假使,假设
在哪里 是某些内核还是相似性函数,它在 是小。假设是
如建议[1]。参考点 从中选择 ,所以 对所有人j必须等于1。因此,可以写
现在考虑此随机分类器的剩余应用,也就是说 使用数据中的数据 ,训练集 不包括要点 。该点的概率 被选为 是
正确分类的平均剩余概率是概率 随机分类器正确分类了观察一世使用 。
在哪里
使用随机分类器正确分类的平均剩余概率可以写为
右侧的
取决于体重向量
。邻里组件分析的目标是最大化
关于
。FSCNCA
使用正规化目标函数,如[1]。
在哪里 是正则化参数。正规化术语驱动了许多权重 到0。
选择内核参数后 在 AS 1,找到权重矢量 可以表示为以下最小化问题 。
在哪里F((w)= -F((w)和F一世((w)= -F一世((w)。
注意
如果您为目标函数添加常数,则最小值的论点不会改变。因此,您可以通过添加常数1来重写目标函数。
损失功能定义为
最小值的参数是权重矢量,可最大程度地减少分类误差。您可以使用损失功能
呼叫中的名称值对参数FSCNCA
。
这FSRNCA
函数执行用于回归的NCA特征选择。给出n观察
与分类问题的唯一区别是响应值 是连续的。在这种情况下,目的是预测响应 给定训练集 。
考虑一个随机回归模型:
随机选择一个点( ) 从 作为“参考点”
将响应值设置为 等于参考点的响应值 。
同样,概率 这一点 从中挑选 作为参考点 是
现在考虑此随机回归模型的剩余应用,也就是说 使用数据中的数据 ,训练集 不包括要点 。该点的概率 被选为 是
让 作为响应值,随机回归模型预测和 成为实际响应 。然后让 成为衡量分歧的损失功能 和 。然后,平均值 是
添加正则化项后,最小化的目标函数是:
默认损失功能
对于NCA进行回归是平均绝对偏差,但是您可以使用该功能指定其他损失功能,包括自定义功能损失功能
呼叫中的名称值对参数FSRNCA
。
正则化项将无关预测因子的权重得出为零。在NCA的分类或回归目标函数中,只有一个正则化参数
适用于所有权重。这个事实要求权重的大小相互匹配。当功能向量
在
处于不同的尺度,这可能导致权重不同,尺度不同且不有意义。为了避免这种情况,在应用NCA之前,将预测变量标准化为零均值和单位标准偏差。您可以使用“标准化”,正确
呼叫中的名称值对参数FSCNCA
或者FSRNCA
。
通常有必要通过在独立的测试集中计算随机NCA分类器或回归模型的准确性来选择正则化参数的值。如果使用交叉验证而不是单个测试集,请选择 值可最大程度地减少整个交叉验证折叠的平均损失。有关示例,请参见调整正则化参数以使用NCA进行分类检测特征和NCA中的调整正则化参数用于回归。
[1] Yang,W.,K。Wang,W。Zuo。“高维数据的邻域组件选择”。计算机杂志。卷。7,第1号,2012年1月。