Stratifying High Dimensional Data Based on Proximity to the Convex Hull Boundary

The convex hull of a set of points, $C$, serves to expose extremal properties of $C$ and can help identify elements in $C$ of high interest. For many problems, particularly in the presence of noise, the true vertex set (and facets) may be difficult to determine. One solution is to expand the list of high interest candidates to points lying near the boundary of the convex hull. We propose a quadratic program for the purpose of stratifying points in a data cloud based on proximity to the boundary of the convex hull. For each data point, a quadratic program is solved to determine an associated weight vector. We show that the weight vector encodes geometric information concerning the point's relationship to the boundary of the convex hull. The computation of the weight vectors can be carried out in parallel, and for a fixed number of points and fixed neighborhood size, the overall computational complexity of the algorithm grows linearly with dimension. As a consequence, meaningful computations can be completed on reasonably large, high dimensional data sets.

1. Introduction. The convex hull of a set of points in Euclidean space is defined as the smallest convex set containing the points. Convex hull computations have applications in a diverse collection of areas including number theory, combinatorics, algebraic geometry, pattern recognition, endmember detection, data visualization, path planning, and geographical information systems [3,8,13,14,16]. This range of applications has helped spur the development of efficient algorithms and has contributed to its role as a fundamental tool in computational geometry. While there are multiple algorithms for computing the set of vertices for a convex hull, describing the full collection of facets is impractical for high dimensional data sets due to the rapid growth in the number of facets as a function of dimension. In many concrete applications, vertices and boundary points of the convex hull may carry crucial information, or clues, as to the intrinsic nature of the data. For example, these points may capture pure or unmixed distinguishing features, or be potential optima for linear functionals on a data-defined feasible region. The approach proposed here allows one to characterize sampled data in high-dimensions as vertices, boundary points, or points near the boundary, in addition to stratifying points in relation to proximity to the boundary of the convex hull.
Determining the convex hull of a finite set of points has a long history in computational geometry. The planar case is well-studied and includes methods such as Gift Wrapping, Quickhull, Graham's Algorithm, Divide and Conquer, and the Incremental Algorithm to name a few [1,14]. Several of these algorithms may be extended to the higher dimensional case. For instance, the Quickhull algorithm may be used, in theory, to determine all facets of a convex hull in n-dimensions. However, the rapid increase in the number of facets as a function of dimension leads to the problem becoming computationally intractable even for relatively small examples such as 20 dimensional data consisting of a few hundred points [12]. For many problems of interest, particularly in the presence of noise, the true vertex set (and facets) may be difficult to determine and one should expand the list of extremal candidates to points lying near the boundary of the convex hull. Thus, for certain applications, determining the complete set of facets is less relevant than determining the near-the-boundary data. We propose a convex optimization problem and algorithm for coarsely ranking and stratifying data based on proximity to the boundary of the convex hull which we call the Convex Hull Stratification Algorithm (CHSA).

