更多专业的人工智能相关文章,微信搜索 : robot-learner , 或扫码
机器学习算法是一个大的家族,是狭义上的统计分支,也是广义上的人工智能基础。按照不同的标准,机器学习算法可以有不同的分类方式。在下一章节我们深入讨论每一种典型的机器学习算法原理之前,我们先看一下如何对机器学习算法进行分类。
1. 监督学习(supervised learning)v.s. 非监督学习(unsupervised learning)v.s. 强化学习(reinforcement learning)。
1) 监督学习
通过提供许多对输入(X)和对应的输出(Y)的历史数据,通过优化的方式找到最佳的映射关系。 一旦从训练数据学到了这一 种映射关系,我们就可以随时根据新的输入数据 (X),从而预测给出最佳的结果(Y);比如常见的分类问题。
2) 非监督学习
和监督学习不同,输入只有X,而没有Y。是通过数据自身的特征,把相似的数据聚合到一起,并不涉及Y变量。比如聚类问 题,把一堆数据按照相似性聚合到不同的种类。
3) 强化学习
研究在一个特定环境中如何采取每一步的行动,从而获得最大的累积奖励。比如电子游戏中的打坦克游戏如何避免对方攻击和 击毁最多的坦克。 强化学习和标准的监督学习不同,它并不是通过提供许多对正确的输入和输出(X,Y)形式去寻找答案,也不 用去纠结优化过程中的次优解,而是通过学习主体所在环境对主体行动的反馈,在已有知识和未知领域中去寻求平衡,追求累计 奖励的最大化。强化学习在某种形式上最贴近人们通常意义上的人工智能,比如机器人自动规划路线和下围棋。
2. 参数化(parametric)v.s. 非参数化(non-parametric)
1) 参数化
参数化算法需要假设底层数据符合参数化的方程形式。比如朴素贝叶斯模型,回归模型,和简单的神经元网络算法。参数化算 法具有形式简单,优化速度比较快,需要数据量相对较少等优点。
2) 非参数化
非参数化算法对底层数据遵守的规律不做任何假设,直接依靠数据得到模型。比如决策树算法,kNN算法(k最邻近算法)。非 参数算法同参数化算法相比更加灵活,效果有时候比较强大。但是这种方法需要比较多的数据才能达到较好的效果,速度较慢, 需要警惕过度拟合。
3. 生成式(generative)v.s. 判别式(discriminative):
机器学习算法根据自变量X寻求目标变量Y的预测,本质上是寻求条件概率函数P(Y|X)的表达形式,即已知X得到Y的条件概率(比如已知我们身在东北,问冬天下雪的概率)。
1) 生成式
生成式算法假设并且从训练数据中得到目标变量Y的分布方程P(Y),和自变量特征X的条件分布方程P(X|Y)。然后根据贝叶斯公式,我们可以得到最终的预测方程P(Y|X)。比较典型的例子是朴素贝叶斯算法。
2) 判别式
判别式算法直接根据数据去训练并且得到预测方程P(Y|X),比如逻辑回归算法。
4. 分布式 v.s. 非分布式
1) 分布式
分布式算法是指那些可以很好的以并行化编程方式解决,从而依托大数据计算平台,针对单机不能处理的大量数据训练模型的算法。这些算法包括K-means聚类算法,朴素贝叶斯,逻辑回归,PageRank等。
2) 非分布式
许多效果优异的机器学习算法并不容易被改造成分布式计算方式。比如支持向量机(SVM),梯度增强算法(GBM)等。