生成模型

In statistical classification, two main approaches are called the generative approach and the discriminative approach. These compute classifiers by different approaches, differing in the degree of statistical modelling. Terminology is inconsistent,模板:Efn but three major types can be distinguished, following 脚本错误：没有“Footnotes”这个模块。:

1. A generative model is a statistical model of the joint probability distribution $\displaystyle{ P(X, Y) }$ on given observable variable X and target variable Y;[1]
2. A discriminative model is a model of the conditional probability $\displaystyle{ P(Y\mid X = x) }$ of the target Y, given an observation x; and
3. Classifiers computed without using a probability model are also referred to loosely as "discriminative".

The distinction between these last two classes is not consistently made;[2] 脚本错误：没有“Footnotes”这个模块。 refers to these three classes as generative learning, conditional learning, and discriminative learning, but 脚本错误：没有“Footnotes”这个模块。 only distinguish two classes, calling them generative classifiers (joint distribution) and discriminative classifiers (conditional distribution or no distribution), not distinguishing between the latter two classes.[3] Analogously, a classifier based on a generative model is a generative classifier, while a classifier based on a discriminative model is a discriminative classifier, though this term also refers to classifiers that are not based on a model.

In statistical classification, two main approaches are called the generative approach and the discriminative approach. These compute classifiers by different approaches, differing in the degree of statistical modelling. Terminology is inconsistent, but three major types can be distinguished, following :

1. A generative model is a statistical model of the joint probability distribution P(X, Y) on given observable variable X and target variable Y;: "Generative classifiers learn a model of the joint probability, p(x, y), of the inputs x and the label y, and make their predictions by using Bayes rules to calculate p(y\mid x), and then picking the most likely label y.
2. A discriminative model is a model of the conditional probability P(Y\mid X = x) of the target Y, given an observation x; and
3. Classifiers computed without using a probability model are also referred to loosely as "discriminative".

The distinction between these last two classes is not consistently made;: "This distinction between conditional learning and discriminative learning is not currently a well established convention in the field." refers to these three classes as generative learning, conditional learning, and discriminative learning, but only distinguish two classes, calling them generative classifiers (joint distribution) and discriminative classifiers (conditional distribution or no distribution), not distinguishing between the latter two classes.: "Discriminative classifiers model the posterior p(y|x) directly, or learn a direct map from inputs x to the class labels." Analogously, a classifier based on a generative model is a generative classifier, while a classifier based on a discriminative model is a discriminative classifier, though this term also refers to classifiers that are not based on a model.

Standard examples of each, all of which are linear classifiers, are:

Standard examples of each, all of which are linear classifiers, are:

• generative classifiers:
• naive Bayes classifier and
• linear discriminant analysis
• discriminative model:
• logistic regression

• 生成分类器:
• 朴素贝叶斯分类器和
• 线性判别分析
• 判别模型:
• Logit模型

In application to classification, one wishes to go from an observation x to a label y (or probability distribution on labels). One can compute this directly, without using a probability distribution (distribution-free classifier); one can estimate the probability of a label given an observation, $\displaystyle{ P(Y|X=x) }$ (discriminative model), and base classification on that; or one can estimate the joint distribution $\displaystyle{ P(X, Y) }$ (generative model), from that compute the conditional probability $\displaystyle{ P(Y|X=x) }$, and then base classification on that. These are increasingly indirect, but increasingly probabilistic, allowing more domain knowledge and probability theory to be applied. In practice different approaches are used, depending on the particular problem, and hybrids can combine strengths of multiple approaches.

In application to classification, one wishes to go from an observation x to a label y (or probability distribution on labels). One can compute this directly, without using a probability distribution (distribution-free classifier); one can estimate the probability of a label given an observation, P(Y|X=x) (discriminative model), and base classification on that; or one can estimate the joint distribution P(X, Y) (generative model), from that compute the conditional probability P(Y|X=x), and then base classification on that. These are increasingly indirect, but increasingly probabilistic, allowing more domain knowledge and probability theory to be applied. In practice different approaches are used, depending on the particular problem, and hybrids can combine strengths of multiple approaches.

