数学之路(3)-机器学习(3)-常用算法-KD树和与KNN
2013-10-11 16:00
369 查看
KNN算法是机器学习里面比较简单的一个分类算法了,整体思想比较简单:计算一个点A与其他所有点之间的距离,取出与该点最近的k个点,然后统计这k个点里面所属分类比例最大的,则点A属于该分类。
最邻近结点算法采用向量空间模型来分类,概念为相同类别的案例,彼此的相似度高,而可以借由计算与已知类别案例之相似度,来评估未知类别案例可能的分类。
目标:分类未知类别案例。
输入:待分类未知类别案例项目。已知类别案例集合D ,其中包含 j个已知类别的案例。
输出:项目可能的类别。
依公式计算 Item 与 D1、D2 … …、Dj 之相似度。得到Sim(Item, D1)、Sim(Item, D2)… …、Sim(Item, Dj)。
将Sim(Item, D1)、Sim(Item, D2)… …、Sim(Item, Dj)排序,若是超过相似度门槛t则放入邻居案例集合NN。自邻居案例集合NN中取出前k名,依多数决,得到Item可能类别。
关键在于找到特征空间中两个实例点的距离和反应出两个实例点之间的相似性程度,距离有欧氏距离,马氏距离,余弦相似度等等。
下面是KD树的算法
按我的 理解,这个算法就是找到中点,也就是统计上中mean或median,然后以这个中点为标准来决定这个点离哪个中点更近
至于为什么要有KD村
树
那是因为样本的特征码很多的情况下,
将样本的每个特征码做为一维
n个特征码形成了N维空间
最后在N维空间中来进行聚类
这是无监督学习
就是无样本~
自然得划分~
target的当前最小距离圈和那个绿点的两个子区域都有相交,如果只进入一个区域,那岂不是有可能漏掉最近邻么?
是怎么样确定没有进入的那个子空间一定没有更近邻的节点的呢?
个人理解
更近邻这个标准是针对当前划分好的群落的中点而言
一个群落
你说这个点离这个群落最近
必须要有一个重心
这个重心就是中点
这就是我对KD树和KNN的理解
最邻近结点算法采用向量空间模型来分类,概念为相同类别的案例,彼此的相似度高,而可以借由计算与已知类别案例之相似度,来评估未知类别案例可能的分类。
目标:分类未知类别案例。
输入:待分类未知类别案例项目。已知类别案例集合D ,其中包含 j个已知类别的案例。
输出:项目可能的类别。
依公式计算 Item 与 D1、D2 … …、Dj 之相似度。得到Sim(Item, D1)、Sim(Item, D2)… …、Sim(Item, Dj)。
将Sim(Item, D1)、Sim(Item, D2)… …、Sim(Item, Dj)排序,若是超过相似度门槛t则放入邻居案例集合NN。自邻居案例集合NN中取出前k名,依多数决,得到Item可能类别。
关键在于找到特征空间中两个实例点的距离和反应出两个实例点之间的相似性程度,距离有欧氏距离,马氏距离,余弦相似度等等。
下面是KD树的算法
按我的 理解,这个算法就是找到中点,也就是统计上中mean或median,然后以这个中点为标准来决定这个点离哪个中点更近
至于为什么要有KD村
树
那是因为样本的特征码很多的情况下,
将样本的每个特征码做为一维
n个特征码形成了N维空间
最后在N维空间中来进行聚类
这是无监督学习
就是无样本~
自然得划分~
target的当前最小距离圈和那个绿点的两个子区域都有相交,如果只进入一个区域,那岂不是有可能漏掉最近邻么?
是怎么样确定没有进入的那个子空间一定没有更近邻的节点的呢?
个人理解
更近邻这个标准是针对当前划分好的群落的中点而言
一个群落
你说这个点离这个群落最近
必须要有一个重心
这个重心就是中点
这就是我对KD树和KNN的理解
相关文章推荐
- 数学之路(3)-机器学习(3)-常用算法-线性规划之几何解法
- 数学之路(3)-机器学习(3)-机器学习算法-LDA(Latent Dirichlet Allocation)主题模型算法
- python机器学习案例系列教程——K最近邻算法(KNN)、kd树
- 数学之路(3)-机器学习(3)-综合应用(4)-K均值算法与欧氏距离
- 数学之路(3)-机器学习(4)-综合应用-K均值算法与欧氏距离
- 机器学习十大算法之KNN(K最近邻,k-NearestNeighbor)算法
- 机器学习实施kNN之k-近邻算法--算法步骤
- 机器学习常用算法
- 【备忘】冲击年薪50万之从数学基础python机器学习到深度学习算法学习路线视频教程 共321G
- 数学之路(3)-机器学习(3)-机器学习算法-差异均值
- 数学之路(3)-机器学习(3)-综合应用(1)-候选消除法
- KNN(三)--KD树详解及KD树最近邻算法
- JavaScript机器学习之KNN算法
- 机器学习的一些常用算法
- 机器学习实战—笔记-kNN算法
- 机器学习自学之路-SVM 算法选择:三种算法优缺点比较(ID3、C4.5、CART)
- 机器学习之KNN算法python实现
- 机器学习 学习笔记 knn算法 kd树实例
- 数学之路(3)-机器学习(3)-机器学习算法-神经网络[12]
- 机器学习:KNN算法(MATLAB实现)