【算法导论】10 K近邻算法

1.1 KNN算法介绍

1.1.1 功能

1.1.2 定义

1.1.3 特征抽取

1.1.4 归一化和权重

1.2 回归

1.2.1 举例

1.2.2 余弦相似度(了解)

1.3 机器学习简介

1.3.1 OCR 

1.3.2 创建垃圾邮件过滤器


1.1 KNN算法介绍
1.1.1 功能

KNN算法两大功能:分类、回归

K最近邻算法(k-nearest neighbours, KNN)属于机器学习最简单的算法,即找邻居的方式,通过计算样本之间的距离来确定类别或数值。通过找到特征空间中与样本最相似的K个样本,可以推测待分类样本的类别。该算法可用于商品推荐系统,通过找到与用户特征最接近的K个用户,推荐他们常买的商品。在多维特征空间中,该算法仍然适用,只需将K个最相似样本中的多数类别作为待分类样本的类别即可。

1.1.2 定义

K最邻近算法(K-nearest neighbours , KNN)

如果一个样本在特征空间中的K个最相似的样本中,大多数属于某一个类别,则该样本也属于这个类别。

例:你需要对一个水果进行分类,查看五个它最近的邻居,这些邻居中,橘子多于柚子,则他可能是橘子

1.1.3 特征抽取

特征抽取意味着将物品(如水果或用户)转换为一系列可比较的数字

能否挑选合适的特征事关KNN算法的成败

如何确定两种水果的相似程度:将每种水果转换为一组坐标,根据个头和颜色比较,

抽取特征并绘图,特征:个头和颜色

计算两点的距离,用毕达哥拉斯公式

二维: r = \sqrt{(x_{1}-x_{2})^{2} + (y_{1}-y_{2})^{2}}

多维:r = \sqrt{(a_1-a_2)^2+(b_1-b_2)^2+(c_1-c_2)^2+...}

多维:

丁一和李四的距离 =\sqrt{ (3-2)^2+(4-5)^2+(4-1)^2+(1-3)^2+(4-1)^2}

丁一和王二的距离 = \sqrt{(2-4)^2+(5-3)^2+(1-5)^2+(3-1)^2+(1-5)^2}

1.1.4 归一化和权重

练习一:归一化(normalization),找到每个人打分的平均分,以那个分数作为基准,然后做一个统一

练习二:权重,在比较重要的人前面乘上系数

1.2 回归
1.2.1 举例

除了推荐电影,还要预测她给电影打多少分。先找出与她最近的五个人(不一定非得是5个)

求这些人打分的平均值,这就是回归(regression)。使用KNN做两项基本工作 -- 分类和回归。

分类就是编组

回归就是预测结果

周末,天气不错,没活动。(4,1,0)

六个点的距离平方分别为1,2,9,2,1,5,所以选择小的四个,ABDE

(300+225+200+150)/4 = 218.75

1.2.2 余弦相似度(了解)

计算距离,除了距离公式,还有余弦相似度(cosine similarity)。假设有两个品味相似的用户,其中一个打分更保守。他们都喜欢某部电影,但一个人给了5星,一个人给了4星,如果用距离公式,他们可能不是邻居,虽然品味相似。

余弦相似度不计算两个矢量的距离。而是比较他们的角度。因此更适合处理前面所说的情况。如果用KNN可以了解一下

1.3 机器学习简介
1.3.1 OCR 

光学字符识别(optional character recognition)。拍摄印刷页面的照片,计算机将自动识别出其中的文字。

具体方法如下:

(1)浏览大量的数字图像,将这些数字的特征提取出来

(2)遇到新图像时,提取该图像的特征,再找出它最近的邻居都是谁。一般而言,OCR算法提取线段、点、曲线等特征。

第一步是查看大量的数字图像并提取特征。这被称为训练(training)。大多数机器学习算法都包含训练的步骤:要让计算机完成任务,必须先训练它。

1.3.2 创建垃圾邮件过滤器

算法:朴素贝叶斯分类器(Naive Bayes classifier)。

假设收到一封邮件,判断是否是垃圾邮件?可以研究句子中的每个单词,看他在垃圾邮件中出现的概率是多少。朴素贝叶斯分类器能计算出邮件为垃圾邮件的概率,其应用领域和KNN相似。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值