加入收藏 | 设为首页 |

囚爱-机器学习的算法和一般《算法导论》里的算法有什么本质上的异同?

海外新闻 时间: 浏览:206 次

如果只是看算法的“样子”,可能会比较迷惑,机器学习算法中也使用了经典算法策略,例如监督学习的决策树用了分治、流型学习的isomap用了最短路径,强化学习的策略评估是动态规划等等,看上去也没什么区别,但是直觉上机器学习算法与经典算法又很不一样,这里面的关键区别在哪呢,我们可以尝试从另一个视角来看待算法。

在一些人眼里,算法是解决问题的步骤,在另一些人眼里,算法只是一个证明,是关于一个问题可以在多少时间内求解到何种程度的证明。后者更关心的,是哪些问题可以求解哪些问题不可以、可以求解的问题哪些是能高效求解的等等。于是有了关于问题类的定义,例如可(有效)计算的类别——NP类问题的(优化)定义大致可以描述为

存在非确定图灵机,对于任给问题的实例,能在关于问题规囚爱-机器学习的算法和一般《算法导论》里的算法有什么本质上的异同?模的多项式时间找到该问题的解。

相似的,对于学习问题也有类别划分,Leslie Valiant给出了可(有效)(监督)学习问题类的定义——近似概率正确可学习,大致描述为

对于任给的[0,1]间的误差常数和概率常数,存在算法A对于任给学习问题的实例,使用不超过关于误差常数和概率常数(实际上是它们的倒数)的多项式个独立同分布采样的样本,就能以足够的概率(1-概率常数)找到一个模型,其真实误差小于误差常数。

从上面的定义中可以看到,对于经典问题类的定义非常清晰:图灵机有形式定义,“问题的解”指优化问题最优解,定义中不存在任何不确定的部分。然而学习问题的定义中包含了一处很不确定的地方:算法的输入是有限样本,输出却是关于真实误差。在输入有限样本时,算法无从得知真实误差。从经典算法角度,这是要解决一个看不见的问题,也就是不适定问题,是没法解决的。因此在学习问题的定义中,加入了概率,让算法去猜面临的问题是什么,容忍一定猜错的可能。

因此,经典算法是在解决问题,然而学习算法中有些环节并囚爱-机器学习的算法和一般《算法导论》里的算法有什么本质上的异同?不是在解决问题,而是在猜测问囚爱-机器学习的算法和一般《算法导论》里的算法有什么本质上的异同?题,有了对问题的猜测,才开始解决问题,不同的学习算法就包含了不同的猜问题的策略,也就是归纳偏执(inductive bias)。这一部分就是经典算法中所没有的部分,是机器学习研究的核心。

机器学习论文看起来常常以优化技术为中心,容易让人误以为机器学习就是优化。Pedro Domingos 2012年在CACM发表的《A Few Useful Things to Know about Machine Learning》http://homes.cs.washington.edu/~pedrod/papers/cacm12.pdf是一篇有意思的文章,里面给出了一个定义:

学习=表示+评价+优化

大体来讲,“表示”指数据和模型的表达形式,例如数据是一个向量还是苏轼的诗词一个图、模型是神经网络还是决策树;“评价”定义了我们想要什么样的模型;“优化”则是学习过程的实施者。从这个定义看,"优化"对应了经典算法(包括组合优化、凸优化等),而"表示+评价"则是机器学习独有的,决定了学习系统能够达到的泛化能力。不同的"表示+评价",关系到猜问题的策略,定义了优化要解决的问题是囚爱-机器学习的算法和一般《算法导论》里的算法有什么本质上的异同?什么。因此也可以看到,机器学习算法,不仅包含了如何解决问题的部分,还包含了如何定义问题的部分。

总的来说,经典算法是在适定(well-defined)问题下的求解过程,机器学习算法是在病态(ill-posed)问题下的问题重定义与求解的过程。个人理解仅供参考。

====

写了个开头有这么多人点赞,感觉很惭愧,自己挖的坑,赶在年三十前,含泪也要填完。。。

另外“非精确求解”和“概率求解”都不是机器学习算法的特征,在经典算法中同样有近似算法和随机算法,这些算法本身并不认为是机器学习算法(当然可以用于机器学习),因为它们仍然面对的是适定问题。

作者:俞扬

链接:https://www囚爱-机器学习的算法和一般《算法导论》里的算法有什么本质上的异同?.zhihu.com/question/24976006/answer/140708960

来源:知乎