假设我有一个由(x, y)样本组成的训练集。
要应用生成算法,比如高斯判别算法,我必须假设
p(x|y) ~ Normal(mu, sigma)
对每一个可能的sigma都成立
还是我只需要知道给定y的情况下x ~ Normal(mu, sigma)
?
我如何评估p(x|y)是否足够好地遵循多元正态分布(达到某个阈值),以便我可以使用生成算法?
回答:
这些问题真不少。
要应用生成算法,比如高斯判别算法,我必须假设
p(x|y) ~ Normal(mu, sigma) 对每一个可能的sigma都成立
不,你必须假设对于某个mu和sigma对来说这是正确的。实际上,你不会知道mu和sigma具体是多少,所以你需要估算它们(频率学派,最大似然/最大后验估计),或者更好的是将参数估计的不确定性纳入预测中(贝叶斯方法)。
我如何评估p(x|y)是否遵循多元正态分布?
传统上,使用拟合优度测试。然而,如果x的维度超过几个,这个方法就不适用了,因为标准测试涉及到箱子中的项目数量,而在高维度下所需的箱子数量是天文数字,因此预期计数非常低。
更好的方法是问自己:我有哪些选项来建模x的(条件)分布?你可以使用模型比较技术在这些选项之间进行比较。请阅读关于模型检查和比较的内容。
最后,你的最后一点:
足够好(达到某个阈值)以便我可以使用生成算法?
许多生成方法的悖论,包括例如Fisher的线性判别分析,以及朴素贝叶斯分类器,就是即使模型对数据的拟合很差,分类器仍然可以工作得很好。虽然没有特别合理的理由解释为什么会这样,但许多人已经观察到这在经验上是正确的。是否有效可以比检查假设的分布是否很好地解释数据更容易验证:只需将数据分为训练集和测试集,然后找出答案!