目录
第一章 机器学习算法概述
1.1什么是机器学习?
1.2机器学习的形式分类
1.2.1 监督式学习
1.2.2 无监督学习
1.2.3强化学习
1.3 机器学习算法综览
人工只能的概念是由以麦卡赛、明斯基、罗切斯特和香农等为首的一批科学家在1956年提出的。为何已有六十余年的历史学科又一次进入到人们视野的中心?是什么技术的突破,为人工智能领域注入了新鲜的活力?
人工智能的核心是机器学习,而机器学习的核心是算法!近年来,机器学习的算法,尤其是深度学习算法,展现出了无与伦比的威力,而且GPU(图像处理器)的高速发展,使得大规模深度学习成为可能。正是机器学习算法和硬件技术的土坯使得人工智能焕发新生。
本书将要回答:机器如何通过学习获取智能?机器学习算法和传统算法有何不同?
本章先概述机器学习这领域。
机器学习是智能体通过模拟或实现人类的学习行为来获得新的知识或技能,重新组织已有的知识结构,以不断改善自身智能。
给定任务T,相关的经验E,关于学习效果的度量P,机器学习就是通过对经验E的学习来优化任务T完成效果度量P的一个过程。
举例:无人驾驶汽车系统中,机器学习的任务就是根据路况确定驾驶方式;学习效果的度量可以是事故发生的概率;经验是人类大量的驾驶数据。
在机器学习中,用于学习的经验数据为训练数据,完成任务的方法叫模型。机器学习的核心是设计出以训练数据为输入,模型为输出的算法。
常见的机器学习的形式分类有两种:无监督学习和有监督学习。此外,还有介入两者之间的形式——强化学习。
在这类机器学习的学习形式中,每一条训练数据含有两部分信息:特征组和标签。一条训练数据中的特征组是对应对象的特征的描述,而标签则是对象的一个属性。监督式学习的任务就是根据对象的特征组对标签的取值进行预测。
举例:手写数字识别。特征组是手写数字图片的像素灰度矩阵,标签是图片中的数字。
通常,有两种获取标签值的方式:1.人工标注法。例如,电影推荐系统中,用户给影片的评分便是训练数据的标签。2.数据自带标签值。例如,搜索引擎中,点击率越高的链接,应当排在前面。
根据训练数据所带标签值的特性,又可将监督式学习分为两类——分类问题和回归问题。
分类问题,是指标签值只取有限个可能值,对应的监督式学习。每个标签值代表一个类,含有k个类别的分类问题被称为k元分类问题。
分类问题的任务可分为两种形式。第一种是要求对类别有明确的预测;第二种是计算出给定对象属于每一类别的概率。
回归问题,是指标签取值为某个区间实数的监督学习问题。例如,房价预测中,训练数据包含房屋及相关具体特征 和 交易价格(标签值)。
上述两类监督式学习问题可以相互转化,比如logistic回归就是一种利用回归方法求解分类问题的算法。
训练数据不含标签。无监督学习问题的任务通常是对数据本身的模式识别与分类。广泛应用于降维问题和聚类问题。
降维问题。机器学习中每条训练数据的特征组都可以用一个向量来表示。此向量的每个分量代表了对象的一个特征。实际应用中,特征组的维度相当高(甚至达百万数量级)时,众多特征增加了求解问题的复杂性,因此对高维度的特征组进行低维近似,是降维问题的主要应用。降维问题的另一个应用便是数据可视化。
聚类问题。无监督学习的聚类问题和有监督学习的分类问题区别在于:聚类问题的任务仅限于对未知分类的一批数据进行聚类,而分类问题是用已知分类的训练数据训练出一个能够预测数据类别的模型。二者都是将数据按模式分类。聚类问题常应用于异常探测。聚类算法将数据聚成两类——正常类和异常类。
强化学习是现代人工智能的重要课题,在博弈策略、无人驾驶汽车等领域中都能见到强化学习的身影。
强化学习的任务是根据对环境的探索,制定应对环境变化的策略。它模拟了生物探索环境和积累经验的过程。例如,训练海豚杂技表演时,海豚每成功完成动作,即可获得奖励,否则没有。这样的经验与记忆引起海豚做出精彩的杂技表演。
强化学习是介于监督式学习与无监督学习之间的一类机器学习算法。一方面,强化学习没有一组带有标签的训练数据作为其输入,算法需要自发地探索环境来获得训练数据;而另一方面,由于环境对每个行动能给与反馈,所以可认为,通过探索得到的数据是有标签的。
本书的2-9章介绍监督式学习算法。
第二章介绍监督学习的基本概念、一般性算法架构——经验损失最小化、正则化算法。过拟合是经验损失最小化算法常遇到的问题,正则化则是降低过拟合概率的重要手段之一。
第三章讲述线性回归算法。线性回归算法的正规方程用到了均方误差求解最优解的数学表达式,但绝大多数监督式学习算法的最优解不存在明确数学解析表达式,因此需要用更具一般性的算法来求解——搜索算法。
第四章将系统讲解机器学习中的搜索算法,包括梯度下降算法、随机梯度下降算法、牛顿迭代算法以及坐标下降算法。
第五章讲解Logistic回归算法。Logistic回归算法将回归算法的输出左右sigmoid函数的输入,这样将输出值限制在0-1之间。
第六章介绍另一种分类算法——支持向量机。以二元分类为例,通过训练,支持向量机将计算出一条直线方程,使得带+1和-1标签的训练数据分别位于该直线的两侧。支持向量机的中心思想是选择一条最”中立“的直线方程,使得直线到最近的两类标签的数据点的距离相等。那些到这条直线距离最近的点被称为支持向量。倘若训练数据间不存在明确的直线边界,也不意味着该方法失效了,有一种名为”核方法“的算法技巧,使得支持向量机算法可以处理不规则的边界计算问题。以上三类算法(线性回归、logistic回归、支持向量机)都要求训练数据的特征组取值为数值,而面对特征组取值是类别时,以上三类无法直接使用类别特征。
第七章介绍的决策树算法时处理类别特征的最佳选择。决策树算法既能处理分类问题,也能处理回归问题,具体算法性能比较详见第七章。
第八章介绍深度学习算法的基础——神经网络。
第九章介绍深度学习,包含卷积神经网络和循环神经网络,CNN模拟人类视觉,适合图片识别的相关任务,RNN模拟人脑记忆,适合于时间序列和自然语言的相关任务。
第10-11章关于无监督学习
第十章讲解降维算法。代表性算法为主成分分析法(PCA),还有线性判别分析法、局部线性嵌入法和多维缩放算法等
第十一章介绍聚类算法。包含k均值算法、合并聚类与DBSCAN算法。
第12章 关于强化学习
强化学习的任务形式分两类——有模型强化学习和免模型强化学习。
对于有模型强化学习,任务中,行动对环境的改变效果以及可能获得的奖惩是已知的。在这一假定下,算法可以在所有行动开始前用动态规划算法(值迭代与策略迭代)预先计算出最优策略。
对于免模型强化学习,任务中,行动对环境的改变效果以及可能获得的奖惩是未知的。算法必须自行探索来获得环境的信息以及行动的奖惩值。第十二章将介绍两类免模型强化学习算法——时序差分模型算法和策略梯度型算法。时序差分模型算法是通过对行动可能获得的奖惩建模来学习最优策略,代表型算法有sarsa算法、Q学习算法和深度Q神经网络。深度Q神经网络是深度学习和强化学习的产物。策略梯度算法是直接对策略建模,代表型算法有REINFORCE模型和Actor-Critic算法。