zoukankan      html  css  js  c++  java
  • 统计学习方法三:K近邻

    一、什么是K近邻?

    K近邻是一种基本的分类和回归方法。
    在分类时,对新的实例,根据其K个最近邻的训练实例的类别,通过多数表决权等方式预测其类别。
    通俗的讲,找K个和其关系最近的邻居,哪个类别的邻居多,就把它划分到哪一类
    
    特性:
    (1)多分类
    (2)判别模型
    (3)三个基本要素:K值选择、距离度量、分类决策规则
    (4)K=1时,称为最近邻算法
    

    二、K近邻模型

    1、模型:K近邻法的模型对应特征空间的一个划分,每一个划分对应一个类别
    
    2、距离度量:
    (1)通常使用欧氏距离
    (2)更一般的Lp距离
    
    3、K值选择:
    (1)K值过小:整体模型复杂,容易过拟合 —— 只有最近的几个点起到作用,可能是噪声
    (2)K值过大:整体模型简单 —— 距离过远(不相似)的点也会起到预测作用
    (3)选择方法:在实际应用中,通常选择一个比较小的数值。通常采用交叉验证的方式选择最优的K值
    (4)具体怎么选呢???—— 待补充
    
    4、分类决策规则:多数表决权
        损失函数:0-1函数
        误分类率:1-正确分类率
        误分类率最小(经验风险最小)——> 正确分类率最大
        什么样的正确分类率最大? —— 分到多数堆里....
    

    三、K近邻法的实现:kd树
    K近邻法实现考虑的一个重要问题:如何对训练数据进行快速K近邻搜索?
    简单实现:线性扫描,计算输入实例与每个训练实例的距离。

    kd树:
    (1)二叉树
    (2)每个结点对应于K维空间划分中的一个超矩形区域
    (3)快速搜索,省去对大部分数据点的搜索减少搜索的工作量
  • 相关阅读:
    高精度、大整数幂取模
    关于正则表达式
    003.android资源文件剖析(Resources)
    myBatis 基础测试 表关联关系配置 集合 测试
    Android应用开发学习笔记之播放音频
    移植一个开源点餐网到SAE平台上
    6.0RMB MP3所看到的……
    [读书笔记]设计原本[The Design of Design]
    递归 和 非递归 遍历二叉树
    Android应用开发学习笔记之播放视频
  • 原文地址:https://www.cnblogs.com/naonaoling/p/5690283.html
Copyright © 2011-2022 走看看