在R MXNet数据集中仅训练可预测样本的最佳方法

时间:2017-06-23 09:03:37

标签: r ruby machine-learning deep-learning mxnet

我的训练集看起来像这样。

特点:分类/数值

输出:二进制1/0

[1] feature[1][1] feature[1][2] ... feature[1][j]
[2] feature[2][1] feature[2][2] ... feature[2][j]
.
.
.
[i] feature[i][1] feature[i][2] ... feature[i][j]

假设一些样本(行)具有可能产生类似输出的“好”值组合,而其他样本具有“坏”值组合,因此难以预测。

我的目标是,通过摆脱那些缺乏规律性的不良样本,我想提高最终的准确性。有人能告诉我什么是最好的算法或预处理来自动检测那些样本,以便只训练好的样本?提前谢谢!

ENV:MXNet,R

1 个答案:

答案 0 :(得分:1)

使用深度学习模型,您通常可以获得足够的自由度,以便模型在特征空间中学习对预测有用的结构。如果有两个具有不同特征的组(例如猿和人),并且知道该组在进行预测时很有用,那么模型应该能够学习这个。

此外,如果你的最终目标是分类,那么在深度学习模型中常见的是softmax layer作为输出,可以解释为给定类的概率;这个概率越高,你对预测的信心就越大。您应该按this paper中的建议校准和评估此概率。

另一方面,如果您希望应用更简单的模型(例如线性模型),您可能需要事先执行无监督学习,并将其作为模型中的分类功能。正如Viacheslav所建议的,像K-Means这样的聚类算法可以用于您的数据集,否则您可能需要查看高斯混合模型或DBSCAN。