zoukankan      html  css  js  c++  java
  • 《图解算法》读书笔记(十)K最近邻算法

    章节内容

    • 学习使用K最近邻算法创建分类系统
    • 学习特征抽取
    • 学习回归,即预测数值
    • 学习K最近邻算法的应用案例和局限性

    橙子还是柚子

    假如让你分类一个水果是橙子还是柚子,我们知道橙子和柚子的大小和颜色都不一样,我们可以通过这两个进行判断。
    因此我们建立了X轴为大小,Y轴为颜色的二维坐标轴,已知有N个样本水果在坐标轴上。
    我们将要分类的水果放入坐标轴,然后根据距离该水果最近的3个样本水果的分类来判断该水果的分类。
    这就是K最近邻算法,KNN算法虽然简单却很有用。

    创建推荐系统

    现在要为用户创建一个电影推荐系统。从本质上来说,这类似于水果分类问题。
    我们将所有用户放在一个坐标轴中。用户在图表中的位置取决于其喜好,因此喜好相近的用户距离较近。
    我们要向某个用户推荐电影,只需要找到与他最近的N个用户即可,将这N个用户的喜爱电影推荐给他。

    特征提取

    前面的水果例子,我们通过大小和颜色来分类比较。在专业上讲大小和颜色就是特征。

    回归

    前面的电影推荐系统,加入我们需要预测被推荐者讲给这些电影打几分,我们可以从挑选的最近的N个用户的分数中去取平均值。
    这就是回归。
    KNN的两项基本工作就是分类和回归。

    挑选合适的特征

    比如之前的电影推荐系统,合适的特征可能为:

    • 与要推荐的电影紧密相关的特征
    • 不偏不倚的特征

    机器学习简介

    KNN算法是进入神奇的机器学习领域的领路人

    OCR

    指的是光学字符识别。
    OCR使用的就是KNN算法,在系统浏览大量的数字图像后,将这些数字的特征提取出来,遇到新图像时,找出与它最近的邻居

    创建垃圾邮件过滤器

    朴素贝叶斯分类器

    小结

    1. KNN用于分类和回归,需要考虑最近的邻居
    2. 分类就是编组
    3. 回归就是预测结果
    4. 特征抽取意味着将物品转换为一系列可以比较的数字
    5. 能否挑选合适的特征事关KNN算法的成败
  • 相关阅读:
    php根据数组的某个值倒序和升序
    php函数排序方法 和 判断变量类型
    安装composer
    app生成token值 jwt生成
    Verilog语法基础讲解之参数化设计
    Verilog HDL基础语法讲解之模块代码基本结构
    NIOS II CPU复位异常的原因及解决方案
    关于Quartus II 13.0对应开发NIOS II软件程序时报错Symbol 'NULL' could not be resolved问题的解决方法
    ALTFP_CONVERT IP使用与仿真
    altera soc体验之旅 FPGA与ARM的窃窃私语
  • 原文地址:https://www.cnblogs.com/prelude1214/p/13636260.html
Copyright © 2011-2022 走看看