A First Example: Piles of Sand.
To motivate our approach, we present an example/experiment involving the identification of the "purest pixels" within a digital image. The experiment involves various levels of mixing of three different colors of sand. Images of the sand, lying on a sheet of white paper, are captured via a digital camera as shown in Fig. 1. In Fig. 1a, the sand lies unmixed in three piles, i.e. with each pile consisting of a single, pure color. In Fig. 1b, the three piles of sand are partially mixed, two piles at a time, leaving a portion of each monochromatic pile in its original unmixed state. In Fig. 1c, part of the sand from all three piles is mixed (still leaving a portion of each pile in its original unmixed state as well as a portion of sand involving a mixture of only two colors). Finally, in Fig. 1d, the three piles of sand are thoroughly mixed together.
A data set in R 3 can be built from the color coordinates of individual pixels in each digital image. This example will serve to illustrate how proximity to the convex hull of the data sets arising from each of the sand images helps to identify the purest pixels within each image. The next paragraph provides more detail on how one may consider each of these digital images as a data set in R 3 .
Consider an illuminated scene and the resulting reflectance/scattering of the incoming light. From a given point of view, one can regard the points in the scene as parameterizing a family of spectral reflectance curves. The scene under a fixed illumination condition, as perceived by the human eye, can roughly be viewed as a map to R 3 obtained by integrating, over each small region of the scene, the product of the location-dependent, spectral reflectance curves against three particular frequency response curves. We refer to these three functionals as maps to red, green, and blue (RGB) space [18]. Through an emulation of this map, a digital photograph represents a given scene under a given illumination as an A × B × 3 data array where the first two coordinates record the location in the scene and the last coordinate records the values of the red, green, and blue functionals over each pixel. By combining the three A × B color sheets, one can approximate a human's perception of the illuminated scene. See Fig. 2 for an illustration. The entries in the three A × B sheets correspond to the energy arriving near the red, green, or blue frequencies at each pixel. The data set that we will consider is the family of AB 3-tuples present in a digital image. For each of the four images in Fig. 1, we reduce the resolution of the image and plot the 3-dimensional color data with each point colored according to the pixel value (see Fig. 3). The color data is normalized between [0, 1] for each color frequency where 0 indicates the absence of color and 1 indicates pure color. At first, one might suppose that the RGB color data from the image of unmixed sand would consist of four clusters of points in R 3 , one for each of the three colors of sand and another for the background. However, we observe in Fig. 3a that there are three tendrils connecting points in R 3 corresponding to each color of sand to the points in R 3 corresponding to the background color. This is due to some pixels in the lower resolution image consisting not only of pure sand or pure background but a mixture of the two. Fig. 3b-corresponding to the image of mixing two colors at a time, leaving some sand unmixed-results in a hollow tetrahedron with no base. In Fig. 3c, the addition of a region where all three colors of sand are mixed together, leaving some regions of unmixed and partially mixed sand, results in a solid tetrahedron. Fig. 3d illustrates how a more complete mixing of the sand leads to a degeneration of the solid tetrahedron to a single tendril connecting the aggregate sand mixture to the background.
One might expect the convex hull of the point clouds in Figs. 3a-3c to have four vertices corresponding to the four purest pixels within the data set. However, a convex hull computation determines there to be roughly 40 vertices of the convex hull of the pixels in each image. Consistent with intuition, the purest pixels in each of these images are extremal i.e. among the extremal vertices of the convex hull corresponding to the point cloud of data. The general identification of pure pixels has had compelling applications in archetypal analysis [7] and endmember detection in hyperspectral imagery [3]. For instance, if a tract of land is imaged under a collection of D spectral bands, then we can use the image to construct a data set in R D . The extremal points in this data set correspond to locations captured within the image containing the potentially purest form of some mineral/substance. A desire to uncover such points and stratify all data points according to their proximity to the boundary motivated the development of the main algorithms in this paper.