Definition

An alternative division defines these symmetrically as:

An alternative division defines these symmetrically as:

= = 定义 = = 另一种划分方法将这些对称定义为:

• a generative model is a model of the conditional probability of the observable X, given a target y, symbolically, $\displaystyle{ P(X\mid Y = y) }$[4]
• a discriminative model is a model of the conditional probability of the target Y, given an observation x, symbolically, $\displaystyle{ P(Y\mid X = x) }$[5]
• a generative model is a model of the conditional probability of the observable X, given a target y, symbolically, P(X\mid Y = y): "We can use Bayes rule as the basis for designing learning algorithms (function approximators), as follows: Given that we wish to learn some target function f\colon X \to Y, or equivalently, P(Y\mid X), we use the training data to learn estimates of P(X\mid Y) and P(Y). New X examples can then be classified using these estimated probability distributions, plus Bayes rule. This type of classifier is called a generative classifier, because we can view the distribution P(X\mid Y) as describing how to generate random instances X conditioned on the target attribute Y.
• a discriminative model is a model of the conditional probability of the target Y, given an observation x, symbolically, P(Y\mid X = x): "Logistic Regression is a function approximation algorithm that uses training data to directly estimate P(Y\mid X), in contrast to Naive Bayes. In this sense, Logistic Regression is often referred to as a discriminative classifier because we can view the distribution P(Y\mid X) as directly discriminating the value of the target value Y for any given instance X

• 一个生成模型是可观察 X 的条件概率模型，给定一个目标 y，象征性地，P (X mid y = y) : “我们可以使用贝叶斯规则作为设计学习算法(函数近似)的基础，如下: 假设我们希望学习一些目标函数 f 冒号 X 到 Y，或者相当于，P (Y mid x) ，我们使用训练数据来学习对 P (X mid y)和 P (Y)的估计。然后可以使用这些估计的概率分布和贝叶斯规则对新的 X 例子进行分类。这种类型的分类器被称为生成分类器，因为我们可以看到分布 P (X 中的 Y)描述了如何生成随机实例 X 条件的目标属性 Y。
• 判别模型是目标 Y 的条件概率模型，给出一个观察 x，象征性地，P (Y mid x = x) : “ Logit模型是一个函数近似演算法，使用训练数据直接估计 P (Y mid x) ，与朴素贝叶斯不同。从这个意义上来说，Logit模型通常被称为判别分类器，因为我们可以把分布 p (Y mid x)看作是对任何给定实例 x 的目标值 y 的直接判别

Regardless of precise definition, the terminology is constitutional because a generative model can be used to "generate" random instances (outcomes), either of an observation and target $\displaystyle{ (x, y) }$, or of an observation x given a target value y,[4] while a discriminative model or discriminative classifier (without a model) can be used to "discriminate" the value of the target variable Y, given an observation x.[5] The difference between "discriminate" (distinguish) and "classify" is subtle, and these are not consistently distinguished. (The term "discriminative classifier" becomes a pleonasm when "discrimination" is equivalent to "classification".)

Regardless of precise definition, the terminology is constitutional because a generative model can be used to "generate" random instances (outcomes), either of an observation and target (x, y), or of an observation x given a target value y, while a discriminative model or discriminative classifier (without a model) can be used to "discriminate" the value of the target variable Y, given an observation x. The difference between "discriminate" (distinguish) and "classify" is subtle, and these are not consistently distinguished. (The term "discriminative classifier" becomes a pleonasm when "discrimination" is equivalent to "classification".)

The term "generative model" is also used to describe models that generate instances of output variables in a way that has no clear relationship to probability distributions over potential samples of input variables. Generative adversarial networks are examples of this class of generative models, and are judged primarily by the similarity of particular outputs to potential inputs. Such models are not classifiers.

The term "generative model" is also used to describe models that generate instances of output variables in a way that has no clear relationship to probability distributions over potential samples of input variables. Generative adversarial networks are examples of this class of generative models, and are judged primarily by the similarity of particular outputs to potential inputs. Such models are not classifiers.

Relationships between models

