02 KNN算法

1.KNN算法

算法介绍

KNN( K Near Neighbor): k个最近的邻居,即每个样本都可以用它最接近的k个邻居来代表,即如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本 也属于这个类别。
KNN
不断调整k值,是优化该算法的一个主要方向

在这里插入图片描述
如上图,判断唐人街探案是什么类别的电影?

  1. 求唐人街探案与伦敦陷落之间的欧式距离,公式如下,依次求出每一个距离

在这里插入图片描述

  1. 求出每一个欧式距离后的列表如下,选出前5个距离最小的,最终结果为喜剧片

在这里插入图片描述
3. KNN Demo

from sklearn.neighbors import KNeighborsClassifier

X = [[0], [1], [2], [3]]
y = [0, 0, 1, 1]
neigh = KNeighborsClassifier(n_neighbors=3)
neigh.fit(X, y)
print(neigh.predict([[1.1]]))
print(neigh.predict_proba([[0.9]]))

KNN算法API的使用

最近邻 (k-Nearest Neighbors ,KNN) 算法是一种分类算法, 1968年由 Cover 和 Hart 提出,应用场景有字符识别、文本分类、图像识别等领域。

该算法的思想是:一个样本与数据集中的k个样本最相似,如果这k个样本中的大多数属于某一个类别,则该样本也属于这个类别,即对每一个测试样本,基于事先选择的距离度量, KNN算法在训练集中找到距离最近(最相似)的k个样本,然后将k 个样本的类别的投票结果作为测试样本的类别。

KNN算法小结

  1. 流程:
    1)计算已知类别数据集中的点与当前点之间的距离
    2 )按距离递增次序排序
    3 )选取与当前点距离最小的k个点
    4)统计前k个点所在的类别出现的频率
    5 )返回前k个点出现频率最高的类别作为当前点的预测分类

  2. 优点:
    在这里插入图片描述

  3. 缺点:
    在这里插入图片描述

  4. 总结
    像KNN这种基于内存的方法一大优点是:一旦训练集增加了新数据,模型能立刻改变
    缺点是分类时的最坏计算复杂度随着训练集增大而线性增加,除非特征维度非常低并且算法 用诸如KD-树等数据结构实现。此外,我们要一直保存着训练集,不像参数模型训练好模型后,可以丢弃训练集。因此,存储空间也成为了KNN处理大数据的一个瓶颈

  5. k值的选择
    K值过小 :k值小,特征空间被划分为更多子空间(模型的项越多),整体模型变复杂,容易发生过拟合,k值越小,选择的范围就比较小,训练的时候命中率较高, 近似误差小,而用test的时候就容易出错,估计误差大,容易过拟合
    K值=N (过大):无论输入实例是什么,都将简单的预测他属于训练实例中最多的类。

距离的测量

一、欧氏距离(Euclidean Distance) :

欧氏距离是最容易直观理解的距离度量方法,我们小学、初中和高中接触到的两个点在空间中的距离一般都是指欧氏距离。

二维平面上点a(x1,y1)与b(x2,y2)间的欧氏距离
在这里插入图片描述
三维空间点a(x1,y1,z1)与b(x2,y2,z2)间的欧氏距离:
在这里插入图片描述

n维空间点a(x11,x12,…,x1n)与b(x21,x22,…,x2n)间的欧氏距离(两个n维向量):
在这里插入图片描述

二、曼哈顿距离(Manhattan Distance)

在曼哈顿街区要从一个十字路口开车到另一个十字路口,驾驶距离显然不是两点间的直线距离。这个实际驾驶距离就是“曼哈顿距离”。曼哈顿距离也称为 “城市街区距离”(City Block distance)。
公式:
二维平面两点a(x1,y1)与b(x2,y2)间的曼哈顿距离:
在这里插入图片描述

n维空间点a(x11,x12,…,x1n)与b(x21,x22,…,x2n)的曼哈顿距离:
在这里插入图片描述
三、 切比雪夫距离 (Chebyshev Distance) :

国际象棋中,国王可以直行、横行、斜行,所以国王走一步可以移动到相邻8个方格中的任意一个。国王从格子(x1,y1)走到格子 (x2,y2)最少需要多少步?这个距离就叫切比雪夫距离。
二维平面两点a(x1,y1)与b(x2,y2)间的切比雪夫距离:
在这里插入图片描述
n维空间点a(x11,x12,…,x1n)与b(x21,x22,…,x2n)的切比雪夫距离:
在这里插入图片描述

四、 马氏距离(Mahalanobis Distance) :

马氏距离是基于样本分布的一种距离。
物理意义就是在规范化的主成分空间中的欧氏距离。所谓规范化的主成分空间就是利用主成分分析对一些数据 进行主成分分解。再对所有主成分分解轴做归一化,形 成新的坐标轴。由这些坐标轴张成的空间就是规范化的主成分空间。

下图有两个正态分布的总体,它们的均值分别为a和b ,但方差不一样,则图中的A点离哪个总体更近?或者说A有更大的概率属于谁?显然, A离左边的更近, A属于 左边总体的概率更大,尽管A与a的欧式距离远一些。这就是马氏距离的直观解释。
在这里插入图片描述
马氏距离公式
在这里插入图片描述
量纲无关 ,排除变量之间的相关性的干扰;
马氏距离的计算是建立在总体样本的基础上的,如果拿同样的两个样本,放入两个不同的总体中,最后计算得出的两个样本间的马氏距离通常是不相同的,除非这两个总体的协方差矩阵碰巧相同;

五、 标准化欧氏距离 (Standardized Euclidean Distance) :