Background.
In this section, we provide background definitions and material for the main algorithm. While the following statements hold for any vector space V , we restrict our focus to a vector space over the reals R D . Given a set of vectors C = {x 1 , . . . , x p } ⊂ R D , an affine combination of the elements of C is a vector x = p j=1 w j x j with p j=1 w j = 1. A convex combination of the elements of C is an affine combination with the additional constraint that w j ≥ 0 for all j. A subset S ⊂ R D is convex if whenever x, y ∈ S and t ∈ [0, 1], we have (1−t)x+ty ∈ S. In other words, the line segment joining any two points in S also lies in S. As a consequence, the intersection of any collection of convex sets is convex. For C a finite collection of points in R D , the convex hull of C can be defined in several equivalent ways. It is the smallest convex set containing C, and it is the set of all convex combinations of points in C. We summarize these equivalent definitions below.
Definition 3.1. Let C ⊂ R D be a finite set of points. The convex hull, H(C) of C, is: i) The smallest convex set containing C.
The following proposition is a characterization of a vertex of H(C) that lends itself to a better understanding of our approach. The proof is clear and is not included. w j x j with w j ≥ 0 and p j=1 w j = 1 (namely w j = 0 for j = i and w i = 1).
An element b ∈ C is a point on the boundary of C if and only if there exists an affine linear function f (y) = a 0 + a 1 y 1 + . . . + a D y D with scalars a 0 , a 1 , . . . , a D such that f (y) ≥ 0 for all y ∈ C which also satisfies f (b) = 0. Note a vertex is also a point on the boundary. In the next section, we will be interested in identifying elements in C that lie on or near the boundary of H(C).
Consider a point cloud of data C ⊂ R D . We would like to represent each point x i ∈ C, as accurately as possible, as an affine combination of its K nearest neighbors as determined by some proximity relation. For instance, the K nearest neighbors of point x i could be the K points x j = x i ∈ C which minimize d(x i , x j ) for some distance metric d. If possible, we would further like this representation to be a convex combination. If the smallest affine linear space containing the K nearest neighbors also contains x i , then this affine representation will be exact.
For instance, in the point cloud in Fig. 4, let K = 7, and consider the black points x, y lying in H(C). Both x and y lie in the affine span of their 7 nearest neighbors. However, x falls within the convex hull of its 7 nearest neighbors. Thus, we can reconstruct x as an affine combination of its 7 nearest neighbors such that all coefficients (or weights) are non-negative (see Fig. 4a). The point y does not fall within the convex hull of its nearest neighbors. Thus, while we can perfectly reconstruct y as an affine combination of its neighbors, we cannot reconstruct it as a convex combination of its neighbors (see Fig. 4b). That is, when we reconstruct y as an affine linear combination of its neighbors, we must allow at least one of the coefficients to be negative. In general, we have the following corollary to Proposition 3.2.  With this result in mind, we proceed to an optimization problem to determine both the vertices of H(C) and the set of points on or near the boundary of H(C).

The Optimization Problem.
In this section, we discuss an optimization problem for determining which elements of a point cloud C = {x 1 , . . . , x p } ⊂ R D are close to the boundary of H(C). Let N i denote the indices of the set of neighbors of an element x i ∈ C. For instance, N i could be the indices of the set of K nearest neighbors to x i (i.e. the K indices corresponding to the x j = x i with the smallest distance d(x i , x j ) for some metric d) or the indices of the set of elements in C that are within some prescribed distance to x i . Let w i = (w i1 , . . . , w ip ) denote a weight vector associated to x i and let γ, λ be a pair of non-negative real parameters. For each x i ∈ C, consider the following optimization problem: Without the affine constraint j∈Ni w ij = 1, this optimization problem corresponds to elastic net regularization, which is known for its sparsity inducing properties [21]. In the setting above, the 1 term induces convexity rather than sparsity. The benefits of the 1-norm have been widely recognized in signal and image processing, see e.g. [6,9,4]. We note that the third term in the objective function has been proposed as one step in the dimensionality reduction algorithm local linear embedding [15] which is not concerned with the convex hull stratification problem being addressed here. In general, convex optimization problems are attractive because of the guaranteed existence of a global minimum and a spectrum of available numerical solvers [5].
The solution to optimization problem 4.1 consists of a representation of x i as a Kdimensional weight vector w i , where the possible non-zero weights of w i are supported on N i . We now describe how this weight vector encodes geometric information about the proximity of each data point to the boundary of H(C) by analyzing the role of each term in the objective function.
4.1. Data representation. As a starting point, consider the role of the third term of the optimization problem: The goal of this term is to represent x i as an affine combination of the elements in N i with as little error as possible, with respect to the standard Euclidean norm. If |N i | > D (where D is the dimension of the ambient vector space where the data resides), then there will be infinitely many weight vectors minimizing this term. This non-uniqueness allows further terms in the objective function to uncover solutions with additional properties. Since 1 = j∈Ni w ij ≤ j∈Ni |w ij | = w i 1 , a minimal solution strives to have w i 1 = 1. In such a solution, all of the entries of the weight vector will be nonnegative. Thus, this term of the optimization problem seeks to restrict the representation of x i to be a convex combination of points in C. In other words, this positivity term induces convexity. Using Lagrange multipliers, one can show that the solution strives to satisfy w ij = 1/|N i | for all j ∈ N i . Hence, an optimal solution seeks uniformity in the weights. This term also acts to regularize the problem so that it has a unique solution.

