# Discriminative model

Discriminative models, also referred to as conditional models, are a class of models frequently used for classification. They are typically used to solve binary classification problems, i.e. assign labels, such as pass/fail, win/lose, alive/dead or healthy/sick, to existing datapoints.
Types of discriminative models include logistic regression (LR), conditional random fields (CRFs), decision trees among many others. Generative model approaches which uses a joint probability distribution instead, include naive Bayes classifiers, Gaussian mixture models, variational autoencoders, generative adversarial networks and others.

## Definition

Unlike generative modelling, which studies the joint probability $P(x,y)$, discriminative modeling studies the $P(y|x)$ or maps the given unobserved variable (target) $x$ to a class label $y$ dependent on the observed variables (training samples). For example, in object recognition, $x$ is likely to be a vector of raw pixels (or features extracted from the raw pixels of the image). Within a probabilistic framework, this is done by modeling the conditional probability distribution $P(y|x)$, which can be used for predicting $y$ from $x$. Note that there is still distinction between the conditional model and the discriminative model, though more often they are simply categorised as discriminative model.

### Pure discriminative model vs. conditional model

A conditional model models the conditional probability distribution, while the traditional discriminative model aims to optimize on mapping the input around the most similar trained samples.

## Typical discriminative modelling approaches

The following approach is based on the assumption that it is given the training data-set $D=\{(x_{i};y_{i})|i\leq N\in \mathbb {Z} \}$, where $y_{i}$ is the corresponding output for the input $x_{i}$.

### Linear classifier

We intend to use the function $f(x)$ to simulate the behavior of what we observed from the training data-set by the linear classifier method. Using the joint feature vector $\phi (x,y)$, the decision function is defined as:
    $f(x;w)=\arg \max _{y}w^{T}\phi (x,y)$
According to Memisevic's interpretation, $w^{T}\phi (x,y)$, which is also $c(x,y;w)$, computes a score which measures the compatibility of the input $x$ with the potential output $y$. Then the $\arg \max$ determines the class with the highest score.

### Logistic regression (LR)

Since the 0-1 loss function is a commonly used one in the decision theory, the conditional probability distribution $P(y|x;w)$, where $w$ is a parameter vector for optimizing the training data, could be reconsidered as following for the logistics regression model:
    $P(y|x;w)={\frac {1}{Z(x;w)}}\exp(w^{T}\phi (x,y))$, with
    $Z(x;w)=\textstyle \sum _{y}\displaystyle \exp(w^{T}\phi (x,y))$
The equation above represents logistic regression. Notice that a major distinction between models is their way of introducing posterior probability. Posterior probability is inferred from the parametric model. We then can maximize the parameter by following equation:
    $L(w)=\textstyle \sum _{i}\displaystyle \log p(y^{i}|x^{i};w)$
It could also be replaced by the log-loss equation below:
    $l^{\log }(x^{i},y^{i},c(x^{i};w))=-\log p(y^{i}|x^{i};w)=\log Z(x^{i};w)-w^{T}\phi (x^{i},y^{i})$
Since the log-loss is differentiable, a gradient-based method can be used to optimize the model. A global optimum is guaranteed because the objective function is convex. The gradient of log likelihood is represented by:
    ${\frac {\partial L(w)}{\partial w}}=\textstyle \sum _{i}\displaystyle \phi (x^{i},y^{i})-E_{p(y|x^{i};w)}\phi (x^{i},y)$
where $E_{p(y|x^{i};w)}$ is the expectation of $p(y|x^{i};w)$.
The above method will provide efficient computation for the relative small number of classification.

## Contrast with generative model
### Contrast in approaches

Let's say we are given the $m$ class labels (classification) and $n$ feature variables, $Y:\{y_{1},y_{2},\ldots ,y_{m}\},X:\{x_{1},x_{2},\ldots ,x_{n}\}$, as the training samples.
A generative model takes the joint probability $P(x,y)$, where $x$ is the input and $y$ is the label, and predicts the most possible known label ${\widetilde {y}}\in Y$ for the unknown variable ${\widetilde {x}}$ using Bayes' theorem.
Discriminative models, as opposed to generative models, do not allow one to generate samples from the joint distribution of observed and target variables. However, for tasks such as classification and regression that do not require the joint distribution, discriminative models can yield superior performance (in part because they have fewer variables to compute). On the other hand, generative models are typically more flexible than discriminative models in expressing dependencies in complex learning tasks. In addition, most discriminative models are inherently supervised and cannot easily support unsupervised learning. Application-specific details ultimately dictate the suitability of selecting a discriminative versus generative model.
Discriminative models and generative models also differ in introducing the posterior possibility. To maintain the least expected loss, the minimization of result's misclassification should be acquired. In the discriminative model, the posterior probabilities, $P(y|x)$, is inferred from a parametric model, where the parameters come from the training data. Points of estimation of the parameters are obtained from the maximization of likelihood or distribution computation over the parameters. On the other hand, considering that the generative models focus on the joint probability, the class posterior possibility $P(k)$ is considered in Bayes' theorem, which is
    $P(y|x)={\frac {p(x|y)p(y)}{\textstyle \sum _{i}p(x|i)p(i)\displaystyle }}={\frac {p(x|y)p(y)}{p(x)}}$.

### Advantages and disadvantages in application

In the repeated experiments, logistic regression and naive Bayes are applied here for different models on binary classification task, discriminative learning results in lower asymptotic errors, while generative one results in higher asymptotic errors faster. However, in Ulusoy and Bishop's joint work, Comparison of Generative and Discriminative Techniques for Object Detection and Classification, they state that the above statement is true only when the model is the appropriate one for data (i.e.the data distribution is correctly modeled by the generative model).

#### Advantages

Significant advantages of using discriminative modeling are:
* Higher accuracy, which mostly leads to better learning result.
* Allows simplification of the input and provides a direct approach to $P(y|x)$
* Saves calculation resource
* Generates lower asymptotic errors
Compared with the advantages of using generative modeling:
* Takes all data into consideration, which could result in slower processing as a disadvantage
* Requires fewer training samples
* A flexible framework that could easily cooperate with other needs of the application

#### Disadvantages

* Training method usually requires multiple numerical optimization techniques
* Similarly by the definition, the discriminative model will need the combination of multiple subtasks for solving a complex real-world problem

## Optimizations in applications

Since both advantages and disadvantages present on the two way of modeling, combining both approaches will be a good modeling in practice. For example, in Marras' article A Joint Discriminative Generative Model for Deformable Model Construction and Classification, he and his coauthors apply the combination of two modelings on face classification of the models, and receive a higher accuracy than the traditional approach.
Similarly, Kelm also proposed the combination of two modelings for pixel classification in his article Combining Generative and Discriminative Methods for Pixel Classification with Multi-Conditional Learning.
During the process of extracting the discriminative features prior to the clustering, Principal component analysis (PCA), though commonly used, is not a necessarily discriminative approach. In contrast, LDA is a discriminative one. Linear discriminant analysis (LDA), provides an efficient way of eliminating the disadvantage we list above. As we know, the discriminative model needs a combination of multiple subtasks before classification, and LDA provides appropriate solution towards this problem by reducing dimension.

## Types

Examples of discriminative models include:
* Logistic regression, a type of generalized linear regression used for predicting binary or categorical outputs (also known as maximum entropy classifiers)
* Boosting (meta-algorithm)
* Conditional random fields
* Linear regression
* Random forests