477 字
2 分钟
升维与降维

升维与降维#

1. 欠拟合与过拟合#


2. 升维(特征扩展)#

目的:解决欠拟合,让线性模型拟合非线性关系。

方法:添加多项式特征

x1,x2x1,x2,x12,x22,x1x2x_1, x_2 \to x_1, x_2, x_1^2, x_2^2, x_1x_2

from sklearn.preprocessing import PolynomialFeatures
poly = PolynomialFeatures(degree=2)
X_poly = poly.fit_transform(X) # 自动生成高次特征

注意:升维会增加过拟合风险,通常需配合正则化使用。


3. 降维#

目的:减少特征数量,缓解过拟合、降低计算成本、消除冗余。

主成分分析 (PCA)1#

将高维数据投影到方差最大的方向,保留最重要的信息。

from sklearn.decomposition import PCA
pca = PCA(n_components=2) # 降到2维
X_reduced = pca.fit_transform(X)
print("方差解释比:", pca.explained_variance_ratio_)
方法原理适用场景
PCA线性投影,最大化方差数值型特征,去相关性
t-SNE2非线性,保留局部结构可视化高维数据
特征选择删除低重要性特征有明确业务含义时
[[01_回归与分类#5. LDA(线性判别分析)对比LDA]]

升维会增加过拟合风险,通常需要配合正则化(惩罚项、Early Stopping 等)使用,详见 正则化与归一化

Footnotes#

  1. PCA(主成分分析):把高维数据”压扁”到低维的技术。核心思想是找到数据变化最大的方向(主成分),把数据投影过去,用更少的维度保留尽可能多的信息。就像把一个三维物体拍成二维照片,选最能体现形状的角度拍。

  2. t-SNE:一种专门用于可视化的非线性降维算法。它会尽量把原本在高维空间里”相近”的点,在二维/三维图上也画得相近。常用于把几百维的词向量或图像特征可视化成散点图,直观看出聚类结构。注意:t-SNE 结果不适合用于后续建模,仅供可视化。