何时在机器学习中使用生成算法?

Gab*_*e B 0 normal-distribution generative-programming machine-learning logistic-regression

假设我有(x,y)样本制作的训练集.

为了应用生成算法,让我们说高斯判别,我必须假设

p(x|y) ~ Normal(mu, sigma) 为每一个可能的西格玛

或者我只需要知道是否x ~ Normal(mu, sigma)给出了y?

如何评估p(x | y)是否遵循多元正态分布对我来说足够(达到阈值)使用生成算法?

Ben*_*son 5

那是很多问题.

为了应用生成算法,让我们说高斯判别,我必须假设

每个可能的西格玛的p(x | y)〜正常(μ,西格玛)

不,你必须假设对于一些mu,sigma对是真的.实际上你不知道mu和sigma是什么,所以你需要估计它(频率,最大似然/最大后验估计),或者甚至更好地将你对参数估计的不确定性纳入预测(贝叶斯方法论) ).

如何评估p(x | y)是否遵循多元正态分布?

经典,使用拟合优度测试.但是,如果x的维数超过少数几个,那么这将不起作用,因为标准测试涉及箱中的项目数量,而高维度所需的箱数是天文数字,因此您的预期计数非常低.

更好的想法是说以下内容:我对x(条件)分布的建模有哪些选择?您可以使用模型比较技术比较这些选项.阅读模型检查和比较.

最后,你的最后一点:

我使用生成算法足够(达到阈值)?

许多生成方法的悖论,例如Fisher的线性判别分析,以及Naive Bayes分类器,即使模型对于数据来说很差,分类器也能很好地工作.没有特别合理的理由说明为什么会出现这种情况,但许多人认为这是经验上的真实.它是否有效可以比假设的分布更好地解释数据更容易检查:只需将数据分成训练和测试并找出答案!