您现在所在位置: 首页 > 电动牙刷

人工智能之K近邻算法(KNN)【亚博app安全有保障】

亚博APP

亚博app安全有保障:人工智能机器学习有关算法内容,请求参看公众号“科技优化生活”之前涉及文章。人工智能之机器学习主要有三大类:1)分类;2)重返;3)聚类。

今天我们重点探究一下K邻接(KNN)算法。K邻接KNN(k-NearestNeighbor)算法,也叫K最近邻算法,1968年由Cover和Hart明确提出,是机器学习算法中较为成熟期的算法之一。

K邻接算法用于的模型实质上对应于对特征空间的区分。KNN算法不仅可以用作分类,还可以用作重返。KNN概念:K邻接算法KNN就是等价一个训练数据集,对新的输出实例,在训练数据集中于寻找与该实例最附近的K个实例(K个一家人),这K个实例的多数归属于某个类,就把该输出实例分类到这个类中。

如果一个样本在特征空间中的k个最相近(即特征空间中最附近)的样本中的大多数归属于某一个类别,则该样本也归属于这个类别。K邻接算法用于的模型实质上对应于对特征空间的区分。

通俗地谈,就是“物以类聚,人以群分”。分类策略,就是“少数从归属于多数”。

算法叙述:KNN没表明的训练过程,在测试时,计算出来测试样本和所有训练样本的距离,根据最近的K个训练样本的类别,通过多数投票的方式展开预测。明确算法叙述如下:输出:训练数据集T={(x1,y1),(x2,y2),...,(xn,yn)},其中xi∈Rn,yi∈{c1,c2,...,cK}和测试数据x输入:实例x所属的类别1)根据等价的距离度量,在训练集T中寻找与x距离最近的k个样本,涵括这k个点的x的邻域记作Nk(x)。

2)在Nk(x)中根据分类规则(如多数投票表决)确认x的类别y:核心思想:当无法判断当前待分类点就是指归属于未知分类中的哪一类时,依据统计学的理论看它所处的方位特征,取决于它周围一家人的权重,而把它不属于到权重更大的那一类中。kNN的输出是测试数据和训练样本数据集,输入是测试样本的类别。KNN算法中,所自由选择的一家人都是早已准确分类的对象。KNN算法在定类决策上只依据最附近的一个或者几个样本的类别来要求待分样本所属的类别。

亚博APP

算法要素:KNN算法有3个基本要素:1)K值的自由选择:K值的自由选择不会对算法的结果产生根本性影响。K值较小意味著只有与输出实例较将近的训练实例才不会对预测结果起起到,但更容易再次发生过数值;如果K值较小,优点是可以增加自学的估计误差,但缺点是自学的近似于误差减小,这时与输出实例很远的训练实例也不会对预测起起到,使预测再次发生错误。在实际应用于中,K值一般自由选择一个较小的数值,一般来说使用交叉检验的方法来自由选择拟合的K值。随着训练实例数目趋向于无穷和K=1时,误差率会多达贝叶斯误差率的2倍,如果K也趋向于无穷,则误差率趋向于贝叶斯误差率。

2)距离度量:距离度量一般使用Lp距离,当p=2时,即为欧氏距离,在度量之前,应当将每个属性的值规范化,这样有助避免具备较小初始值域的属性比具备较小初始值域的属性的权重过大。对于文本分类来说,用于余弦(cosine)来计算出来相近度就比欧式(Euclidean)距离更加适合。3)分类决策规则:该算法中的分类决策规则往往是多数投票表决,即由输出实例的K个最邻近的训练实例中的多数类要求输出实例的类别。

算法流程:1)打算数据,对数据展开预处理。2)搭配适合的数据结构存储训练数据和测试元组。

亚博APP

3)原作参数,如K。4)确保一个距离由大到小的优先级队列(长度为K),用作存储最近邻训练元组。随机从训练元组中挑选K个元组作为初始的最近邻元组,分别计算出来测试元组到这K个元组的距离,将训练元组标号和距离现金优先级队列。

5)迭代训练元组集,计算出来当前训练元组与测试元组的距离,将扣除距离L与优先级队列中的仅次于距离Lmax。6)展开较为。若L>=Lmax,则抛弃该元组,迭代下一个元组。

若L<Lmax,移除优先级队列中仅次于距离的元组,将当前训练元组现金优先级队列。7)迭代完,计算出来优先级队列中K个元组的多数类,并将其作为测试元组的类别。8)测试元组集测试完后计算误差亲率,之后原作有所不同的K值新的展开训练,最后所取误差率大于的K值。

算法优点:1)KNN从原理上也依赖无限大定理,但在类别决策时,只与极少量的邻接样本有关。2)由于KNN方法主要靠周围受限的附近的样本,而不是靠判断类域的方法来确认所属类别的,因此对于类域的交叉或重合较多的待分样本集来说,KNN方法较其他方法更加合适。3)算法本身非常简单有效地,精度高,对出现异常值不脆弱,更容易构建,需要估算参数,分类器不必须用于训练集展开训练,训练时间复杂度为0。

4)KNN分类的计算出来复杂度和训练集中于的文档数目成正比,即,如果训练集中于文档总数为n,那么KNN的分类时间复杂度为O(n)。5)合适对珍贵事件展开分类。6)尤其适合于多分类问题(multi-modal),对象具备多个类别标签,kNN比SVM的展现出要好。

算法缺点:1)当样本不均衡时,样本数量并无法影响运营结果。2)算法计算出来量较小;3)可解读性差,无法得出像决策树那样的规则。改良策略:KNN算法因其明确提出时间较早于,随着其他技术的不断更新和完备,KNN算法渐渐表明出有诸多不足之处,因此许多KNN算法的改良算法也应运而生。

算法改良目标主要朝着分类效率和分类效果两个方向。改良1:通过找到一个样本的k个最近一家人,将这些一家人的属性的平均值诗给该样本,就可以获得该样本的属性。

改良2:将有所不同距离的一家人对该样本产生的影响给与有所不同的权值(weight),如权值与距离成反比(1/d),即和该样本距离小的一家人权值大,称作可调整权重的K最近一家人法WAKNN(weightedadjustedKnearestneighbor)。但WAKNN不会导致计算出来量减小,因为对每一个待分类的文本都要计算出来它到全体未知样本的距离,才能求出它的K个最近邻点。改良3:事前对未知样本点展开剪辑(editing技术),事前除去(condensing技术)对分类起到并不大的样本。

该算法较为限于于样本容量较为大的类域的自动分类,而那些样本容量较小的类域使用这种算法较为更容易产生误分。考虑到因素:构建K邻接算法时,主要考虑到的因素是如何对训练数据展开较慢K邻接搜寻,这在特征空间维数大及训练数据容量大时是十分适当的。

亚博APP安全有保障

应用于场景:K邻接算法应用于场景还包括机器学习、字符识别、文本分类、图像识别等领域。结语:K邻接算法KNN,也叫K最近邻算法,是机器学习研究的一个活跃领域。

最简单的暴力算法,较为合适小数据样本。K邻接算法用于的模型实质上对应于对特征空间的区分。KNN算法不仅可以用作分类,还可以用作重返。

KNN算法在人工智能之机器学习、字符识别、文本分类、图像识别等领域具有广泛应用。【亚博app安全有保障】。

本文来源:亚博APP-www.salvagebook.com


友情链接
亚博买球 pg电子 亚博app

全国联系热线

012-67533834

地址:吉林省长春市湟中区建算大楼224号
Copyright © 2021 长春市亚博APP股份有限公司 All Rights Reserved 吉ICP备52446711号-2   网站地图  sitemap
Top