《算法图解》系列笔记(十)—— K 最近邻算法

K最近邻(k-nearest neighbours,KNN)
  1. 几个例子
    1.1 水果分类
    1.2 创建推荐系统

  2. 推出的几个核心要素
    2.1 特征抽取
    确定两位用户的相似程度,对水果分类来说:个头颜色就是特征。如果是多组数字,那么这种距离指出的就是这多组数字之间的相似程度。

    毕达哥拉斯公式(欧氏距离):

    (x1x2)2+(y1y2)2 ( x 1 − x 2 ) 2 + ( y 1 − y 2 ) 2

这里需要考虑到的是:归一化(normalization)权重问题

2.2 回归
KNN中回归就是预测结果。
如果要使用KNN的话,一定要研究余弦相似度(cosine similarity)1,余弦相似度不计算两个矢量的距离,而比较它们的角度。

公式如下:
《算法图解》系列笔记(十)—— K 最近邻算法_第1张图片

2.3 挑选合适的特征

特征的标准:与要推荐的内容紧密相关的特征;
不偏不倚的特征(例如,如果只让用户给喜剧片打分,就无法判断他们是否喜欢动作片)。

机器学习简介
  1. OCR
    OCR指的是光学字符识别(optical character recognition),这意味着你可拍摄印刷页面的照片,
    计算机将自动识别出其中的文字。

  2. 朴素贝叶斯分类器(Naive Bayes classifier)2
    按识别数字为例,
    KNN:①浏览大量的数字图像,将这些数字的特征提取出来。
    ②遇到新图像时,你提取该图像的特征,再找出它最近的邻居都是谁!
    OCR的第一步是查看大量的数字图像并提取特征,这被称为训练(training)。大多数机器学习算法都包含训练的步骤:要让计算机完成任务,必须先训练它。
    OCR算法提取线段、点和曲线等特征。


  1. TF-IDF与余弦相似性的应用 ↩
  2. 朴素贝叶斯分类器(Naive Bayes Classifiers) ↩

你可能感兴趣的:(K,最近邻算法,KNN)