Python机器学习
上QQ阅读APP看书,第一时间看更新

前言

机器学习是人工智能的重要分支,涉及计算机科学、概率论、统计学和近似理论等多方面的知识,其核心目的是研究一种学习机制,使计算机具有有效利用信息并随着经验累积自动提升效能,从数据中获取隐藏的、有效的和可理解的知识的能力。近十几年来,机器学习发展迅速,其涵盖的算法不仅在基于知识的系统中得到应用,而且在自然语言处理、非单调推理、机器视觉、模式识别等许多领域也得到了广泛应用。

Python语言是目前机器学习领域使用最为广泛的语言之一。它是一种跨平台、开源、免费的解释型、面向对象的计算机程序设计语言。它专注于解决问题、自由开放的社区环境,并拥有丰富的第三方库,如各种Web框架、爬虫框架、数据分析框架和机器学习框架等。同时,Python在网络爬虫、数据分析、机器学习、Web开发、金融、运维及测试等领域有着广泛的应用。在机器学习领域,大量的工具库和框架都是以Python作为主要语言开发出来的,如谷歌的TensorFlow大部分代码为Python。Python中的这些工具库和框架大大降低了数据分析、处理、可视化和机器学习的难度,使人们可以用很少的代码实现非常复杂的算法和功能。

因此,要想学好机器学习,能够熟练使用Python语言尤为重要。基于这种考虑,本书的前半部分对Python语言基础知识以及机器学习中常用的NumPy库和Matplotlib库进行了讲解,后半部分则对机器学习的基本理论和方法进行了介绍,非常适合无Python基础的读者使用。作为机器学习的入门级教材,考虑到授课学时的限制,本书在Python语言基础方面主要介绍了机器学习中可能涉及的内容,在机器学习算法方面并未从理论角度详细阐述其数学原理,而是试图以尽可能少的数学知识解释算法的核心思想,再以scikit-learn库讲解算法的实际应用方法,并配合丰富的示例,以边讲边练的形式使读者可以快速掌握算法的使用。即便如此,由于机器学习算法数量庞大、分支众多,受篇幅限制仍有很多算法未能覆盖。因此,书中每章都提供了相应的习题,读者在巩固所学内容的基础上,可以自行对相应的算法知识进行扩展。此外,后半部分机器学习各章知识相互关联,又具有一定的独立性,读者可以根据需要选择学习。

全书共13章,第1~5章主要讲述Python语言的基础知识,第6、7章主要介绍使用NumPy库和Matplotlib库进行数据处理和可视化的方法,第8~13章主要讲解机器学习的基础知识、主要算法及对模型的验证和评估方法。本书可以作为高等院校计算机科学与技术、软件工程、大数据相关专业Python机器学习相关课程的教材,也可作为从事数据科学相关的工程技术人员的参考书。

本书由郭羽含、陈虹、肖成龙担任主编,邱云飞、孙宁、肖振久担任副主编。参与编写的还有江烨、王珊珊、李建东。

本书在编写过程中得到了辽宁工程技术大学的大力支持与帮助。在本书出版之际,谨向上述单位表示衷心的感谢。同时感谢冯玥、周沫、侯宇婷、赵菊芳、刘永武、房娜和刘秋月等研究生为本书的编写、校对提供的帮助。

由于编者的水平和经验有限,书中错漏之处在所难免,敬请各位读者不吝指正,编者将不胜感谢。

编者