惰性学习法和其他分类方法综述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2018/12/18
7
1.1.2 KNN算法中的细节处理
属性的数值规范化 有助于防止具有较大初始值域的属性(如收入)比具有较 小初始值域的属性(如二元属性)的权重过大。 例如,可以通过计算下式,使用最小—最大规范化将数值 属性A的值v变换到[0,1]区间中的v'
v min A v maxA min A
2018/12/18
12
1.1.3 KNN算法流程
① ② ③ ④ ⑤ ⑥ 准备数据,对数据进行预处理 选用合适的数据结构存储训练数据和测试元组 设定参数,如k 维护一个大小为k的的按距离由大到小的优先级队列,用于存储最近邻训练元 组 随机从训练元组中选取k个元组作为初始的最近邻元组,分别计算测试元组到 这k个元组的距离,将训练元组标号和距离存入优先级队列 遍历训练元组集,计算当前训练元组与测试元组的距离,将所得距离L与优先 级队列中的最大距离Lmax进行比较。若L>=Lmax,则舍弃该元组,遍历下一 个元组。若L < Lmax,删除优先级队列中最大距离的元组,将当前训练元组 存入优先级队列。 遍历完毕,计算优先级队列中k个元组的多数类,并将其作为测试元组的类别。 测试元组集测试完毕后计算误差率,继续设定不同的k值重新进行训练,最后 取误差率最小的k值。
Choose k of the “nearest” records
2018/12/18
6
例2 : 下图中,绿色圆要被决定赋予哪个类,是红色三角形还是 蓝色四方形?如果K=3,由于红色三角形所占比例为2/3, 绿色圆将被赋予红色三角形那个类,如果K=5,由于蓝色 四方形比例为3/5,因此绿色圆被赋予蓝色四方形类。
2018/12/18
10
确定近邻数k的值 可以通过实验确定。 从k=1开始,使用检验集估计分类器的误差率。重复该过 程,每次k增值1,允许增加一个近邻。选取产生最小误差 率的k。 一般,训练元组数越多,k的值越大。
2018/12/18
11
对噪声数据或不相关属性的处理 最近邻分类法使用基于距离的比较,本质上赋予每个属性 相等的权重。因此,当数据存在噪声或不相关属性时,它 们的准确率可能会受到影响。 对属性赋予相关性权重w,w越大说明属性对分类的影响 越相关。对噪声数据可以将所在的元组直接cut掉。
2018/12/18
4
“邻近性”用距离度量,距离越大,表示两个点越不相似。 计算距离的方法:欧几里得距离、曼哈顿距离或其它距离。 但多采用欧几里得距离(简单)。 例:两个点或元组X1=(x11,x12,...,x1n)和X2=(x21,x22,...,x2n) 的欧几里得距离是:
dist( X 1 , X 2 )
2 ( x x ) 1i 2i i 1
n
换言之,对于每个数值属性,取元组X1和X2该属性对应值 的差,取差的平方并累计。并取累计距离计数的平方根。
2018/12/18
5
例1:
如果它走路像鸭子, 叫声也像鸭子, 那么他可能就是只鸭子
Compute Distance
Test Record
Training Records
⑦ ⑧
2018/12/18
13
1.1.4 KNN算法的改进策略
最近邻分类法在对检验元组分类时可能非常慢。如果D是 具有|D|个元组的训练数据库,而k=1,则对一个给定的检 验元组分类需要O(|D|)次比较。改进如下: ① 将存储的训练元组预先排序并安排在搜索树中,比较次数 可以降低到O(log|D|)。 ② 并行实现可以将运行时间降低为常数,即O(1),独立 于|D|。 ③ 部分距离计算,取n个属性的“子集”计算出部分距离, 若超过设定的阈值则停止对当前元组作进一步计算。转向 下一个元组。 ④ 剪枝或精简:删除证明是“无用的”元组,可以减少存储 元组的总数。
惰性学习法和其他分类法
戴奇
1 惰性学wenku.baidu.com法
急切学习法(前面提到的方法):给定训练集, 在接收待 分类的新元祖(如检验元组)之前,构造泛化(即分类) 模型。 惰性学习法(也称为基于实例的学习法):给定一个训练 元组,简单地存储它 (或只是稍加处理) ,一直等到给定一 个检验元组。仅当看到检验元组时,它才进行泛化,以便 根据存储的训练元组的相似性对该元组进行分类。
'
其中minA和maxA分别是属性A的最小值和最大值。
2018/12/18
8
比较的属性不是数值类型而是分类类型(如颜色) 对于分类属性,一种简单的方法是比较元组X1和X2中对应 属性的值。如果二者相同(例如,元组X1和X2都是蓝色), 则二者之间的差为0。如果二者不同(例如,元组X1是蓝 色,而元组X2是红色),则二者之间的差为1。 其他方法可采用更复杂的方案。(例如,对蓝色和白色赋 予比蓝色和黑色更大的差值。)
2018/12/18
9
缺失值的处理 取最大的可能差。
对于分类属性,如果属性A的一个或两个对应值丢失,则取差值为 1; 如果A是数值属性,若两个比较的元组属性A的值均缺失,则取差 值为1,若只有一个缺失,另一个存在并且已经规范化(记作v'), 则取差值为|1-v'|和|0-v'|中的最大者。
2018/12/18
3
1.1.1 KNN算法原理
基于类比学习,即通过给定的检验元组与和它相似的训练 元组进行比较来学习。 训练元组用n个属性描述。每个元组代表n维空间的一个点。 这样,所有的训练元组都存放在n维模式空间中。 当给定一个未知元组时,k最近邻分类法搜索该模式空间, 找出最接近未知元组的k个训练元组。这k个训练元组是未 知训练元组的k个“最近邻”。最后取这k个点中的多数类 作为检验元组的类别。
优点:原理简单,实现起来比较方便。支持增量学习。能对超多 边形的复杂决策空间建模。 缺点:计算开销大,需要有效的存储技术和并行硬件的支撑。
属于惰性学习的算法有:KNN分类、基于案例的推理分 类
2018/12/18
2
1.1 k最近邻分类法(KNN分类法)
k最近邻分类法是20世纪50年代早期首次引进的。给定大 量训练集时,该方法是劳动密集的,直到20世纪60年代计 算能力大大增强之后才流行起来。此后被广泛用于模式识 别领域。