In application to classification, the observable X is frequently a continuous variable, the target Y is generally a discrete variable consisting of a finite set of labels, and the conditional probability $\displaystyle{ P(Y\mid X) }$ can also be interpreted as a (non-deterministic) target function $\displaystyle{ f\colon X \to Y }$, considering X as inputs and Y as outputs.

In application to classification, the observable X is frequently a continuous variable, the target Y is generally a discrete variable consisting of a finite set of labels, and the conditional probability P(Y\mid X) can also be interpreted as a (non-deterministic) target function f\colon X \to Y, considering X as inputs and Y as outputs.

= = = 模型之间的关系 = = = = 在分类应用中，可观察到的 X 通常是一个连续变量，目标 Y 通常是一个离散变量，由一组有限的标签组成，条件概率 P (Y mid X)也可以解释为一个(非确定性)目标函数 f 结肠 X 到 Y，考虑到 X 作为输入，Y 作为输出。

Given a finite set of labels, the two definitions of "generative model" are closely related. A model of the conditional distribution $\displaystyle{ P(X\mid Y = y) }$ is a model of the distribution of each label, and a model of the joint distribution is equivalent to a model of the distribution of label values $\displaystyle{ P(Y) }$, together with the distribution of observations given a label, $\displaystyle{ P(X\mid Y) }$; symbolically, $\displaystyle{ P(X, Y) = P(X\mid Y)P(Y). }$ Thus, while a model of the joint probability distribution is more informative than a model of the distribution of label (but without their relative frequencies), it is a relatively small step, hence these are not always distinguished.

Given a finite set of labels, the two definitions of "generative model" are closely related. A model of the conditional distribution P(X\mid Y = y) is a model of the distribution of each label, and a model of the joint distribution is equivalent to a model of the distribution of label values P(Y), together with the distribution of observations given a label, P(X\mid Y); symbolically, P(X, Y) = P(X\mid Y)P(Y). Thus, while a model of the joint probability distribution is more informative than a model of the distribution of label (but without their relative frequencies), it is a relatively small step, hence these are not always distinguished.

Given a model of the joint distribution, $\displaystyle{ P(X, Y) }$, the distribution of the individual variables can be computed as the marginal distributions $\displaystyle{ P(X) = \sum_y P(X , Y = y) }$ and $\displaystyle{ P(Y) = \int_x P(Y, X = x) }$ (considering X as continuous, hence integrating over it, and Y as discrete, hence summing over it), and either conditional distribution can be computed from the definition of conditional probability: $\displaystyle{ P(X\mid Y)=P(X, Y)/P(Y) }$ and $\displaystyle{ P(Y\mid X)=P(X, Y)/P(X) }$.

Given a model of the joint distribution, P(X, Y), the distribution of the individual variables can be computed as the marginal distributions P(X) = \sum_y P(X , Y = y) and P(Y) = \int_x P(Y, X = x) (considering X as continuous, hence integrating over it, and Y as discrete, hence summing over it), and either conditional distribution can be computed from the definition of conditional probability: P(X\mid Y)=P(X, Y)/P(Y) and P(Y\mid X)=P(X, Y)/P(X).

Given a model of one conditional probability, and estimated probability distributions for the variables X and Y, denoted $\displaystyle{ P(X) }$ and $\displaystyle{ P(Y) }$, one can estimate the opposite conditional probability using Bayes' rule:

$\displaystyle{ P(X\mid Y)P(Y) = P(Y\mid X)P(X). }$

For example, given a generative model for $\displaystyle{ P(X\mid Y) }$, one can estimate:

$\displaystyle{ P(Y\mid X) = P(X\mid Y)P(Y)/P(X), }$

and given a discriminative model for $\displaystyle{ P(Y\mid X) }$, one can estimate:

$\displaystyle{ P(X\mid Y) = P(Y\mid X)P(X)/P(Y). }$

Note that Bayes' rule (computing one conditional probability in terms of the other) and the definition of conditional probability (computing conditional probability in terms of the joint distribution) are frequently conflated as well.

Given a model of one conditional probability, and estimated probability distributions for the variables X and Y, denoted P(X) and P(Y), one can estimate the opposite conditional probability using Bayes' rule:

