李航《统计学习方法》第三章 k 近邻 python 实现(CIFAR10 数据集)

本贴最后更新于 1456 天前,其中的信息可能已经时移世易

KNN 简述

k 近邻法简单、直观,顾名思义即是对输入新样本在训练集中寻找 k 个特征最相似的样本,再根据这 k 个样本的标签通过多数表决等方式来预测新样本的类别。因此,k 近邻不具有显示的学习过程。k 近邻每次预测都需要在整个训练集查找 k 个最近样本,实现查找最简单的方法是线性扫描,书中还讲述了一种相对高效的实现方法 kd 树能够使查找实现在O(logn)时间量级,但由于时间限制本文只采取最简单的线性扫描。k 值的选择、距离度量及分类决策规则是 k 近邻法的三要素。

代码链接:https://github.com/923012373/lihang_statistic_learning

数据集介绍

CIFAR10 数据集,由 10 个类的 60000 个 32*32 三通道图片组成,每个类有 6000 张图像,有 50000 个训练样本和 10000 个测试样本。

实验部分

取 k 值为 1,距离度量为L_1距离,训练集测试集各 10000,最后测试正确率为 21.7%,这比随机 10% 的效果要好了。

image.png

  • K近邻
    1 引用
  • 机器学习

    机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

    76 引用 • 37 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...