大数据十大经典算法kNN讲解.ppt

上传人:自*** 文档编号:126775471 上传时间:2020-03-27 格式:PPT 页数:15 大小:1.17MB
返回 下载 相关 举报
大数据十大经典算法kNN讲解.ppt_第1页
第1页 / 共15页
大数据十大经典算法kNN讲解.ppt_第2页
第2页 / 共15页
大数据十大经典算法kNN讲解.ppt_第3页
第3页 / 共15页
大数据十大经典算法kNN讲解.ppt_第4页
第4页 / 共15页
大数据十大经典算法kNN讲解.ppt_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《大数据十大经典算法kNN讲解.ppt》由会员分享,可在线阅读,更多相关《大数据十大经典算法kNN讲解.ppt(15页珍藏版)》请在金锄头文库上搜索。

1、KNN K最近邻分类算法 K NearestNeighborClassification KNN算法怎么来的 KNN算法是怎么来的 猜猜看 最后一行未知电影属于什么类型的电影 KNN算法是怎么来的 猜猜看 最后一行未知点属于什么类型的点 KNN算法是怎么来的 想一想 下面图片中只有三种豆 有三个豆是未知的种类 如何判定他们的种类 1968年 Cover和Hart提出了最初的近邻法 最近邻算法 提供一种思路 即 未知的豆离哪种豆最近就认为未知豆和该豆是同一种类 由此 我们引出最近邻算法的定义 为了判定未知样本的类别 以全部训练样本作为代表点 计算未知样本与所有训练样本的距离 并以最近邻者的类别作

2、为决策未知样本类别的唯一依据 但是 最近邻算法明显是存在缺陷的 我们来看一个例子 KNN算法是怎么来的 问题 有一个未知形状X 图中绿色的圆点 如何判断X是什么形状 K 最近邻算法 显然 通过上面的例子我们可以明显发现最近邻算法的缺陷 对噪声数据过于敏感 为了解决这个问题 我们可以可以把位置样本周边的多个最近样本计算在内 扩大参与决策的样本量 以避免个别数据直接决定决策结果 由此 我们引进K 最近邻算法 KNN算法是用来干什么的 K 最近邻算法是最近邻算法的一个延伸 基本思路是 选择未知样本一定范围内确定个数的K个样本 该K个样本大多数属于某一类型 则未知样本判定为该类型 下面借助图形解释一下

3、 KNN算法的实现步骤 算法步骤 step 1 初始化距离为最大值step 2 计算未知样本和每个训练样本的距离diststep 3 得到目前K个最临近样本中的最大距离maxdiststep 4 如果dist小于maxdist 则将该训练样本作为K 最近邻样本step 5 重复步骤2 3 4 直到未知样本和所有训练样本的距离都算完step 6 统计K个最近邻样本中每个类别出现的次数step 7 选择出现频率最大的类别作为未知样本的类别 KNN算法的缺陷 观察下面的例子 我们看到 对于位置样本X 通过KNN算法 我们显然可以得到X应属于红点 但对于位置样本Y 通过KNN算法我们似乎得到了Y应属于

4、蓝点的结论 而这个结论直观来看并没有说服力 KNN算法的具体实现 由上面的例子可见 该算法在分类时有个重要的不足是 当样本不平衡时 即 一个类的样本容量很大 而其他类样本数量很小时 很有可能导致当输入一个未知样本时 该样本的K个邻居中大数量类的样本占多数 但是这类样本并不接近目标样本 而数量小的这类样本很靠近目标样本 这个时候 我们有理由认为该位置样本属于数量小的样本所属的一类 但是 KNN却不关心这个问题 它只关心哪类样本的数量最多 而不去把距离远近考虑在内 因此 我们可以采用权值的方法来改进 和该样本距离小的邻居权值大 和该样本距离大的邻居权值则相对较小 由此 将距离远近的因素也考虑在内

5、避免因一个样本过大导致误判的情况 KNN算法的缺陷 从算法实现的过程大家可以发现 该算法存两个严重的问题 第一个是需要存储全部的训练样本 第二个是需要进行繁重的距离计算量 对此 提出以下应对策略 KNN算法的改进 分组快速搜索近邻法 其基本思想是 将样本集按近邻关系分解成组 给出每组质心的位置 以质心作为代表点 和未知样本计算距离 选出距离最近的一个或若干个组 再在组的范围内应用一般的knn算法 由于并不是将未知样本与所有样本计算距离 故该改进算法可以减少计算量 但并不能减少存储量 KNN算法的改进 压缩近邻算法 利用现在的样本集 采取一定的算法产生一个新的样本集 该样本集拥有比原样本集少的多

6、的样本数量 但仍然保持有对未知样本进行分类的能力 基本思路 定义两个存储器 一个用来存放生成的样本集 称为output样本集 另一个用来存放原来的样本集 称为original样本集 1 初始化 output样本集为空集 原样本集存入original样本集 从original样本集中任意选择一个样本移动到output样本集中 2 在original样本集中选择第i个样本 并使用output样本集中的样本对其进行最近邻算法分类 若分类错误 则将该样本移动到output样本集中 若分类正确 不做任何处理 3 重复2步骤 直至遍历完original样本集中的所有样本 output样本集即为压缩后的样本集 通过这种方式也能减少算法的计算量 但仍然无法减少存储量

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号