做了一天实验也是有点心累
三、k近邻法
3.1、算法概述(多数表决法)
在距离实例x最近的k个点中找到最多的y(实例类别),即为所求。
3.2、模型
距离度量:Lp = (sum( x i - x j ) ^ p ) ^ 1/p
3.3、kd树的实现
为了对训练数据进行快速的 k 近邻搜索,构造 kd 树:
a、先将超矩形区域进行切分(每个数据节点都对应一个 k 维超矩形区域)
b、对 x 的第一维取中位数,然后将所有点分为两部分区域,称为 x(根节点)的左子树与右子树
c、重复以上,唯一变化的是每次针对 x 的维度都自动加一
3.4、kd树的使用
已知 kd 树与目标点 x ,求 x 的最近邻
a、从根节点出发,若 x 的第一维小于根节点的第一维,则移动到左子树,否则(大于等于)移动到右子树
b、最终移动到某个叶子节点,该叶子节点为“当前最近”
c、判断该叶子节点的另一叶子节点是否与目标更近,若是则更新,反之不更新;
d、退回父节点,判断父节点与目标的距离
e、重复直到根节点
四、朴素贝叶斯法
4.1、基础知识
贝叶斯公式:
4.2、是基于条件独立性假设:x 的维度之间的概率互不影响
4.3、基本方法
根据贝叶斯公式,利用训练数据可以得到 y 取每个可能值的概率、当 y = ck 时 x = xk 的概率,即可求出当为目标 x 时,y 为每个可能值的概率,其中的最大概率即为所求
4.4、证明(略)
4.5、极大似然估计与贝叶斯估计
极大似然估计:y 取每个可能值的概率即为 y 为 ck 的数目 / 总数
贝叶斯估计: y 为 ck 的数目 + λ :为了防止出现其中某个可能值在训练集中一直没取到的情况,这样估计值也绝对不可能取到该可能值