首页 > 代码库 > 【转载】Discriminative Learning和Generative Learning
【转载】Discriminative Learning和Generative Learning
Discriminative Learning和Generative Learning
Discriminative 学习算法是一类模型化输入(X)输出(Y)的关系的方法,简单来说就好比中医,我们只知道用若干个药(当归,虎骨。。。)可以凑成一个药方,就能治疗跌打病痛。但我们并不去了解内部的原因,我们将其看做一个黑盒,只需了解X和Y的关系,即model P(Y|X).学习的结果就是X的一组参数,好比当归2钱,虎骨1两。Discriminative Learning要求X的各个项是独立变化的。
Generative学习算法不直接model P(Y|X),因为这可能非常复杂,例如model 在give 一个X=吸烟的人,Y得肺癌的几率。而是model P(X|Y),就好像在得肺癌的人里面看吸烟人的情况。我们都知道吸烟的人数亿亿计,但得肺癌的人逼近是少数,model 从得肺癌的人出发,更加容易,比如10万个得肺癌的,抽样1000个就差不多了。
Generative的算法需要考察X的每个项的概率分布情况,即P(Y|{x1,x2,x3...xn}),需要考察P(x1|Y)...P(xn|Y)...
一句话,直接model P(Y|X)的算法就是Discriminative Learning,model P(X|Y)和 P(Y)然后间接的model P(Y|X)的就是 Generative Learning。
以下来自维基百科
http://en.wikipedia.org/wiki/Discriminative_model
Discriminative model
Discriminative models are a class of models used in machine learning for modeling the dependence of an unobserved variable y on an observed variable x. Within a statistical framework, this is done by modeling the conditional probability distribution P(y | x), which can be used for predicting y from x.
Discriminative models differ from generative models in that they do not allow one to generate samples from the joint distribution of x and y. However, for tasks such as classification and regression that do not require the joint distribution, discriminative models generally yield superior performance. 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 be extended to unsupervised learning.
Examples of discriminative models used in machine learning include:
- Logistic regression, a type of generalized linear regression used for predicting binary or categorical outputs (also known as maximum entropy classifiers)
- Linear discriminant analysis
- Support vector machines
- Boosting
- Conditional random fields
- Linear regression
- Neural networks
Generative model
In probability and statistics, a generative model is a model for randomly generating observable data, typically given some hidden parameters. It specifies a joint probability distribution over observation and label sequences. Generative models are used in machine learning for either modeling data directly (i.e., modeling observed draws from a probability density function), or as an intermediate step to forming aconditional probability density function. A conditional distribution can be formed from a generative model through the use of Bayes‘ rule.
Shannon (1948) 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.
Generative models contrast with discriminative models, in that a generative model is a full probabilistic model of all variables, whereas a discriminative model provides a model only for the target variable(s) conditional on the observed variables. Thus a generative model can be used, for example, to simulate (i.e. generate) values of any variable in the model, whereas a discriminative model allows only sampling of the target variables conditional on the observed quantities. On the other hand, despite the fact that discriminative models do not need to model the distribution of the observed variables, they cannot generally express more complex relationships between the observed and target variables. They don‘t necessarily perform better than generative models at classification and regression tasks.
Examples of generative models include:
- Gaussian mixture model and other types of mixture model
- Hidden Markov model
- Naive Bayes
- AODE
- Latent Dirichlet allocation
- Restricted Boltzmann Machine
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 is often more accurate to model the conditional density functions directly, using a discriminative model (see above).
【转载】Discriminative Learning和Generative Learning