选择合适的机器学习算法?

机器算法验证 回归 机器学习 分类 聚类
2022-03-31 16:10:19

我不认为这是一个困难的问题,但我想有人需要经验来回答它。这是一个在这里被很多人问到的问题,但我没有找到任何答案来解释选择合适的 ML 算法的原因。

所以,假设我们有一组数据。假设我想做聚类(如果我也有标签或值或我的训练集数据,这可能是分类或回归)。

在选择合适的之前我应该​​考虑什么algorithm或者我只是随机选择算法?

此外,我如何选择preprocessing可以应用于我的数据的任何数据?我的意思是有任何格式“ IF feature X has property Z THEN do Y”的规则吗?

此外,除了预处理和选择我想念的数据之外,还有什么其他的事情,你想给我一些建议吗?

例如,假设我想做聚类。说“ I will apply k means at that problem”是最好的方法吗?什么可以提高我的表现?

我将选择更合理的答案作为最佳答案,并解释人们应该考虑的一切。

2个回答

是否有“如果特征 X 具有属性 Z 那么做 Y”格式的任何规则?

是的,有这样的规则。或者更确切地说,如果 x 则尝试 y 和 z 并避免 w 是明智的。

但是,什么是明智的,什么是不明智的取决于

  • 您的应用程序(影响例如问题的预期复杂性)
  • 数据集的大小:多少行,多少列,多少个独立案例
  • 数据的类型/什么样的测量。例如,基因微阵列数据和振动光谱数据通常具有可比的大小,但数据的不同性质表明不同的正则化方法。
  • 在实践中还取决于您应用不同方法的经验。

如果没有更具体的信息,我认为这就是我们可以说的。

如果您想对一般问题有一个一般性的答案,我建议您从统计学习要素开始。

有一篇经典论文 (Wolpert, 1996) 讨论了上面提到的无免费午餐定理论文可以在这里找到。但根据论文和大多数从业者的说法,“学习算法之间[很少]存在先验区别。” 注意:我将“不”替换为“很少”。

参考

沃尔珀特,DH (1996)。学习算法之间缺乏先验的区别神经计算8 (7),1341-1390。