240 likes | 378 Views
一种求任意维凸壳的算法及其在特征选择中的应用. 报告人:郭峰 guofeng314@163.com. What Is Convex Set ?. What Is Convex Set ?. Let C be a set in a real or complex vector space. C is said to be convex if, for all x and y in C and all t in the interval [0,1], the point (1 − t) x + t y is in C.
E N D
一种求任意维凸壳的算法及其在特征选择中的应用一种求任意维凸壳的算法及其在特征选择中的应用 报告人:郭峰 guofeng314@163.com
What Is Convex Set? • Let C be a set in a real or complex vector space. C is said to be convex if, for all x and y in C and all t in the interval [0,1], the point (1 − t) x + t y is in C. • In other words, every point on the line segment connecting x and y is in C. This implies that a convex set is connected.
What Is Convex Hull? • For a subset S of V, the convex hull of S is defined as the smallest convex set in V containing S
我们可以看出边界顶点决定了凸壳的范围 • 如何寻找边界顶点? • 或者说如何确定一个点是不是边界顶点?
Komei Fukuda的做法 凸集的定义我们知道凸集中的点可以被凸集的边界顶点线性表出而且凸集的它们的系数之和为1,即
在凸壳外部:存在X 在凸壳内部:不存在X
求点集S的顶点集Bset的算法 • Step0: 输入S • Step1: 初始化BSet为凸集的任意一个点, • Step2: 取点集S内的第二个点为p • Step3: 求出p 与凸集顶点集中的每一个顶点的差组成的向量集Vset, • Step4: 判断是不是存在一个向量x,使得它与Vset中所有的向量的内积都为非负 • Step4.1: 如果存在x就把p放入凸集的顶点集Bset, • 否则转Step5; • Step4.2: 依次取出BSet内的每一个点为q, 然后检查点q是 不是已经成为了凸集Bset-{q}的内点,如果是,就从Bset中把q它删除。 • Step5:取点集S内的下一个点为p • Goto step3 • 输出Bset
一维的情况 • 输入: • 0.8952 0.9424 0.3351 0.4374 0.4712 0.1493 0.1359 0.5325 0.7258 0.3987 • 返回: • 0.9424 • 0.1359
在特征提取中的应用 • 对于边界比较清晰,每一类都有一个凸壳的数据。如果去掉某些特征,凸壳之间不产生交叠,说明这些特征的去出不影响我们的分类。
4.8000 1.8000 2.0000 • 5.0000 1.7000 2.0000 • 5.1000 1.6000 2.0000
Wine-交叠数据 • 3.6300 72.8300 8.4100 0.0900 2.0000 • 3.5100 73.0100 8.2300 0.0600 2.0000 • 3.5400 72.6500 8.8900 0.1500 3.0000 • 3.4800 72.9700 8.5600 0.0900 1.0000 • 3.5300 71.8100 8.7800 0.1100 1.0000 • 3.5400 72.6500 8.8900 0.1500 3.0000 1.6100 72.1800 9.7000 0.2400 4.0000
参考文献 • http://www.ifor.math.ethz.ch/~fukuda/polyfaq/node22.html#polytope:Vredundancy • 刁在筠等. 运筹学(第二版)高等教育出版社 • XUEQIN ZHANG,CHUN-HUA GU. CH-SVM BASED NETWORK ANOMALY DETECTION. Proceeding of Sixth ICMLC, HONG KONG • http://encyclopedia.thefreedictionary.com