《数据挖掘:概念、模型、方法和算法》习题解答

第2章 数据准备

习题2.3 解释为什么在对大型数据集的理解中,“维数灾”法则特别重要?

解:curse of dimensionality

只有一个特征时,假设特征空间是长度为5的线段,则样本密度是10/5=2。有两个特征时,特征空间大小是5*5=25,样本密度是10/25=0.4。有三个特征时,特征空间大小是5*5*5=125,样本密度是10/125=0.08。如果继续增加特征数量,样本密度会更加稀疏,也就更容易找到一个超平面将训练样本分开。因为随着特征数量趋向于无限大,样本密度非常稀疏,训练样本被分错的可能性趋向于零。

当我们将高维空间的分类结果映射到低维空间时,一个严重的问题出现了:将三维特征空间映射到二维特征空间后的结果。尽管在高维特征空间时训练样本线性可分,但是映射到低维空间后,结果正好相反。事实上,增加特征数量使得高维空间线性可分,相当于在低维空间内训练一个复杂的非线性分类器。不过,这个非线性分类器太过“聪明”,仅仅学到了一些特例。如果将其用来辨别那些未曾出现在训练样本中的测试样本时,通常结果不太理想。这其实就是我们在机器学习中学过的过拟合问题。只采用2个特征的线性分类器分错了一些训练样本,准确率似乎没有3个特征的切面概率的高,但是,采用2个特征的线性分类器的泛化能力比采用3个特征的线性分类器要强。因为,采用2个特征的线性分类器学习到的不只是特例,而是一个整体趋势,对于那些未曾出现过的样本也可以比较好地辨别开来。换句话说,通过减少特征数量,可以避免出现过拟合问题,从而避免“维数灾难”。假设只有一个特征时,特征的值域是0到1,每一只猫和狗的特征值都是唯一的。如果我们希望训练样本覆盖特征值值域的20%,那么就需要猫和狗总数的20%。我们增加一个特征后,为了继续覆盖特征值值域的20%就需要猫和狗总数的45%(0.45^2=0.2)。继续增加一个特征后,需要猫和狗总数的58%(0.58^3=0.2)。随着特征数量的增加,为了覆盖特征值值域的20%,就需要更多的训练样本。如果没有足够的训练样本,就可能会出现过拟合问题。

通过上述例子,我们可以看到特征数量越多,训练样本就会越稀疏,分类器的参数估计就会越不准确,更加容易出现过拟合问题。“维数灾难”的另一个影响是训练样本的稀疏性并不是均匀分布的。处于中心位置的训练样本比四周的训练样本更加稀疏(如何证明?)。

理论上,如果训练样本的数量无限大,那么就不会存在“维数灾难”,我们可以采用任意多的特征来训练分类器。事实上,训练样本的数量是有限的,所以不应该采用过多的特征。此外,那些需要精确的非线性决策边界的分类器,比如neural network,knn,decision trees等的泛化能力往往并不是很好,更容易发生过拟合问题。因此,在设计这些分类器时应当慎重考虑特征的数量。相反,那些泛化能力较好的分类器,比如naive Bayesian,linear classifier等,可以适当增加特征的数量。

引用自:https://www.cnblogs.com/datahunter/p/3808252.html?utm_source=tuicool&utm_medium=referral

习题2.4 在六维样本中,每个属性的值都取3个数值{0,0.5,1}中的一个。如果存在属性值取所有可能组合的样本,那么数据集中的样本数是多少?在六维空间中点之间的期望距离是多大?

解:

1)样本数:3*3*3 = 27。

2)n维度空间点之间的期望距离是 D(d, n) = 1/2(1/n)^1/d

六维空间点之间的期望距离为D(6,27)=1/2(1/27)^1/6=0.288675

习题2.5 推出数据在[-1,1]区间上的最小-最大标准化公式。

解:

你可能感兴趣的:(《数据挖掘:概念、模型、方法和算法》习题解答)