sffsHull {debCAM} | R Documentation

## Sequential Forward Floating Selection (SFFS) to approximate convex hull

### Description

This function detects the corners of convex hull by greedy search. It will be used to reduce the number of candidate corners and thus reduce the time complexity in the further exhaustive search by `cornerSort`.

### Usage

    sffsHull(Xall, Aall, Kmax, deltaK = 8)

### Arguments

`Xall` | Data in a matrix. Each column is a data point. The cost is computed based on all data points.
`Aall` | Candiatie corners in a matrix. Each column is a candidate corner.
`Kmax` | The target number of corners to be selected.
`deltaK` | The extra number of corners that need to be searched. The default is 8 and will be truncated based on all the available corners. SFFS runs until a corner set of cardinality (`Kmax` + `deltak`) is obtained. The set of cardinality Kmax might be improved during backtracking from extra corners.

### Details

The Sequential Floating Forward selection (SFFS) is one of greedy search methods for feature selection. With sum of margin-of-errors as cost function and candidate corners as features, SFFS is used to select best `Kmax` corners to form an approximated hull. The best subset of candidate corners is initialized as the empty set and at each step a new corner is added. After that, the algorithm searches for corner that can be removed from the best subset until the cost function does not decrease.

### Value

A list with length (`Kmax` + `deltak`). Each component is a vector of the corner indices of the SFFS-selected subset with certain cardinality.

### Examples

    data <- matrix(c(0.1,0.2,1.0,0.0,0.0,0.5,0.3,
                     0.1,0.7,0.0,1.0,0.0,0.5,0.3,
                     0.8,0.1,0.0,0.0,1.0,0.0,0.4), nrow =3, byrow = TRUE)
    rsffs <- sffsHull(data, data, 3)
    rsffs <- sffsHull(data, data[,1:5], 3)

[Package debCAM version 1.5.0 Index]