AI中的数学-特征提取

一、概念

在人工智能中,特征(feature)是指从原始数据中提取出的、能够代表数据关键信息并用于模型训练的属性或变量。特征通常是对原始数据的抽象或转换,目的是捕捉数据中的模式、结构或相关性,从而帮助机器学习模型更有效地学习和预测。简单来说,特征是原始数据经过提炼后的结果,能够突出对任务有用的信息,同时去除冗余或无关的部分。

特征与原始数据的区别:

  • 原始数据:是指直接从数据源获取的未经处理的数据,例如图像的像素值、音频的波形、文本的原始字符等。原始数据往往包含大量冗余或噪声,直接使用可能导致模型训练效率低下或性能不佳。
  • 特征:是从原始数据中经过处理、提取或转换后得到的更具代表性的数据。特征通常是原始数据的子集或高级表示,能够更直接地反映数据的关键属性,帮助模型更好地理解和学习。

特征是对原始数据的“精炼”,旨在减少数据维度、去除噪声并增强模型的泛化能力,而原始数据则是未经加工的“原材料”。

二、主成分分析PCA

主成分分析(PCA-Principal Component Analysis)是数据科学的基石工具。主成分分析(PCA)是一种典型的特征提取方法。它的核心目标是通过线性变换将高维数据转换为低维表示,同时保留数据中的主要变化方向(即方差最大的方向)。其本质是寻找数据中的“隐藏坐标系”,通过正交变换将原始变量转换为互不相关的主成分。

关键思想:

  • 方差最大化:主成分方向是数据投影方差最大的方向
  • 正交性:各主成分之间互不相关(协方差为0)
  • 信息保留:前k个主成分需保留原始数据85%-95%的信息量

举个例子:分析学生成绩(语数外物化)时,PCA可能提取出“理科能力”和“文科能力”两个主成分,用二维数据代替五维数据,同时保留核心信息。

三、开发框架

PCA开发样例:

from sklearn.decomposition import PCA
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris

# 加载数据
iris = load_iris()
X, y = iris.data, iris.target

# PCA降维
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X)

# 可视化
plt.scatter(X_pca[:,0], X_pca[:,1], c=y, edgecolor='k')
plt.xlabel(f'PC1 ({pca.explained_variance_ratio_[0]:.1%})')
plt.ylabel(f'PC2 ({pca.explained_variance_ratio_[1]:.1%})')
plt.title('鸢尾花数据集PCA降维')
plt.show()

结果解读:PC1和PC2累计贡献率达95.8%,二维空间即可清晰区分三类鸢尾花。

四、引用资料

发表评论