1. k近邻模型
k 近邻法,k-nearest neighbor, k-NN,是一种基本的分类与回归的算法。其三大要素:k的选取、距离判别公式、分类决策. k 近邻法模型:
代表与 x 最近邻的 k 个点的邻域。
1、k取值 取值小,结构复杂,相似误差小,但容易过拟合; 取值大,结构简单,相似误差大。 在应用中,k 一般选择较小的值,可通过交叉验证来确定最佳的 k 值。此外,k 一般取奇数,防止出现类别数相等的情况。
2、距离度量 一般使用欧氏距离,或者更一般的
距离。
这里,
代表特征维度.
3、分类决策 多数表决,即k个最近点类别多数的那个类别。
2. kd树
kd 树,k-dimensional tree,一种分割 k 维度数据空间的数据结构。
创建kd树: 1、选择当前维度下数据的中位数对应的样本当作父节点,从而,划分剩余数据划分到左、右子树; 2、选取当前维度的下一个维度,对左、右子树重复操作 1。
最近邻搜索: 1、搜索目标节点在kd 树对应的“最佳叶节点”。 具体是从根节点出发,根据目标节点在相应维度下的值进行划分,直到划分到叶子结点。 2、向上遍历。 具体是从“最佳叶节点”出发,如果当前点比“最佳叶节点”更靠近目标节点,则该节点为当前最佳点,并且检查该节点的兄弟节点; 直到根节点,搜索结束。
3. 实践
3.1暴力法
使用暴力法进行实现,
个样本,
维数据建模的算法复杂度