Glossary

Feature Vector

Machine learning tasks require input data to be in a suitable and computationally convenient form to be processed. In the context of image classification, the input images must be re-represented as "feature vectors"1.

A feature vector is simply a vector that collects an object’s important characteristics (features). A feature is a particular measurable property of an object: in an image, this can be the colour component, edge presence, edge orientation, gradient magnitude and direction, or simply the pixel intensity value. Features may have differing levels of granularity, which means that they can describe at the scale of a pixel, a section of an image or an entire image, depending on the learning objective.

A popular example of a feature vector is the RGB colour description. It describes a colour by the amount of red, green and blue it contains, resulting in the vector [R, G, B].

Feature vectors are usually stacked in a "design matrix", where each row is a feature vector of one example (e.g. RGB vector of one pixel), and each column comprises feature values of all example (e.g. the sole blue colour value of all pixels). As a result, the design matrix of three pixels white - black - white is:

Another term often used in machine learning is "feature space", which refers to the n-dimensions the features live in. For instance, in the example shown above the feature space is [red, green, blue]; if the data considered is about people, the feature space could be [age, gender, height, weight].

Footnotes

1. In addition to "feature vector", the product of this conversion is also known as "encoding" or "representation".