4.4.
Putting it all together. We now consider the role of γ and λ in the optimization problem. We seek to represent a point as an affine linear combination of its neighbors, we would like that all the weights are non-negative, and we favor solutions with a uniform distribution of weights.
If we choose the parameters such that γ < λ < 1 † , then primary emphasis is placed on reconstructing each data point as best as possible (the third term), secondary emphasis is placed on finding weights reflecting a convex combination if possible (the second term), and tertiary emphasis is placed on uniformity in the coefficients of the weight vector (the first term). The uniformity component also serves to regularize the optimization problem. That is, it serves to determine a unique solution if the first two steps lead to many possible solutions. Therefore, each term in the objective function enforces weights favoring (from right to left) representation, convexity, and uniformity subject to the constraint of being an affine combination.
If γ λ 1, then representability is essentially enforced as a first step. If there is a unique solution to the affine representation problem then the additional terms in the optimization condition, involving λ w i 1 and γ w i Notice that if a set of data is scaled by constant α, then the third term in optimization problem 4.5 will be scaled by α 2 . Therefore, given two sets of data represented as D × p matrices X and Y where Y = αX there are two analogous approaches to be used to optimize for the decision variables w i corresponding to data set Y : (1) Y can be scaled to lie within the same range as X, and then the same parameters λ and γ used to optimize for X should be used for the rescaled data, or (2) the parameters λ and γ used to optimize for X can be scaled by α 2 to optimize for the data Y . For the examples in this paper, we have chosen the first approach where our data has been scaled between 0 and 1. We observe that despite different numbers of points and different ambient dimensions of the data, comparable choices of parameters λ and γ have similar effects on the optimization problem.

