• 机器学习 之KNN近邻法



    1、KNN近邻法

    • KNN模型由三个基本要素决定:

      • 距离度量:其中欧式距离一般误差最小,(x_{i} 和 x_{j})为两个样本点:$$L_{2}(x_{i}, x_{j}) = (sumlimits_{l=1}^{n} |x_{i}^{(l)} - x_{j}^{(l)}|)$$

      • k值的选择:k较小->近似误差会减小,估计误差会增大,模型变复杂,容易过拟合;k较大->估计误差减小,近似误差增大,模型变简单。k值一般取一个比较小的数值。

      • 分类决策规则:分类损失函数是误分类率:

    [L = frac{1}{k} sumlimits_{x_{i} in N_{k}(x)} I(y_{i} e c_{j}) = 1 - frac{1}{k} sumlimits_{x_{i} in N_{k}(x)} I(y_{i} = c_{j}) ]

    要使误分类率最小,即经验风险最小,就要使$sumlimits_{x_{i} in N_{k}(x)} I(y_{i} = c_{j}) $最大,所以多数表决规则等价于经验风险最小化。

    • KNN算法流程:

      1. 输入:训练数据集D; 输出:实例x所属的类y。

      2. 根据给定的距离度量,在训练集D中找到与x最近邻的k个点,涵盖这k个点的x邻域记作(N_{k}(x))

      3. (N_{k}(x))中根据分类决策规则决定x的类别y(如多数表决):

    [y = arg max_{c_{j}} sumlimits_{x_{i} in N_{k}(x)} I(y_{i}=c_{j}) ]

    其中(I)为指示函数,即当(y_{i}=c_{j})(I)为1,否则(I)为0;

    • kd树:是一种对k维空间中的实例点进行存储以便对其进行快速检索的树形数据结构。其选择训练实例点在选定坐标轴上的中位数为切分点,从而将实例分配为两部分,依次循环构建树形结构。目标点的最近邻一定在以目标点为中心并通过当前最近点的超球体的内部。
  • 相关阅读:
    Redis --- 客户端 --- Another Redis Desktop Manager
    Docker --- 记录安装与使用过程中遇到的问题
    Docker安装教程
    Python --- pip --- No module named 'pip'异常问题
    天气接口测试用例生成报告
    jsonpath使用
    python小知识,字典
    python小知识,列表推导式
    python小知识,sort和serted的区别
    如何查看app启动的activity
  • 原文地址:https://www.cnblogs.com/hugechuanqi/p/10583975.html
Copyright © 2020-2023  润新知