标准化欧氏距离是针对欧氏距离的缺点而作的一种改进。
思路:既然数据各维分量的分布不一样,那先将各个分量都“标准化”到均值、方差相等。假设样本集X的均值(mean)为m ,标准差(standard deviation)为s ,

X的“标准化变量”表示为:
在这里插入图片描述

六、 汉明距离(Hamming Distance) :

两个等长字符串s1与s2的汉明距离为:将其中一个变为另外一个所需要作的最小字符替换次数。

knn总结

1,KNN,K值
2,过拟合和欠拟合
3,距离度量:
1,欧式:两点直线
2,曼哈顿:不能穿墙
3,切比雪夫:只取最大维度的差值
闵氏:把上面三者统一成一个公式表示
马氏:不同事物的分布
汉明距离:把一个字符串改成另外一个,需要编辑的步数

2.每日必会题

1 简单描述下机器学习的工作流程?并谈谈每一步的具体内容?

答:机器学习的工作流程是

​ 1 获取数据

​ 2 数据基本处理

​ 3 特征工程

​ 4 模型训练

​ 5 模型评估

每一步的内容

1 获取数据:搜集与完成机器学习任务相关的数据集,比方说,要预测房价,那就要收集房屋面积,朝向,临街与否等影响房价的数据集

2 数据基本处理:数据集中异常值,缺失值的处理等

3 特征工程,利用专业的知识背景,提取数据中特征,然后利用提取的特征对机器学习模型发挥最好的效果

4 模型训练:利用提取的特征,选择合适的算法对模型进行训练,算法分类:有监督学习,无监督学习,半监督学习,强化学习.

5 模型评估: 对模型的效果进行评估,评估效果好上线服务,评估效果不好则重复以上步骤.

2 人工智能和机器学习、深度学习三者之间的关系

答:机器学习是人工智能的一个实现途径, 深度学习是机器学习的一个方法发展而来

3 人工智能发展必备三要素是什么?

  • 数据
  • 算法
  • 算力

4 CPU、GPU和TPU分别是什么?

答:CPU( Central Processing Unit, 中央处理器)就是机器的“大脑”,也是布局谋略、发号施令、控制行动的“总司令官”。

GPU的构成相对简单,有数量众多的计算单元和超长的流水线,特别适合处理大量的类型统一的数据。GPU无法单独工作,必须由CPU进行控制调用才能工作。CPU可单独作用,处理复杂的逻辑运算和不同的数据类型,但当需要大量的处理类型统一的数据时,则可调用GPU进行并行计算。虽然GPU是为了图像处理而生的,但是它在结构上并没有专门为图像服务的部件,只是对CPU的结构进行了优化与调整,所以现在GPU不仅可以在图像处理领域大显身手,它还被用来科学计算、密码破解、数值分析,海量数据处理(排序,Map-Reduce等),金融分析等需要大规模并行计算的领域

TPU是一款为机器学习而定制的芯片,经过了专门深度机器学习方面的训练,它有更高效能(每瓦计算能力)。大致上,相对于现在的处理器有7年的领先优势,宽容度更高,每秒在芯片中可以挤出更多的操作时间,使用更复杂和强大的机器学习模型,将之更快的部署,用户也会更加迅速地获得更智能的结果。

5 请简述一下人工智能的主要分支。

  • 计算机视觉
  • 语音识别
  • 文本挖掘/分类
  • 机器翻译
  • 机器人

3. 每日练习题

1 简述机器学习算法分类并简单介绍一下各类算法

答:按照学习方式分类可分为: 监督学习, 无监督学习, 半监督学习, 强化学习

  • 监督学习: 输入数据是由输入特征值和目标值所组成
  • 回归: 函数的输出是一个连续的值
  • 分类: 函数的输出是有限个离散值
  • 无监督学习: 输入数据是由输入特征值组成, 没有目标值
  • 聚类: 根据样本间的相似性对样本集进行分类
  • 半监督学习: 即训练集同时包含有标记样本数据和未标记样本数据
  • 强化学习: 智能体不断与环境进行交互,通过试错的方式来获得最佳策略;主要包含四个元素: Agent(智能体), 环境(Environment), 行动(Action), 奖励(reward)

2 什么是独立同分布,举例说明什么是独立、同分布、独立同分布?

答:如果变量序列或者其他随机变量有相同的概率分布,并且互相独立,那么这些随机变量是独立同分布。在西瓜书中解释是:输入空间中的所有样本服从一个隐含未知的分布,训练数据所有样本都是独立地从这个分布上采样而得。

3 什么是过拟合,什么是欠拟合?

答:欠拟合(under-fitting)模型学习的太过粗糙连训练集中的样本数据特征关系都没有学出来过拟合(over-fitting):所建的机器学习模型或者是深度学习模型在训练样本中表现得过于优越,导致在测试数据集中表现不佳。

4 为什么在机器学习的工作流程中需要模型评估?

答:模型评估是模型开发过程不可或缺的一部分。它有助于发现表达数据的最佳模型和所选模型将来工作的性能如何。

5 你是怎么理解图灵测试的,用自己的话说一说。

答:测试者与被测试者(一个人和一台机器)隔开的情况下,通过一些装置(如键盘)向被测试者随意提问。

多次测试(一般为5min之内),如果有超过30%的测试者不能确定被测试者是人还是机器,那么这台机器就通过了测试,并被认为具有人类智能

4. 企业面试题

有监督学习和无监督学习的区别?

  • 有监督学习:对具有标记的训练样本进行学习,以尽可能对训练样本集外的数据进行分类预测。
  • 无监督学习:对未标记的样本进行训练学习,比发现这些样本中的结构知识。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值