《人工智能算法k邻近算法.pptx》由会员分享,可在线阅读,更多相关《人工智能算法k邻近算法.pptx(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、人工 主讲教师:智能KNN算法(一)目录KNN的原理工程中的数据处理问题以及程序代码人工智能算法中的常用概念123KNN的原理11分类分类是根据已知类别的数据确定预测数据的类别是根据已知类别的数据确定预测数据的类别KNN(K K邻算法)是分类方法邻算法)是分类方法 同一类别的事物通常聚集在一起“物以类聚”说的就是这个原理?“近”“邻”K1B?A?推测A粉色圆点B绿色方块观察这张图,推断A、B两点的颜色和形状?1B?A?原因01以A为圆心的区域:粉色圆点02以B为圆心的区域:绿色方块1C?按简单多数原则大圈区域 4:5,粉色圆点小圈区域 4:1,绿色方块如何确定 C 的类别(K Nearest
2、Node)就是:以K个最近 邻点推断类别KNNKNNK个近邻?1KNN 如何理解“最近”dABX2X1Y2Y1最直观的距离就是“欧氏”距离两个点间距离的计算:用距离量化“近”品牌型号 长(mm)宽(mm)高(mm)用户行为BAOJ310 403216801450略过XW-M1 433015351885浏览POL 405317401449略过BW5 508718681500浏览BDe6 456018221645浏览Wuling 379715101820略过1dABXYZKNN 如何理解“最近”三维距离的计算:用这个方法考察实际问题的数据,就能解决诸如“推荐”和“预测”这类人工智能领域的分类问题标
3、志型号长(mm)宽(mm)高(mm)略过CrV405317401449浏览BW5508718681500略过POL403216801450浏览BDe6433015351885推荐?X0084560182216451KNN 的实际应用广告案例假设某网站发现用户对某些车型的浏览行为如绿色数据所示,那么现在向用户推送 X008车型的广告是否会引发用户兴趣?1KNN 算法步骤lKNN算法的一般过程需要对未知类别属性的数据集中的每个点依次执行以下操作:01逐一计算样本集的点与预测点之间的距离。02按距离递增排序。03选取与待预测点距离最小的k个点。04统计k个点的类别频率,按规则确定预测结果。利用“电子
4、表格”体验过程操作过程录像11010203选取与被测车辆距离最小的k个点(一般k为奇数,本例k=3)的分类,作为判断的依据;观察图中的黄色部分,即离被测最近距离的3种车中,2种为用户感兴趣的车型,1种为用户无兴趣车型;按简单的少数服从多数原则,可确定被测车辆也是用户感兴趣车型。1KNN 算法的几个思考算法观察与自己距离最近的k个点(k一般为奇数)的分类,并可以用简单多数的原则确定自身的分类。如果考虑减小如果考虑减小KNNKNN算法中算法中k k的取值的取值k k取取1 1待预测点的分类只依赖于与之最近的点,分类结果随机性太大;k k太大太大如极端情况,与数据集的样本数一样大,那么算法的分类结果
5、没有意义。就一般经验,k的取值一般低于已知类别的样本数的平方根。otherother还可以不使用简单投票规则,而对距离加权,比如可以使距离近的点更有影响力。可以降低k值变化对结果的影响。C?1KNNKNN用已知的最近距离的K个邻接点确定带预测点类别的算法0101KNN的算法步骤02020303取K(奇数)个最近点0404递增排序计算距离通过简单多数或其他规则确定分类C?本小节结束!人工智能KNN算法(二)目录Knn的原理工程中的数据处理问题以及程序代码人工智能中的常用概念12320101数据的归一化处理0202利用程序完成算法0303训练模型与测试应用2车型长(mm)宽(mm)高(mm)油耗(
6、L/100km)售价(万元)BAOJ310 4032168014505.35.6XW-M1 4330153518857.814.5POL 4053174014496.210.8BW5 5087186815008.525.6BDe6 4560182216457.815.8Wuling 3797151018205.59.6型号长(mm)宽(mm)高(mm)CrV405317401449BW5508718681500POL403216801450BDe6433015351885VS.可以想像此类不同数量级的数据将给预测带来较大误差数据的归一化处理2车型长(mm)宽(mm)高(mm)油耗(L/100k
7、m)售价(万元)BAOJ310 4032168014505.35.6XW-M1 4330153518857.814.5POL 4053174014496.210.8BW5 5087186815008.525.6BDe6 4560182216457.815.8Wuling 3797151018205.59.6数据归一化由多种方法,其中最直观的方法是,对每个属性都找出最大数值和最小数值,然后对某一属性数据集中的每个数据都按下面公式整理。数据的归一化处理2本页是Excel操作录象数据的归一化处理2数据的归一化处理2品牌型号长(mm)宽(mm)高(mm)用户行为BAOJ310 403216801450
8、略过XW-M1 433015351885浏览POL 405317401449略过BW5 508718681500浏览BDe6 456018221645浏览Wuling 379715101820略过数据的多维度扩展2归一化后多维数据的KNN本页是Excel操作录象21#引入工具包2import numpyas np3from sklearn.neighborsimport KNeighborsClassifieras knn4#定义数据5ar_x=4032,1680,1450,5.3,5.6,64330,1535,1885,7.8,14.5,74053,1740,1449,6.2,10.8,85
9、087,1868,1500,8.5,25.6,94560,1822,1645,7.8,15.8,103797,1510,1820,5.5,9.611ar_y=0,1,0,1KNN算法的程序实现216#建立模型并预测17model=knn(n_neighbors=3)18model.fit(nor_ar:4,ar_y)19pre=model.predict(nor_ar4:6)20print(pre)12#利用归一化处理数据13ar_min=np.min(ar_x,0)14ar_mn=np.max(ar_x,0)-ar_min15nor_ar=np.around(ar_x-ar_min)/ar_
10、mn,4)KNN算法的程序实现2测测试试训练训练清洗清洗 处理处理原始数据训练集 测试集模型 合格?F泛化泛化T模型:f()XY训练模型与测试应用“测试集集”“训练集集”2训练模型与测试应用本小节结束!人工智能KNN算法(三)目录人工智能中的常用概念工程中的数据处理问题以及程序代码KNN的原理1233训练训练清洗清洗 处理处理原始数据训练集 测试集模型 合格?泛化泛化模型:f()测测试试3预测现实预测需谨慎预测需谨慎3数据集数据集维数维数=8=8属性属性术语术语训练、测试、数据集、训练集、样本、维数、属性、测试集“训练集”每条数据:样本求模型-“训练”“测试集”验证模型正确性-“测试”3品牌型
11、号长(mm)宽(mm)高(mm)用户行为BAOJ310 403216801450略过XW-M1 433015351885浏览POL 405317401449略过BW5 508718681500浏览BDe6 456018221645浏览Wuling 379715101820略过回归分类术语术语标记、监督学习、分类、回归、无监督学习标记数据集数据集监督学习监督学习“无标记”:无监督学习3训练泛化测试的性能不好,比如正确率不高:欠拟合测试很好,泛化能力不好:过拟合测试训练训练清洗清洗 处理处理原始数据训练集 测试集模型 合格?泛化泛化模型:f()测测试试“训练集”“测试集”3监督学习所用的数据集一定需要标记监督学习所用的数据集一定需要标记()01010202均一化后的数据必定大于等于均一化后的数据必定大于等于0 0且小于且小于1 1 ()0303人工智能算法在测试集获得正确率越高,算法越有效人工智能算法在测试集获得正确率越高,算法越有效()0404KNNKNN算法中的算法中的k k值最好是奇数值最好是奇数()()0505KNNKNN算法中的算法中的k k值越大越好值越大越好()()0606解决过拟合的方法之一是增大数据集解决过拟合的方法之一是增大数据集()()本小节结束!
限制150内