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

浪里个浪 划船不用桨,人生全靠浪 本文由博客端 https://www.hailangjiang.top 主动推送

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

    60 引用 • 28 回帖

赞助商 我要投放

回帖
请输入回帖内容 ...