机器学习(十五)——生成学习算法(Generative Learning algorithms)

原文:http://cs229.stanford.edu/notes/cs229-notes2.pdf

到目前为止,我们主要讨论的学习算法,模型p(y|x;θ),即给定x的条件下,y的条件分布。例如,Logistic回归将p(y|x;θ)建模为,其中g是Sigmoid函数。下面,我们将讨论一种不同类型的学习算法。

考虑一个分类问题,根据动物的一些特征,我们想要学习区分大象(y=1)和狗(y=0)。给定一个训练集,像Logistic回归算法或感知器算法会试图找到一条直线--即决策边界--将大象和狗分开。然后,为了将一种新动物归类为大象或狗,会检查它落在决策边界的哪一边,并据此作出预测。

这里有一个不同的方法。首先,看看大象,我们可以建立一个大象长什么样的模型。然后,看看狗,我们可以建立一个判断狗长什么样的单独模型。最后,为了对一种新动物进行分类,我们可以将新动物与大象模型相匹配,并将其与狗模型相匹配,看看这种新动物是否更像大象,还是更像我们在训练中看到的狗。

直接学习p(y|x)的算法(如Logistic回归),或试图直接学习从输入X空间到标签{0,1}的映射的算法(如感知器),这类算法被称为判别学习算法。这里,我们将讨论那些试图对p(x|y)(和p(y))建模的算法,这些算法被称为生成学习算法。例如,如果y表示一个是狗(0)还是大象(1)的例子,那么P(x | y = 0)模拟狗特征的分布,以及P(x|y=1)模拟大象特征的分布。建模p(y)(称为先验概率)和p(X|y)后,我们的算法就能使用 Bayes 公式推导出在给定x的条件下y的后验分布:


这里,分母p(x)=p(x|y=1)p(y=1)+p(x|y=0)p(y=0)。(您应该能够从概率的标准属性中验证这一点,概率论中的全概率公式),因此也可以用我们学到的数量p(x|y)和p(y)来表示。实际上,如果计算p(y|x)来进行预测,那么我们实际上不需要计算分母,因为


你可能感兴趣的:(machine,learning,machine,learning)