P(X\mid Y)P(Y) = P(Y\mid X)P(X).

For example, given a generative model for P(X\mid Y), one can estimate:

P(Y\mid X) = P(X\mid Y)P(Y)/P(X),

and given a discriminative model for P(Y\mid X), one can estimate:

P(X\mid Y) = P(Y\mid X)P(X)/P(Y).

Note that Bayes' rule (computing one conditional probability in terms of the other) and the definition of conditional probability (computing conditional probability in terms of the joint distribution) are frequently conflated as well.

Contrast with discriminative classifiers

A generative algorithm models how the data was generated in order to categorize a signal. It asks the question: based on my generation assumptions, which category is most likely to generate this signal? A discriminative algorithm does not care about how the data was generated, it simply categorizes a given signal. So, discriminative algorithms try to learn $\displaystyle{ p(y|x) }$ directly from the data and then try to classify data. On the other hand, generative algorithms try to learn $\displaystyle{ p(x,y) }$ which can be transformed into $\displaystyle{ p(y|x) }$ later to classify the data. One of the advantages of generative algorithms is that you can use $\displaystyle{ p(x,y) }$ to generate new data similar to existing data. On the other hand, it has been proved that some discriminative algorithms give better performance than some generative algorithms in classification tasks.[6]

A generative algorithm models how the data was generated in order to categorize a signal. It asks the question: based on my generation assumptions, which category is most likely to generate this signal? A discriminative algorithm does not care about how the data was generated, it simply categorizes a given signal. So, discriminative algorithms try to learn p(y|x) directly from the data and then try to classify data. On the other hand, generative algorithms try to learn p(x,y) which can be transformed into p(y|x) later to classify the data. One of the advantages of generative algorithms is that you can use p(x,y) to generate new data similar to existing data. On the other hand, it has been proved that some discriminative algorithms give better performance than some generative algorithms in classification tasks.

= = 与判别分类器对比 = = 一个生成算法模型数据是如何生成的，以便对信号进行分类。它提出了一个问题: 根据我的生成假设，哪个类别最有可能产生这种信号？判别算法不关心数据是如何生成的，它只是对给定的信号进行分类。因此，判别算法尝试从数据中直接学习 p (y | x) ，然后尝试对数据进行分类。另一方面，生成算法尝试学习 p (x，y) ，这可以转换成 p (y | x)后来分类的数据。生成算法的一个优点是可以使用 p (x，y)生成与现有数据类似的新数据。另一方面，已经证明，在分类任务中，一些判别算法比一些生成算法具有更好的性能。

Despite the fact that discriminative models do not need to model the distribution of the observed variables, they cannot generally express complex relationships between the observed and target variables. But in general, they don't necessarily perform better than generative models at classification and regression tasks. The two classes are seen as complementary or as different views of the same procedure.[7]

Despite the fact that discriminative models do not need to model the distribution of the observed variables, they cannot generally express complex relationships between the observed and target variables. But in general, they don't necessarily perform better than generative models at classification and regression tasks. The two classes are seen as complementary or as different views of the same procedure.

Deep generative models

With the rise of deep learning, a new family of methods, called deep generative models (DGMs),[8][9] is formed through the combination of generative models and deep neural networks. An increase in the scale of the neural networks is typically accompanied by an increase in the scale of the training data, both of which are required for good performance.[10]

With the rise of deep learning, a new family of methods, called deep generative models (DGMs), is formed through the combination of generative models and deep neural networks. An increase in the scale of the neural networks is typically accompanied by an increase in the scale of the training data, both of which are required for good performance.

Popular DGMs include variational autoencoders (VAEs), generative adversarial networks (GANs), and auto-regressive models. Recently, there has been a trend to build very large deep generative models.[8] For example, GPT-3, and its precursor GPT-2,[11] are auto-regressive neural language models that contain billions of parameters, BigGAN[12] and VQ-VAE[13] which are used for image generation that can have hundreds of millions of parameters, and Jukebox is a very large generative model for musical audio that contains billions of parameters.[14]

