什么是机器学习?
机器学习的核心思想是创造一种算法,它能从数据中挖掘出有规律的东西,而不需要针对某个问题去写代码。你需要做的只是把数据“投喂”给这个算法,然后它会在数据上建立自己的逻辑。最基本的机器学习算法是解决分类和回归两大类问题。
机器学习的分类
从机器学习算法本身来看,可分为监督学习、非监督学习、半监督学习、增强学习。
监督学习:给机器的训练数据拥有标记或标签的学习方式是监督学习。监督学习主要处理分类和回归问题,本系列大部分算法都是监督学习类算法,主要的监督学习算法有下面几种。
k近邻 线性回归和多项式回归 逻辑回归 SVM支持向量机 决策树和随机森林
非监督学习:给机器的训练数据没有任何标记或标签答案。
它经常对这些数据做聚类分析型分类和异常值检测。另外非监督学习可用于对数据进行降维,降维包括特征提取和特征压缩,经典的PCA算法就是非监督学习算法用于实现特征压缩,降维把高纬特征向量变为低纬,方便计算和可视化。
半监督学习:顾名思义是监督学习和非监督学习的组合,给机器的训练数据一部分有标记或答案,另一部分没有。这种情况往往更常见,现实中各种原因都可能导致标记缺失。比如手机照片的分类,有些我们自己标记了类别,有些没有,对手机照片的分类就类似一个半监督学习。这类问题一般先使用无监督学习对数据进行处理,之后使用监督学习手段做模型的训练和预测。
增强学习:也叫强化学习,它根据周围环境的情况采取行动,根据每次行动的结果和反馈,学习和调整行动方式,它必须学习什么是最好的策略从而随着时间推移能获得最大回报。如AlphaGo内部的算法。现在无人驾驶,机器人等都是这种方式进行学习。监督学习和半监督学习依然是增强学习的基础。
机器学习的其它分类
在线(online)学习和批量(batch)学习
批量学习:这种学习方式首先要准备一定量的样本数据集资料,将数据集送给模型训练,训练之后即将模型投入生产。其优点是简单,不考虑后来喂入的数据如何优化算法,缺点是模型适应环境变化的能力弱。解决办法是定时重新批量学习,但是计算开销大。
在线学习:训练过程批量学习一样,不同的是在线学习的输入样例也参与模型训练,迭代更新模型。在线学习的优点是及时反应环境变化,但新的数据可能带来不好的变化,比如一些离群点和不正常数据点。解决办法是及时进行异常值检测。
参数学习和非参数学习
参数学习:是对模型做一些规律(函数)性假设,一旦学习到参数,就不再需要原有的数据集执行预测了,如线性回归确定线性模型参数,参数确定后,执行预测时按函数运算就行而无需数据集值的作用。
非参数学习:不对模型做过多假设,参与训练的数据集通常都要参与预测。但非参数学习并不意味没有参数,而是并不对整个问题进行某种模型定义。
机器学习的哲学思考
数据即算法?
2001年,微软的一个研究团队发表了一篇著名论文,论文阐述到对于一个有效的机器学习算法,只要给足够的数据进行训练,它们最后的准确率都是逐步上升接近100%的。所以不少人提出数据即算法?也正因为如此,大数据时代拉开帷幕,人们开始意识到数据是可以产生价值的,算法也开始对数据本身越来越重视,著名数据科学家维克托麦尔舍恩伯格说到:大数据时代最大的转变就是对待数据处理思维方式的三种转变,现在对数据的处理强调:
全样而非抽样、效率而非精确、相关而非因果。
现在大多数机器学习算法都是数据驱动型的,算法的性能高度依赖数据质量。对复杂问题而言,数据比算法重要,这一想法被Peter Norvig等人进一步推广,并于2009年发表论文《数据的不合理有效性》。不过获得大量数据不是一件容易的事,中小型数据问题依然非常常见,所以暂时不要抛弃算法。
算法为王?
然而AlphaGoZero的出现,似乎挑战了数据即算法这种说法,AlphaGoZero是一种基于增强学习的人工智能。AlphaGoZero在训练中人类没有给它输入任何数据,它的数据都是算法自行产生的starting from scratch,它从空白状态学起,在无任何人类输入的条件下,迅速自学围棋,自己与自己对弈,并以100:0的战绩击败前辈AlphaGo。对于有些问题即使没有数据,算法也可以生成数据。
不过围棋毕竟有特殊性在里面,算法强大的说法并不一定对所有领域都适用。但这个突破告诉我们算法本身依然很重要。再好的数据都要有高效优秀的算法作为辅助,才能最大程度发挥数据本身的作用。
如何选择算法?
奥斯卡姆剃刀原则:简单就是最好的
其实这很好理解,在无法确定什么算法最优情况下,自然是越简单越好,然而机器学习领域什么才叫简单呢?没有人能确切定义。所以人们才总结出一些经典的机器学习算法用于改造和复用,这些都是比较简单的算法。
没有免费的午餐定理NFL:任意两个机器学习算法,它们的期望性能是相同的。
上述定理可以通过严格的数学推导证明出来,这意味着机器学习从本质上来说没有任何一个算法比另外一个算法好,相当于所有机器学习算法其实是等价的。不过该定理只是定义在有限的搜索空间。而且是期望相同,也许算法只是在这个问题上表现优异,而在其他问题表现欠佳,所以针对特定问题,有些算法可能更好。