机器学习:没有免费午餐定理(No Free Lunch Theorem)

思考

机器学习中哪个算法好?哪个算法差呢?

下面两条线,哪个更好呢?


机器学习:没有免费午餐定理(No Free Lunch Theorem)


没有免费午餐定理

如果我们不对特征空间有先验假设,则所有算法的平均表现是一样的。

假设我们的计算机只有两个存储单元,而且每个存储单元只能存储两个标签,一类是class1(圆圈),一类是class2(叉叉)。假设其中一个存储单元是圆圈,另一个存储单元未知,需要我们预测,预测的可能情况如下:


机器学习:没有免费午餐定理(No Free Lunch Theorem)


如果不对特征空间有假设,则可以认为这两种情况的概率差不多,也就意味着,我们无论选择预测哪个结果,成功的概率都是50%。

假设计算机的存储单元变成三个,情况变成如下:


机器学习:没有免费午餐定理(No Free Lunch Theorem)


如果不对特征空间有假设,则可以认为这四种情况的概率差不多。

三个存储单元的情况,以只两个存储单元的状态,预测第三个存储单元的结果如下:


机器学习:没有免费午餐定理(No Free Lunch Theorem)


存储单元更多的情况,"?"处应该是圆圈还是叉叉呢?


机器学习:没有免费午餐定理(No Free Lunch Theorem)


大多数人应该选择上面的"?"为圆圈,下面的“?”是叉叉,这样真的对吗?如果我们把圆圈定义成花瓣,叉叉定义成蜜蜂。上边的"?"恰好表示小蜜蜂在花瓣里,也是合理的。但是大多数算法却不这么做。

我们认为:特征差距小的样本更有可能是同一类

但是事实上,没有所谓的世界上最好的算法,只有公认的好方法(支持向量机、决策树、神经网络等)

如果这篇博客对你有用,点个赞再走呗~


分享到:


相關文章: