机器学习算法—KNN算法原理及阿里云PAI平台算法模块参数说明

简介: 阿里云PAI平台提供了大量已经封装完成可以直接使用的机器学习算法模块,本文说明KNN算法的原理并在原理的基础上说明PAI平台KNN模块中参数设置的意义,根据原理介绍算法的优点和缺点

概述:

KNN算法一般也会经常被称为K邻近算法,其核心思想是根据训练集中的样本分类计算测试集中样本与训练集中所有样本的距离,根据所设定的K值选取前K个测试样本与训练样本最近的结果,结果中大多数训练样本所处在的类别即是本测试样本的类别。因训练样本的分类结果为已知因此KNN算法属于有监督学习算法。

算法原理:

1、以下图样本散点图展示训练集的整体分布情况
image.png
从散点图中可以发现训练集的数据分类数量为3个类别,分别为蓝色类别、红色类别和黄色类别,训练样本总数为15个。
2、导入第一个测试样本
image.png
3、需要根据已知的训练样本分类结果判断测试样本的类别,因此计算测试样本与所有训练样本的距离
image.png
因训练样本数量为15,所以计算完成的距离参数为15个。
4、K值是KNN算法中唯一需要设定的参数,假定K值为3则在15个距离参数中选择最近的3个
image.png
统计3个距离中大部分训练样本所处的分类即为本测试样本的分类,本次分类中距离最近的3个训练样本有2个属于红色类别,因此本测试样本被分类为红色
image.png
5、对下一个测试样本以相同方式进行距离计算和分类
image.png

注意事项:

1、K的取值尽量为奇数以确保距离计算结果必定会有一个K个距离中包括较多的类别,比如例子中取3,则3个中有2个训练样本为红色类别以此判断测试样本属于红色类别。如K取4产生下图中的情况
image.png
4个距离参数中,2个训练样本为红色类别,2个训练样本为蓝色类别,会对预测产生不利效果
2、K取值过小时,较容易受噪声影响而导致误分类
image.png
如图中黄色类别中有一个异常数据,如果K取值为1,则测试样本因与此异常数据距离最近,而被分类为黄色类别,从散点图中可以看到,如K为3以上,则应被分类为红色类别,因此K取值过小容易导致由过拟合而引起的误分类。
3、K取值过大时,较容易受距离较远训练样本影响而导致由欠拟合产生的误分类,极端情况下,本文的例子中如果K取值为15,则代表蓝、黄、红,哪个类别的点多测试样本就被分类为哪个样本,因此K不能等于N。

算法的使用场景:

1、适合用于类别间差异较大,同类别间数据差异较小的场景
2、对于类别间的界限不清晰的场景,效果好于基于线性分类的逻辑回归
3、单个测试样本计算都需要计算与训练集中所有训练样本的距离,在数据量较大时会占用非常多的计算力并增加计算时间
4、对于各个类别中数据数量差异较大的场景效果较差,特别在K取值又较大时,占数量优势的类别对于结果的影响非常明显

阿里云PAI平台算法模块及参数设置说明:

image.png
trainTableName:训练表的表名
trainFeatureColNames:训练表中的特征列名,即训练表是根据哪些特征来进行分类的
trainLabelColName:训练表中标签列的列名,即训练表中的分类结果
trainTablePartitions:训练表中指定哪些分区
predictTableName:预测表的表名
outputTableName:输出表的表名
predictFeatureColNames:预测表中特征列名 ,默认与trainFeatureColNames相同,如果数据预处理做得较好,训练集和测试集中的特征列名本来就是应该相同的
predictTablePartitions:预测表中指定哪些分区参与预测,默认为所有partitions
appendColNames:输出表中附加预测表的列名,默认与predictFeatureColNames相同
outputTablePartition:输出表分区,默认输出表不分区
K:是整个算法中唯一需要选择的参数,在模块中为可选项因为K的取值模块中默认为100,最适合的K值需要根据预测结果来进行确定
enableSparse:输入表数据是否为稀疏格式
itemDelimiter:当输入表数据为稀疏格式时,kv间的分割符,默认值为空格
kvDelimiter:当输入表数据为稀疏格式时,key和value的分割符,默认值冒号
coreNum:节点个数,与参数memSizePerCore配对使用,默认自动计算
memSizePerCore :单个节点内存大小,单位为MB 正整数,默认自动计算
lifecycle:指定输出表的生命周期

