gpt4 book ai didi

python - 为什么我的感知器不能完美地分离数量少于特征数量的点?

转载 作者:行者123 更新时间:2023-12-05 07:09:03 24 4
gpt4 key购买 nike

我是机器学习的新手,我认为开始获得一些经验的好方法是使用一些真实的数据库和 python scikit 库。我使用了 haberman 的手术数据,这是一个二元分类任务,可以在 https://archive.ics.uci.edu/ml/datasets/Haberman%27s+Survival 找到。 .我使用这些数据训练了一些感知器。在某个时候,我决定展示过度拟合的概念。因此,我将所有 306 个数据点(每个数据点包含 3 个特征)映射到一个非常高的维度,得到所有项直到并包括第 11 次。这是一个巨大的 364 个特征(比 306 个数据点还要多)。然而,当我训练模型时,我并没有实现零样本误差。我认为原因应该是有些点重合并且标签不同,所以我删除了重复的数据点,但同样,我无法实现零样本误差。这是我使用 scikit 库的方法编写的代码中有趣的部分:

perceptron = Perceptron()
polynomial = preprocessing.PolynomialFeatures(11)
perceptron.fit(polynomial.fit_transform(X), Y)
print(perceptron.score(polynomial.fit_transform(X),Y))

我得到的输出仅为 0.7,准确度分数远低于我预期的 1 (100%)。我错过了什么?

最佳答案

你只有 11 个多项式特征。如果你想保证命中每一个点,你需要的多项式特征几乎与你的数据点数量一样多,甚至更多。这是因为每个附加的多项式特征都允许图形再次弯曲。

拥有一堆相同程度的特征并不能真正按照您期望的方式增加您的复杂性。例如,如果您的函数是一级函数,那么您真的不能期望它是线性的,无论类似的术语数如何。

因此,虽然您可能拥有比数据点更多的特征,但由于您没有比数据点更多的多项式特征,所以您的大部分特征都在有效地调整相同的权重。

关于python - 为什么我的感知器不能完美地分离数量少于特征数量的点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61736706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com