• KNN用于分类和回归,需要考虑最近的邻居
  • 分类就是编组
  • 回归就是预测结果(拟合曲线,如数字)
  • 特征抽取意味着将物品转换为一系列可计算的数字
  • KNN算法核心是选择合适的特征

    1. 橙子与柚子分类

通常柚子比橙子更大、更红,因此可以构建体积和颜色的二维图,大部分橙子位于左下角,柚子位于右上角。如果出现一个新水果,给定颜色和体积,我们需要预测该水果是橙子还是柚子,我们可以采用K最近邻算法,即计算距离最近的3个水果,如果橙子多,那我们可以预测为该水果为橙子,反之亦然。

  • 特征:二维,颜色和体积
  • 相似度:毕达哥拉斯公式

2. Netflix电影推荐

要求用户注册时填写对不同类型电影的评分,比如有5类电影

  • 特征:五维
  • 相似度,欧氏距离
  • 找出相似用户,相互推荐其喜爱的且自己没看过的电影
  • 有些用户评分比较苛刻,只有最满意的电影才会满分。因此我们需要对所有用户评分做归一化处理,即对每个用户评分计算平均值,在归一,使所有用户评分基础相同。

3. OCR 光学字符识别

Optical character recognition

  • 计算机浏览大量数字图像,提取数字特征 training
  • 遇到新图像时,提出特征,找出最近的邻居
  • 根据邻居数量预测该图像中字符

4. 垃圾邮件过滤器

  • 朴素贝叶斯分类器 Naive Bayes classifier
  • 根据邮件主题内容,研究单词在垃圾邮件中出现的概率,计算出该邮件是垃圾邮件的概率

5. 预测股票市场【很难】

  • 特征不明确
  • 变量太多