如何创建一个能够对假设做出决策的深层神经网络?

时间:2017-03-31 11:36:03

标签: python machine-learning statistics deep-learning

基本上,我有兴趣解决一个假设问题,我只知道零假设的数据分布,并且对替代案例一无所知。

我关心的是我应该如何训练我的深层神经网络,以便它可以分类或识别特定样本数据是否具有与零假设情况类似的分布,或者来自另一个类别(另类假设情况)

根据我的理解,它与二元分类(一个对所有情况)不同,因为在这种情况下,我们知道我们要处理哪些数据,但在我的情况下,替代假设情况可以遵循任何数据分发。

我在这里给你一个示例情况,我想要的是什么

假设我想预测一个人可能患有癌症

e.g

我有一个导致癌症的因素数据集,

Parameter A=2,Parameter B=1.87,Parameter C=2.6,Has cancer = No

但我没有数据集

config.reload_classes_only_on_change = false config.cache_classes = false

可以是这样的

意味着我不知道导致没有患癌症的任何事情,我是否仍然可以训练我的模型来识别一个人是否患有癌症?

2 个答案:

答案 0 :(得分:0)

答案是肯定的,不是......

如果你对其他假设中的数据点分布一无所知,原则上它们可能与你已知的分布无法区分,因此你总是将它们(错误地)归类为" myHypothesis&#34 ;。那是没有部分。

对于“是”部分:您可以做的是排除与您的假设完全不同的数据集,使其不太可能由同一分布生成。这意味着原则上你可以做出类似&#34的陈述; myDistribution生成给定数据的概率小于some value"。

但是,我并不认为神经网络必然是做出这种陈述的最佳方式。只需要一个模型(理想情况下是一个已知的模型......所以,如果你知道你应该使用哪个确切的分布并使用参数而不是使用神经网络)来训练数据,那么就足够了。给出模型时观察测试数据的概率(例如使用贝叶斯推断)。有关详细信息,请查看this

之类的内容

答案 1 :(得分:0)

如果您确定替代假设数据来自不同于低假设的分布,您可以尝试无监督学习算法。即具有正确数量的簇的K均值或GMM可以产生很大的数据分离。然后,您可以将标签分配给第二类数据并使用它训练分类器。

这是半监督学习的一般方法。

另一个想法是将备选假设数据视为异常值,并使用异常检测算法找到第二类数据点。这实现起来要困难得多,并且在很大程度上依赖于假设数据来自真正不同的分布。