The Convex Hull Stratification Algorithm.
In this section, we reformulate optimization problem (4.1) as a quadratic program of the form We introduce the nonnegative variables w + j and w − j such that w j = w + j − w − j and |w j | = w + j + w − j (as suggested in [2]) to rewrite the non-differentiable portion of the objective function. We then expand and group the quadratic and linear terms in the vector w. Note that the constant term is neglected as it does not affect the optimal solution to this problem. The quadratic program is in N = 2K variables with A a 1 × 2K matrix. This is a convex optimization problem for which there are many solvers, e.g. [5,9,4]. The selection of the convex solver is somewhat arbitrary given the guaranteed existence of a global minimum. In the examples presented in this paper, we choose to optimize using the Primal Dual Interior Point method as described in [2,5,17]. We solve problem 4.1 by reducing it to a sequence of linear, equality constrained problems and then applying Newton's method. For further details, see [20].
Data: points x i ∈ C, a cloud of data Result: weight vector w i associated to each point initialize parameters γ and λ;  vertex of the convex hull. In practice, we often choose K to be much smaller than p − 1 to speed up computations.
6. Examples. In this section, we illustrate the use of the algorithm with several different data sets ranging from illustrative toy problems to the analysis of hyperspectral data in R 20 and real image data from the sand experiment. We show how selecting the parameters γ and λ can provide two different approaches for detecting proximity to the convex hull.
6.1. Polygon in the plane. In the first example, we generate 50 uniformly distributed random points inside the unit square and place an additional 10 points along the boundary edges of the convex hull for a total of 60 points. We select K = 20 nearest neighbors using a metric of Euclidean distance for proximity (this measure is adopted throughout all experiments in this paper). Fig. 5, shows three examples with λ, γ 1. Varying the relative values of λ and γ illustrates how the optimization trades a desire for convexity with a desire for uniformity. Points whose weight vectors have a negative term are illustrated as cyan and points with only non-negative weights as black. With the choice of λ = 10 −5 and γ = 10 −6 , we see in Fig. 5a that all of the boundary points have negative weights yielding a thin cyan boundary shell. If a thicker boundary is desired, then a choice of γ and λ as seen in Fig. 5b would be appropriate. As more emphasis is placed on uniformity than on convexity, more weights become negative. In Fig. 5c, a strong emphasis is placed on convexity and only the vertices of the convex hull are represented using negative weights. The thickness of the boundary shell uncovered by the algorithm is controlled by varying the relative values for λ and γ. One can thus stratify points near the boundary of the convex hull by varying the relative values of λ and γ and recording the emergence of weight vectors with negative coefficients.
Weights encode geometric information. The structure of the optimization problem also leads to an alternate stratification in the case where γ λ 1. This stratification results from the encoding of geometric information in the coefficients of the weight vector. One can then infer a considerable amount of information about the location of a data point relative to its neighbors based on the 2 -norm of its associated weight vector. In particular, when a point is close to the boundary, it tends to lie near the edge of the convex hull of its nearest neighbors. This boundary effect biases the relationship of x i to its nearest neighbors which leads to less uniformity in the weight coefficients. This bias can be measured by w i 2 . When a point is not near the boundary, it tends to lie near the average of its nearest neighbors and is well expressed by a uniform weight vector. In particular, the less uniform the weights, the larger the 2 -norm of the weight vector and the closer the point is to the boundary. In other words: The 2 -norm of the weight vector is a measure of the proximity of the associated point to the boundary. This yields a method for coarsely ordering points in the data set based on proximity to the boundary of the convex hull.
In Fig. 5d, we color each point in the data set according to the magnitude of w 2 of its associated weight vector (as found in the optimization with parameters λ = 10 −3 and γ = 10 −6 ). Yellow corresponds to the smallest values and red corresponds to the largest values. Thus, we see that the vertices have the largest Euclidean norm, followed by points along the boundary of the convex hull, followed by points near the boundary, then finally a general mass of yellow interior points. In practice, the Euclidean norms of the weights are robust with respect to the optimization parameters. This norm allows for a useful stratification of the data. Therefore, we call our method the Convex Hull Stratification Algorithm (CHSA).

