机器学习中的数据降维与模型评估实践
1. 投影新数据点
在之前KPCA的两个示例应用(半月形和同心圆)中,我们将单个数据集投影到了新特征上。但在实际应用中,可能会有多个数据集需要转换,如训练数据和测试数据,以及模型构建和评估后收集的新示例。接下来将学习如何投影不属于训练数据集的数据点。
1.1 投影原理
回顾标准PCA方法,我们通过计算变换矩阵和输入示例之间的点积来投影数据,投影矩阵的列是从协方差矩阵获得的前k个特征向量(v)。而KPCA中,我们获得的是中心核矩阵(而非协方差矩阵)的特征向量(a),这意味着这些示例已经投影到主成分轴v上。若要将新示例$x’$投影到该主成分轴上,需计算$\phi(x’)^T v$。
1.2 计算RBF核相似度
要计算训练数据集中每个第i个示例与新示例$x’$之间的成对RBF核(相似度):
$\phi(x’)^T v = \sum_{i} a(i) \phi(x’)^T \phi(x(i)) = \sum_{i} a(i) \kappa(x’, x(i))$
其中,核矩阵K的特征向量a和特征值$\lambda$满足$K a = \lambda a$。计算新示例与训练数据集中示例的相似度后,需用特征值对特征向量a进行归一化。以下是修改后的 rbf_kernel_pca 函数,它还会返回核矩阵的特征值:
from scipy.spatial.distance import pdist, squareform
from scipy import exp
from sci
超级会员免费看
订阅专栏 解锁全文
1067

被折叠的 条评论
为什么被折叠?



