
机器学习是人工智能的一个方向。它是一门多领域交叉学科,涉及概率论、统计学、矩阵论、神经网络、计算机等多门学科。其目标是使用计算机模拟或实现人类学习活动,从现有大量的数据中学习,利用经验不断改善系统性能。机器学习步骤一般分为获取数据、数据预处理、建立模型、模型评估和预测。本书共6章。第1章节主要介绍机器学习的基本概念及其发展史、机器学习分类、常见机器学习算法及其特点;第2章搭建机器学习开发环境,主要包括anacondapycharmpython软件的安装及使用,以及常见机器学习库的介绍和安装使用方法;第3章介绍了监督学习的4个经典算法:线性回归、决策树、k近邻和支持向量机算法,其重点在算法的应用;第4章介绍了主成分分析降维算法、Kmeans聚类算法;第5章介绍人工神经网络基础,并通过房价预测和手写数字识别实例进行验证;第6章介绍强化学习的基本概念,有模型学习和无模型学习,最后介绍了Q-Learning算法和Sarsa算法。本书由人工智能技术专业教师和英特尔FPGA中国创新中心的工程师们合力编写,讲解了大量的具体程序案例,涵盖大部分机器学习算法,教师和学生可以根据应用需求,选择对应的知识点和算法。本书所有程序均已经在英特尔FPGA中国创新中心AILab实训平台上验证实现。本书可作为高职高专院校电子信息类相关专业教材,也可作为科技人员的参考用书。
目前,人工智能技术、大数据技术已成为新经济的重要推力,需要大量的人工智能技术相关人才,将新的技术落实到广大传统行业中。国务院高度重视人工智能技术的发展,2017年制定和颁布了《新一代人工智能发展规划》。其中指出“人工智能是引领未来的战略性技术”。2018年教育部颁布《高等学校人工智能创新行动计划》,要求重视人工智能与传统学科的交叉融合。 机器学习主要研究机器如何通过模拟人类学习,不断收获新的知识或技能,以提升自身学习能力和性能。机器学习融合了智能科学、计算机科学、统计学、生物医学和社会学等多学科领域知识。早期,机器学习课程一般作为计算机专业研究生课程,或者作为本科计算机专业高年级选修课程,现在随着人工智能技术的广泛应用,部分高等院校和职业院校成立了人工智能与大数据学院,机器学习课程作为该专业学生的专业必修课。由于机器学习课程涉及学科广泛,对学生专业知识的宽度、深度和实际动手能力都有较高要求,因此在高职院校开设机器学习课程面临极大的教学挑战。高职院校机器学习课程教材应围绕国家、社会对新型产业人才的需求,坚持以“以学生为中心,产业为导向”,教材内容遵循“知识够用、重视应用、引入前沿”,加大实际应用案例在教学中的比例。 本书以项目实践为重点,突出项目实践比例,在实践中引入机器学习新知识和技术,动态更新学习内容。根据机器学习技术不同应用场景,结合实际应用,加深学生对机器学习技术的理解、方法的掌握及应用领域场景的认识。本书在内容选择上,既要反映机器学习的基础知识和经典算法,又要重视近期非常活跃的深度学习和神经网络的内容。因此,本书主要包括6章,第1章为机器学习的基本概念的介绍,主要让学生了解机器学习的基本概念,了解机器学习的应用场景;第2章为机器学习环境的搭建,通过项目驱动,让学生搭建属于自己的机器学习开发环境;第3章介绍机器学习中的监督学习经典算法,通过4个经典监督学习算法,引导学生解决实际生活中诸如预测和分类问题;第4章介绍机器学习非监督学习经典算法;第5章介绍目前比较热门的深度学习技术中的神经网络技术;第6章介绍强化学习技术。全书所有程序均已经在英特尔FPGA中国创新中心的AILab平台上验证实现。 本书由重庆电子工程职业学院徐宏英、尹宽、陈文杰、华成丽任主编,胡云冰、柴广龙、刘宇光、赵瑞华、方旭、童亮参编。其中,前三章由重庆电子工程职业学院徐宏英编写,后3章由陈文杰、尹宽和华成丽编写。英特尔FPGA中国创新中心的田亮、柴广龙和刘珂全程担任技术指导,其他老师参与了代码的测试和文字的校验。 本书在编写的过程中,得到英特尔FPGA中国创新中心的大力支持,在此表示感谢。另外,感谢重庆电子工程职业学院人工智能与大数据学院武院长和吴书记等领导对编写工作的指导和支持,同时也感谢电子工业出版社刘志红编辑对本书提出的宝贵意见。 由于作者水平有限,书中错误和不足之处在所难免,恳请广大读者不吝指正。编者:E-mail:hongying8015@126.com. 编者 2022年10月
第1章 机器学习介绍 001 1.1 机器学习简介 002 1.1.1 机器学习的基本概念 003 1.1.2 机器学习的发展历史 005 1.2 机器学习的分类及典型算法 010 1.2.1 机器学习的分类 010 1.2.2 监督学习 011 1.2.3 非监督学习 014 1.2.4 半监督学习 015 1.2.5 强化学习 018 本章小结 019 习题 020 第2章 基于Python语言的机器学习环境搭建与配置 023 2.1 机器学习相关软件介绍 024 2.1.1 机器学习开发语言 024 2.1.2 机器学习开发工具 028 2.2 机器学习开发环境搭建 036 2.2.1 Python的安装及使用 036 2.2.2 Anaconda的安装及使用 041 2.2.3 PyCharm的安装及使用 052 2.3 常见机器学习库函数功能介绍 059 2.3.1 基础科学计算库(NumPy) 059 2.3.2 科学计算工具集(Scipy) 068 2.3.3 数据分析库(Pandas) 074 2.3.4 图形绘制库(Matplotlib) 079 2.3.5 机器学习常用算法库(Scikit-learn) 080 本章小结 083 习题 084 第3章 监督学习 087 3.1 线性回归算法 088 3.1.1 常用损失函数 089 3.1.2 最小二乘法 091 3.1.3 梯度下降法 092 3.1.4 线性回归算法实例 094 3.2 决策树算法 098 3.2.1 分类准则 099 3.2.2 ID3算法 102 3.2.3 C4.5算法 108 3.2.4 CART算法 111 3.2.5 决策树算法实例 113 3.3 k近邻算法 116 3.3.1 k值的选取及特征归一化 117 3.3.2 kd树 120 3.3.3 k近邻算法实例 128 3.4 支持向量机算法 133 3.4.1 线性可分性 133 3.4.2 对偶问题 136 3.4.3 核函数 139 3.4.4 软间隔 142 3.4.5 支持向量机算法实例 144 本章小结 146 习题 146 第4章 非监督学习 149 4.1 非监督学习概述 150 4.1.1 非监督学习的基本概念 150 4.1.2 非监督学习的分类 151 4.1.3 非监督学习的特点 152 4.1.4 非监督学习的应用 153 4.2 主成分分析降维算法 154 4.2.1 数据降维介绍 154 4.2.2 PCA算法介绍 155 4.2.3 PCA算法求解步骤 159 4.2.4 PCA算法实例 161 4.3 K-means聚类算法 163 4.3.1 聚类算法简介 163 4.3.2 K-means算法介绍 164 4.3.3 K-means算法求解步骤 165 4.3.4 K-means算法实例 170 本章小结 172 习题 173 第5章 人工神经网络 175 5.1 人工神经网络概述 176 5.1.1 人工神经网络的发展历程 176 5.1.2 人工神经网络基础 180 5.1.3 人工神经网络模型 188 5.1.4 人工神经网络的应用 191 5.2 房价预测实例 193 5.2.1 房价预测模型构建 193 5.2.2 房价预测网络构建 198 5.3 手写数字识别实例 199 5.3.1 手写数字识别简介 199 5.3.2 手写数字识别网络构建 201 本章小结 203 习题 203 第6章 强化学习 205 6.1 强化学习概述 206 6.1.1 强化学习的基本概念 206 6.1.2 强化学习的发展历史 208 6.1.3 强化学习的分类 210 6.1.4 强化学习的特点及应用 211 6.2 强化学习基础 212 6.2.1 马尔可夫决策过程 212 6.2.2 贪心算法 213 6.3 有模型学习和无模型学习 214 6.3.1 有模型学习 214 6.3.2 无模型学习 216 6.4 强化学习实例 216 6.4.1 Q-Learning算法 216 6.4.2 Sarsa算法 232 本章小结 242 习题 243