Distributions in the Plane.
In this section, we discuss the algorithm's performance on examples in the plane with a variety of distributions. The first example is a set of data with one point in each corner of the unit square and 50 other uniformly distributed points clustered at the center (0.5, 0.5). For this and the following simulations, we display a figure with two subplots which reveal (on the left) the candidate vertices determined by our algorithm colored in cyan and (on the right) the points colored according to the magnitude of the norm of their weight vector. In Fig. 6, we have selected the same parameters as in Figs. 5c and 5d, K = 20 nearest neighbors, λ = 10 −3 , and γ = 10 −6 . We observe that our algorithm reveals the four corners of the unit square as well as candidate vertices of the convex hull of the interior cluster. We also observe that there is a stark difference between the norms of the weight vectors associated to the points on the four corners as compared to points in the interior cluster. Our algorithm reveals useful information beyond that  of a standard convex hull algorithm for two reasons: (1) it is not only able to uncover the four corners as vertices of the convex hull but also candidates within the interior cluster (2) the norm of the weight vector leads to a stratification that reveals the four corners as clear outliers as well as distinguishes the vertices of the interior cluster. If only the true vertices of the convex hull are desired, changing the choice of nearest neighbors to K = p − 1 (as suggested at the end of Section 5) will reveal this behavior. See Fig. 7 where only the 4 corners of the unit square have negative weights using CHSA.
The second example is a set of data with one point at the origin and 50 others uniformly distributed around (1, 1). In Fig. 8, we have again selected parameters K = 20 nearest neighbors, λ = 10 −3 , and γ = 10 −6 , and in Fig. 9, we have modified the choice of nearest neighbors to be K = p − 1. We observe our algorithm has similar features as in the first example, namely the norm of the weight vector is able   Fig. 9: Distribution of points in the plane analyzed with CHSA using parameters K = p − 1 nearest neighbors, λ = 10 −3 , and γ = 10 −6 . The left plot displays vertices of the convex hull (in cyan) with negative weights, and the right plot displays the points colored according to the norm of their weight vector.
to distinguish the outlier from all the rest, and the vertices of the interior region are revealed by having negative weights and larger magnitudes of the weight vector than those points inside the interior region.
In the final example, we have constructed logistic random data in the range [10 −8 , 1] and implemented CHSA with parameters K = p − 1 nearest neighbors, λ = 10 −3 , and γ = 10 −6 . Results are displayed in Fig. 10. We observe that while our algorithm does not capture all of the vertices of the convex hull (particularly those small in magnitude near the origin), it does capture most of them, and again the norm leads to a useful stratification of the data. As a bit of standard pre-processing that would be reasonable with this sort of data, we take the logarithm and implement CHSA with the same choice of parameters. Results are displayed in Fig. 11. We observe that with this transformed data our algorithm does in fact uncover the correct vertices of the convex hull, and again, the norm reveals a useful stratification of the  To summarize this section, we highlight some of the benefits and drawbacks of CHSA. If one wishes to have only the vertices of the convex hull uncovered as having negative weights, a choice of K = p − 1 nearest neighbors will do so, but this is computationally expensive. However, if one wants to use a smaller choice of nearest neighbors to speed up computations, CHSA still reveals useful (perhaps even more useful) information. That is, it not only reveals the true vertices of the convex hull as having negative weights but also candidate vertices of the interior cluster. This, in conjunction with the norm of the weight vector, can still reveal the true vertices but also uncovers more of the structure of the entire data set.

