随着大数据时代的到来,统计机器学习近年来引起了人们的广泛关注。统计机器学习内容涵盖统计学、计算机科学、数学等多个学科,形成交叉学科研究,其应用范围越来越广。
本书的特点是均衡相关理论阐述和相关算法的具体实现,尽可能用最精简的语言阐明基本理论,用最简单的实例说明算法实现过程,使读者既能领会理论内涵又能学会算法的实际操作。书中数据几乎都由相关工具包提供,或者是模拟产生,这样会省去读者加载相关数据的麻烦,相关算法的代码也很容易推广到其他数据应用中。
本书共分12章和两个附录。第1章主要介绍R语言基本操作,是后面各章节算法实现的基础。第2章介绍多元分布,主要阐述多元分布的均值向量和协方差矩阵等基本内容及性质。第3章介绍线性回归、对数线性回归、岭回归和Lasso回归等线性模型。第4章阐述贝叶斯判别分析、Fisher判别分析和基于距离的判别分析等内容。第5章给出支持向量机分类和回归等相关算法,并给出算法的详细推导。第6章内容是决策树理论及实现方法。第7章介绍提升算法、装袋算法和随机森林分类等集成学习方法。第8章介绍主成分分析和因子分析。第9章介绍多维缩放和等度量映射、局部线性嵌入、随机近邻嵌入等流形学习降维方法。第10章给出几种常用的聚类算法,包括k均值聚类、层次聚类和基于密度的聚类算法。第11章介绍一组因变量和一组自变量之间的偏最小二乘回归算法。第12章主要介绍前馈神经网络以及比较流行的卷积神经网络和LSTM等几种深度神经网络模型,并给出比较详细的算法推导。附录给出向量和矩阵函数的导数以及拉格朗日对偶性等相关数学基础,作为相关章节算法推导的理论基础。
R是一款开源的免费统计软件,提供了广泛的统计计算和作图技术,并且随时在扩展更新,已经成为最常用的数据分析和数据处理工具。为了更方便地搭建深度神经网络模型,R语言建立了与Python语言的接口,可以借助Keras和TensorFlow等技术实现复杂的神经网络。Keras由纯Python语言编写而成,是神经网络的高层API。为R语言安装Keras包之前,需要先安装Python。本书安装的是Python的发行版Anaconda 3.8和R语言的4.1.1版本,书中的所有代码都可以在这个环境下实现。
本书除了参考文献中列出的文献外,还参考了许多网络资源,在此对所涉及的专家学者表示衷心的感谢。同时感谢辽宁省教育厅项目的资助(编号: LJKMZ20221424)。由于编者水平有限,书中难免存在疏漏和不妥之处,敬请广大读者不吝指正。
编者2023年1月