Popular DGMs include variational autoencoders (VAEs), generative adversarial networks (GANs), and auto-regressive models. Recently, there has been a trend to build very large deep generative models. For example, GPT-3, and its precursor GPT-2, are auto-regressive neural language models that contain billions of parameters, BigGAN and VQ-VAE which are used for image generation that can have hundreds of millions of parameters, and Jukebox is a very large generative model for musical audio that contains billions of parameters.

= 生成模型 =

Types of generative models are:

Types of generative models are:

• Gaussian mixture model (and other types of mixture model)
• Hidden Markov model
• Probabilistic context-free grammar
• Bayesian network (e.g. Naive bayes, Autoregressive model)
• Averaged one-dependence estimators
• Latent Dirichlet allocation
• Boltzmann machine (e.g. Restricted Boltzmann machine, Deep belief network)
• Variational autoencoder
• Flow-based generative model
• Energy based model

• 高斯混合模型(及其他类型的混合模型)
• 隐马尔可夫模型
• 概率上下文无关文法
• 贝氏网路(例如:。朴素贝叶斯，自回归模型)
• 平均单依赖估计
• 隐含狄利克雷分布
• 波茨曼机(例如:。受限玻尔兹曼机，深度信念网络)
• 变分自动编码器
• 生成对抗性网络
• 基于流的生成模型
• 基于能量的模型

If the observed data are truly sampled from the generative model, then fitting the parameters of the generative model to maximize the data likelihood is a common method. However, since most statistical models are only approximations to the true distribution, if the model's application is to infer about a subset of variables conditional on known values of others, then it can be argued that the approximation makes more assumptions than are necessary to solve the problem at hand. In such cases, it can be more accurate to model the conditional density functions directly using a discriminative model (see below), although application-specific details will ultimately dictate which approach is most suitable in any particular case.

If the observed data are truly sampled from the generative model, then fitting the parameters of the generative model to maximize the data likelihood is a common method. However, since most statistical models are only approximations to the true distribution, if the model's application is to infer about a subset of variables conditional on known values of others, then it can be argued that the approximation makes more assumptions than are necessary to solve the problem at hand. In such cases, it can be more accurate to model the conditional density functions directly using a discriminative model (see below), although application-specific details will ultimately dictate which approach is most suitable in any particular case.

= 歧视性模型 =

• k-nearest neighbors algorithm
• Logistic regression
• Support Vector Machines
• Decision Tree Learning
• Random Forest
• Maximum-entropy Markov models
• Conditional random fields

• k 最近邻算法
• Logit模型
• 支持向量机
• 决策树学习
• 随机森林
• 最大熵马尔可夫模型
• 条件随机场

Examples

Simple example

Suppose the input data is $\displaystyle{ x \in \{1, 2\} }$, the set of labels for $\displaystyle{ x }$ is $\displaystyle{ y \in \{0, 1\} }$, and there are the following 4 data points: $\displaystyle{ (x,y) = \{(1,0), (1,1), (2,0), (2,0)\} }$

Suppose the input data is x \in \{1, 2\}, the set of labels for x is y \in \{0, 1\}, and there are the following 4 data points: (x,y) = \{(1,0), (1,1), (2,0), (2,0)\}

For the above data, estimating the joint probability distribution $\displaystyle{ p(x,y) }$ from the empirical measure will be the following:

$\displaystyle{ y=0 }$ $\displaystyle{ y=1 }$
$\displaystyle{ x=1 }$ $\displaystyle{ 1/4 }$ $\displaystyle{ 1/4 }$
$\displaystyle{ x=2 }$ $\displaystyle{ 2/4 }$ $\displaystyle{ 0 }$

For the above data, estimating the joint probability distribution p(x,y) from the empirical measure will be the following:

y=0 ! y=1
x=1 1/4 1/4
x=2 2/4 0

|- | x=1

|| 1/4
||1/4


|- | x=2

|| 2/4
|| 0


|}

while $\displaystyle{ p(y|x) }$ will be following:

