前言



MATLAB与机器学习应用MATLAB是美国迈斯沃克公司(The MathWorks, Inc,中国分公司成立于2007年)开发的著名商业数学软件。它是目前在国际上被广泛接受和使用的科学与工程计算软件。
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接调用其他语言(包括C、C++、Java、Python和FORTRAN)编写的程序等。它主要应用于工程计算、控制设计、信号处理与通信、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB堪称集“数学、图形、编程”于一身的门类俱全的计算机语言。欧美与英联邦国家的科学工作者大多使用MATLAB编程、计算。这是因为MATLAB博采众长,集各种计算机语言在科学与工程计算方面的优点于一身。它拥有大量的内置函数和工具箱,数学涉及线性代数、微积分、傅里叶变换和其他数学分支;图形,包括二维和三维绘图、图像、动画;编程,除了脚本、函数和类,集编辑、编译、运行三位一体。
MATLAB提供极好的交互式环境,它不需要像 C 语言那样,开始要做一大串变量说明,哪些是整型,哪些是实型,哪些是双精度,等等。用户可以一开始就输入变量与数据,然后就开始进行计算。在MATLAB的指令窗口中输入一条指令,就能立即显示该指令的执行结果。这一功能极大地方便了程序的调试。而且,也方便使用者根据结果,确定下一步怎么做,这与我们做习题与思考问题时的情况很相似。
MATLAB为数据的图形化表示(数据可视化)提供了有力工具,不仅能绘制多种不同坐标系中的二维曲线,还能绘制三维曲线和曲面,以及随机数的直方图等。本书介绍了数据可视化的功能,绘制了数列图像,形象地图示了数列极限的几何解释;绘制平面上曲线和过极值点的水平切线、空间曲面和过极值点的水平切平面,以及截平面上的空间曲线等,这些都为数据可视化提供了有力工具。
科普著作面向大众,表达清晰是它的特殊要求。本书充分发挥作者在图学科学上的优势,采用图学思维方式、二维表述形式,运用典型范例,简单明了、易于理解,为那些没有学过任何计算机语言的读者讲授MATLAB的基本知识。从如何打开MATLAB的指令窗口,如何输入最简单的指令,如何输入数据等内容,以及如何进行算术运算开始,循序渐进地介绍了如何编制与调用函数子程序,如何使用MATLAB作为学习线性代数、微积分基本知识的直观辅助工具,使数据可视化。针对互联网时代的科技热点——机器学习,本书讨论了如何应用线性代数与函数求极值的基础知识以及使用MATLAB的内置函数来编程实现常用的机器学习算法,如线性回归(Linear Regression)算法、Logistic算法、Probit算法和支持向量机(SVM)算法等。用矩阵广义逆来解机器学习和数据拟合中经常遇到的任何线性最小二乘问题,入门机器学习,给读者提供提升的空间。
本书给出大量的例子,向读者示范如何调用MATLAB内部设置的函数做数值计算、符号运算和数据可视化计算。本书所用的范例大多是学习线性代数与微积分的难点。例如,用行初等变换把数值矩阵或含参数的矩阵化简,来解线性方程组与求逆阵,求齐次线性方程组的基础解系;用行、列初等变换把字母行列式降阶化简;求向量的线性表出系数;应用洛必达法则求不定式的极限;求一元和多元函数的无条件或有条件极值;把有理分式化为最简分式之和;绘制曲线,确定二重积分的上下限;等等。示范了如何应用MATLAB编程和它的内置函数求解许多科学技术领域中要解决的数据拟合问题: 最小二乘法的矩阵广义逆解。
练习是掌握一种新工具的最好办法,本书精心安排了少量习题。如果读者能跟随书中的例子在MATLAB的指令窗口中输入指令串,认真做习题,将能尽快掌握MATLAB编程方法与技巧。
本书共包括三篇12章: 基本篇(导论、基本操作、数值计算、分块矩阵、数据可视化、符号数学和控制结构等)、机器学习应用篇(线性回归与梯度下降法、线性支持向量机和线性支持向量机的推广等)和线性代数与微积分应用篇(攻克线性代数的难点,攻克微积分的难点)。
MATLAB是一款集数值运算、符号运算、数据可视化、数据分析、图形界面设计、程序设计、仿真等多种功能于一体的集成软件。希望本书对研究人员、工程设计人员、教师和学生,以及广大的读者在进一步学习和应用MATLAB这个工具时起到启蒙、深造和指导应用的作用。
本书精心设计了一些习题,它们是书中讲解内容的扩充,也是考查和引导读者掌握MATLAB编程技巧的重要组成部分。
本书运用典型范例,简单明了、直观理解,可帮助读者更快、更直观地理解和运用MATLAB工作平台。编者力图将本书写得深入浅出、直观易懂、生动流畅。书中不当之处,希冀广大读者与同行的指正。

编者
2023年5月