Convex hull detection of cube.
In the next example, we consider 2000 uniformly distributed random points inside the unit cube together with the 8 vertices of the cube. We choose K = 200 nearest neighbors to represent each point, fix γ = 10 −5 , and explore the effect of varying λ in CHSA. For λ = 0.001, we find 40 points with at least one negative weight falling very close to the vertices, edges, and faces of the cube. As λ increases, the number of points with negative weights decreases. When λ = 0.005, 18 points survive whose weight vector contains negative weights. When λ = 0.01, there are 12 points whose weight vector contains negative weights. When λ = 0.025, only the 8 vertices of the cube have negative weights. In this last setting, we consider the Euclidean norms of the weight vectors associated to each of the 2000 points, see Fig. 12. The 8 vertices of the cube correspond to the largest Euclidean norms. Next, we find points close to the vertices, then close to the edges, then close to the faces of the cube. The majority of the points, which are not close to the boundary of the cube, are not distinguished by their Euclidean norm.
6.4. Convex combination of chemical signatures. In Section 2, we introduced the interpretation of vertices of the convex hull as being special in the sense that they can be viewed as the ingredients for all other pixels in the interior of the convex hull. In other words, any point x ∈ C can be expressed as the superposition of the vertices {v i } i.e.
where a i is viewed as the abundance of the pure substance v i . This decomposition of a point into its pure components is at the heart of the analysis of hyperspectral imagery and illustrates the importance of being able to compute the vertex set {v i }. image [10,19].
To illustrate this, we have chosen to analyze data produced by weighted mixtures of pure chemical simulants lying in a high dimensional spectral space. For simplicity we consider only three pure substances i.e. Glacial Acetic Acid (GAA), Methyl Salicylate (MeS), and Triethyl Phosphate (TEP), each represented by a 20-dimensional spectral signature as a function of wavelength, see Fig. 13. Given these three vertices {v i } of a convex hull in R 20 , we generate 1000 additional sample combinations using Equation (6.1) and uniformly distributed random {a i }. This produces a 2-dimensional convex set of mixed simulants in 20 dimensions whose vertices are the pure chemicals. As can be seen in Fig. 13, this data is between 0 and 6 × 10 −3 ; we rescale to be between 0 and 1.
Implementations of CHSA reveal the structure of this data. We fix K = 50 nearest neighbors and γ = 10 −6 , and explore the effect of varying λ. Using principal component analysis (PCA) [11], we project the data set into R 2 for visualization purposes. Once again, cyan indicates those data points whose weight vector contains negative weights (see Fig. 14). The axes of these plots are the coordinates of the two principal vectors. For a choice of λ = 10 −7 , we see a thick cyan boundary, with λ = 10 −5 we see a thinner cyan boundary, and with λ = 10 −3 we see only the vertices of the triangle. Thus, not only are the vertices, or pure substances, recovered by the algorithm, the structure of the data is revealed at multiple scales. In Fig.  14d, we color each of the points according to the 2 magnitude of the weight vector (from optimizing with parameters λ = 10 −3 and γ = 10 −6 ), which reveals a point's proximity to the boundary. This leads to a coarse stratification by pureness of each point.
Notice the behavior with respect to choices of parameters λ and γ of this experiment is similar to the experiments previously discussed despite having points in a higher ambient dimension.
6.5. Return to the sand example. Finally, we return to our motivation application discussed in Section 2, an experiment of three colors of sand poured onto a sheet of paper and mixed together at different levels. We solve the optimization prob-  lem with parameters K = 100, λ = 10 −3 , γ = 10 −6 , and then consider the structure revealed by the weight vector corresponding to each point. We color each data point according to the magnitude of the weight vector in Fig. 15 slightly differently than before for better visualization. In this instance, the color corresponds to the ordering of the norms of the weight vectors instead of the actual magnitudes of the norms of the weight vectors. We again observe that CHSA stratifies points along the vertices, boundaries, and interior.
As final evidence that the weight vectors (and thus, the norms of these vectors) are quantitatively different, we sort the weight vectors according to their norms and plot the 10 weight vectors from the first image with the largest norms, the 10 weight vectors surrounding and including the median of the norms (which we refer to henceforth as the middle norms), and the 10 weight vectors with the smallest norms in Fig.  16. Let us now make three observations. First, there are no negative weights in the set of vectors corresponding to the middle and smallest norms, yet there are negative weights in the set of vectors corresponding to the largest norms, indicating vertices of the convex hull. Second, the vectors corresponding to the middle and smallest norms are much more uniform than those corresponding to the largest norms, with the components of the weight vectors associated to the smallest norms all being approximately 1/K. Finally, sparsity is induced in the weight vectors corresponding to the largest norms as a consequence of the 1 term in the objective function. Note that for points with no negative weights this term is essentially ignored.

Conclusion.
We have proposed an optimization problem that can be used to identify vertices of the convex hull of a data set in high dimensions and to stratify points in the data set based on proximity to the convex hull which we call the Convex Hull Stratification Algorithm (CHSA). The optimization problem consists of three components. Primary emphasis is placed on the term concerned with representing a point as an affine combination of its neighbors with minimal error. The other two components, 1 and 2 penalty terms, are used to encode geometric structure into the weight vector w associated with a data point x. The 1 and 2 penalty terms are weighted by parameters λ and γ, respectively. By varying the relative values of λ and γ, the optimization trades a desire for convexity with a desire for uniformity. This is reflected in the weight vectors containing negative coefficients and allows a stratification of the data set based on when a negative coefficient emerges. Further, we observe that with γ λ 1, the 2 -norm of a weight vector is a measure of the distance of the associated point from the boundary of the convex hull which can be used as an alternate means to stratification.