相关实践学习
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
目录
相关文章
|
机器学习/深度学习 算法 Python
机器学习特征筛选:向后淘汰法原理与Python实现
向后淘汰法(Backward Elimination)是机器学习中一种重要的特征选择技术,通过系统性地移除对模型贡献较小的特征,以提高模型性能和可解释性。该方法从完整特征集出发,逐步剔除不重要的特征,最终保留最具影响力的变量子集。其优势包括提升模型简洁性和性能,减少过拟合,降低计算复杂度。然而,该方法在高维特征空间中计算成本较高,且可能陷入局部最优解。适用于线性回归、逻辑回归等统计学习模型。
680 7
|
人工智能 调度 芯片
PAI训练服务:云上大模型训练新篇章
本文介绍了通用AI时代下的新训练方法及PAI平台的优化。随着大模型时代的到来,算力需求激增,硬件和网络通信成为瓶颈。PAI平台通过自动容错、3D健康检测等技术确保训练稳定性;通过资源配额、智能调度等提高性价比;并推出PAI-TorchAcc和PAI-ChatLearn两大引擎,分别实现高效训练加速和灵活的对齐训练,显著提升训练性能与效果。这些改进解决了大规模AI训练中的关键问题,提升了效率和稳定性。
|
机器学习/深度学习 数据采集 分布式计算
大数据分析中的机器学习基础:从原理到实践
大数据分析中的机器学习基础:从原理到实践
902 3
|
人工智能 JSON 算法
魔搭支持在阿里云人工智能平台PAI上进行模型训练、部署了!
现在,魔搭上的众多模型支持在阿里云人工智能平台PAI-Model Gallery上使用阿里云算力资源进行模型训练和部署啦!
1336 22
|
机器学习/深度学习 人工智能 自然语言处理
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024
阿里云人工智能平台 PAI 团队发表的图像编辑算法论文在 MM2024 上正式亮相发表。ACM MM(ACM国际多媒体会议)是国际多媒体领域的顶级会议,旨在为研究人员、工程师和行业专家提供一个交流平台,以展示在多媒体领域的最新研究成果、技术进展和应用案例。其主题涵盖了图像处理、视频分析、音频处理、社交媒体和多媒体系统等广泛领域。此次入选标志着阿里云人工智能平台 PAI 在图像编辑算法方面的研究获得了学术界的充分认可。
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024
|
算法
PAI下面的gbdt、xgboost、ps-smart 算法如何优化?
设置gbdt 、xgboost等算法的样本和特征的采样率
840 2
|
人工智能 编解码 算法
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
848 0
|
机器学习/深度学习 存储 运维
分布式机器学习系统:设计原理、优化策略与实践经验
本文详细探讨了分布式机器学习系统的发展现状与挑战,重点分析了数据并行、模型并行等核心训练范式,以及参数服务器、优化器等关键组件的设计与实现。文章还深入讨论了混合精度训练、梯度累积、ZeRO优化器等高级特性,旨在提供一套全面的技术解决方案,以应对超大规模模型训练中的计算、存储及通信挑战。
1101 4
|
机器学习/深度学习 计算机视觉 Python
模型预测笔记(三):通过交叉验证网格搜索机器学习的最优参数
本文介绍了网格搜索(Grid Search)在机器学习中用于优化模型超参数的方法,包括定义超参数范围、创建参数网格、选择评估指标、构建模型和交叉验证策略、执行网格搜索、选择最佳超参数组合,并使用这些参数重新训练模型。文中还讨论了GridSearchCV的参数和不同机器学习问题适用的评分指标。最后提供了使用决策树分类器进行网格搜索的Python代码示例。
2527 1
|
机器学习/深度学习 算法 知识图谱
【机器学习】逻辑回归原理(极大似然估计,逻辑函数Sigmod函数模型详解!!!)
【机器学习】逻辑回归原理(极大似然估计,逻辑函数Sigmod函数模型详解!!!)

热门文章

最新文章