$\displaystyle{ y=0 }$ $\displaystyle{ y=1 }$
$\displaystyle{ x=1 }$ $\displaystyle{ 1/2 while p(y|x) will be following: {| class="wikitable" |- ! !! y=0 !! y=1 |- | x=1 | \lt math\gt 1/2 而 p (y | x)如下: { | class = “ wikitable”|-！!!y=0 !!y=1 |- | x=1 | \lt math\gt 1/2 }$ $\displaystyle{ 1/2 }$
$\displaystyle{ x=2 }$ $\displaystyle{ 1 }$ $\displaystyle{ 0 }$

[/itex] || 1/2

|- | x=2

|| 1
|| 0


|}

[/itex] || 1/2

|- | x=2

|| 1
|| 0


|}

Text generation

gives an example in which a table of frequencies of English word pairs is used to generate a sentence beginning with "representing and speedily is an good"; which is not proper English but which will increasingly approximate it as the table is moved from word pairs to word triplets etc.


• Discriminative model
• Graphical model

= 另见 =

• 判别模型
• 图形模型

References

1. 脚本错误：没有“Footnotes”这个模块。: "Generative classifiers learn a model of the joint probability, $\displaystyle{ p(x, y) }$, of the inputs x and the label y, and make their predictions by using Bayes rules to calculate $\displaystyle{ p(y\mid x) }$, and then picking the most likely label y.
2. 脚本错误：没有“Footnotes”这个模块。: "This distinction between conditional learning and discriminative learning is not currently a well established convention in the field."
3. 脚本错误：没有“Footnotes”这个模块。: "Discriminative classifiers model the posterior $\displaystyle{ p(y|x) }$ directly, or learn a direct map from inputs x to the class labels."
4. 脚本错误：没有“Footnotes”这个模块。: "We can use Bayes rule as the basis for designing learning algorithms (function approximators), as follows: Given that we wish to learn some target function $\displaystyle{ f\colon X \to Y }$, or equivalently, $\displaystyle{ P(Y\mid X) }$, we use the training data to learn estimates of $\displaystyle{ P(X\mid Y) }$ and $\displaystyle{ P(Y) }$. New X examples can then be classified using these estimated probability distributions, plus Bayes rule. This type of classifier is called a generative classifier, because we can view the distribution $\displaystyle{ P(X\mid Y) }$ as describing how to generate random instances X conditioned on the target attribute Y.
5. 脚本错误：没有“Footnotes”这个模块。: "Logistic Regression is a function approximation algorithm that uses training data to directly estimate $\displaystyle{ P(Y\mid X) }$, in contrast to Naive Bayes. In this sense, Logistic Regression is often referred to as a discriminative classifier because we can view the distribution $\displaystyle{ P(Y\mid X) }$ as directly discriminating the value of the target value Y for any given instance X
6. 脚本错误：没有“Footnotes”这个模块。
7. Bishop, C. M.; Lasserre, J. (24 September 2007), "Generative or Discriminative? getting the best of both worlds", in Bernardo, J. M. (ed.), [[[:模板:Google books]] Bayesian statistics 8: proceedings of the eighth Valencia International Meeting, June 2-6, 2006], Oxford University Press, pp. 3–23, ISBN 978-0-19-921465-5 {{citation}}: Check |url= value (help)
8. "Generative Models". OpenAI. June 16, 2016.
9. Kaplan, Jared; McCandlish, Sam; Henighan, Tom; Brown, Tom B.; Chess, Benjamin; Child, Rewon; Gray, Scott; Radford, Alec; Wu, Jeffrey; Amodei, Dario (2020). "Scaling Laws for Neural Language Models". arXiv:2001.08361 [stat.ML].
10. "Better Language Models and Their Implications". OpenAI. February 14, 2019.
11. Brock, Andrew; Donahue, Jeff; Simonyan, Karen (2018). "Large Scale GAN Training for High Fidelity Natural Image Synthesis". arXiv:1809.11096 [cs.LG].
12. Razavi, Ali; van den Oord, Aaron; Vinyals, Oriol (2019). "Generating Diverse High-Fidelity Images with VQ-VAE-2". arXiv:1906.00446 [cs.LG].
13. "Jukebox". OpenAI. April 30, 2020.