机器学习:概述

机器学习是人工智能的一个分支,讨论的是如何通过模型提取数据中的知识。通常这些知识是非确定性的知识,需要从数据出发挖掘潜在的知识,构建的模型也是统计意义上的模型,是对真实情况的一个拟合,所以也叫统计知识学习。从这里我们就可以看出来这里有一个隐含的假设,就是假设数据潜在一个统计学规律,而学习的过程中只是将其找出来。

机器学习总的来讲可以分为两大类,一种是监督学习,一种是非监督学习。所谓监督学习就是用于训练的数据集有确定的结果即同时给出数据和结果;另一种是非监督学习,就是丢给你一堆数据,让你从中发现规律。当然还有一种是强化学习,强化学习讨论的是一种不需要预先给定任何数据,而是通过接收环境对动作的奖励(反馈)获得学习信息并更新模型参数,实际上是建立了一个输入和反馈的闭环系统。

常见的监督模型包括:感知机、k近邻、朴素贝叶斯、决策树、Logistic回归和最大熵、支持向量机、Boosting方法、EM算法、隐马尔可夫模型、条件随机场;非监督模型:聚类、奇异值分解、主成分分析、潜在语义分析、马尔可夫链蒙特卡洛方法等等。

理解上述模型需要有以一个统一框架:模型、策略和算法;模型就是如何用一个数学模型对问题建立适合的描述,策略就是要选择对方法(蛮力、分治、贪心等)、算法就是选择一种实际的步骤来实现策略。比如感知机:模型就是通过一个符号函数来表示一个分类问题要么是要么不是,策略就是通过一个损失函数来寻找最优参数,算法就是用梯度下降算法来逼近解。

机器学习中模型的评价通过模型的训练误差和测试误差来评估,通常要求两个误差都小是最好的,但是往往很难做到,模型常常出现在训练集中拟合的很好而测试集中表现不佳的情况,这就我们说的过拟合。过拟合产生的原因往往是生成的模型过于复杂而导致的,就是把简单的问题搞复杂了,通常的解决方式是在模型中加入正则项,也可以理解为复杂度的控制项目,这个项一般与问题的结构有关常常是问题结构的函数。

在监督学习中建立的模型又分为生成模型和判别模型。生成模型就是已知了联合概率分布,求出条件概率分布,也就是知道P(X,Y),求P(Y|X),而判别方法则是直接从数据中学习P(Y|X)即条件概率分布。上述的监督学习也可以大致规到这两种依据模型的分类了。