这是《机器学习入门:基于数学原理的Python实战》(书号:ISBN 978-7-301-30897-4)一书全部的源代码。这本《机器学习入门:基于数学原理的Python实战》也是自己编写的第一本书,本以为写完此书用不了几个月时间,但是正儿八经开始写书之后,才发现写书并非易事,跟写博客根本就是两回事。此书从2018年9月下旬敲定合同,到2019年4月完成初稿,再到2019年8月中上旬完成三审三校与排版,最后在2019年8月末9月初如期上市历经接近1年时间。虽然在此过程中也是历经千辛万苦,但也收获满满。
本书主要介绍了机器学习中比较经典的算法如线性回归、局部加权线性回归、Logitic回归、Softmax回归、BP神经网络、K-Means聚类、GMM和PCA等。全书主要是从数学原理方面入手,对每个算法的数学理论推导进行详细介绍,之后利用Python进行了实现算法进行巩固,并利用相关实例进一步加深对算法的理解。
在2017年年初,自己独自一人在网易公开课上学习吴恩达(Andrew Ng)教授在斯坦福大学开设的CS229机器学习课程。虽入门艰难但好在数学功底扎实,对于课程视频中接受比较容易。但是全套PDF讲义中只有第一分关于线型回归、Logistic回归和广义线性回归的讲义给出了详细的数学推导,因此在后续的学习过程中自行根据视频讲解与PDF讲义对文中相关数学公式的推导进行细致完善,并将此内容作为博客放在自己CSDN博客:戴璞微的学习之路上。之后在2017年11月考研复习备考期间接到编辑王蕾老师约稿,当时为了考研推迟的约稿。考研结束之后,由于科研项目与毕业论文再次推迟,直至2018年研究生开学初将相关笔记整理完成。之后在9月下旬敲定完合同之后,开始此书的创作历程。
在创作期间,自己得到了研究生生学校——中国民航大学导师吕宗磊老师的大力支持,创作期间为我留足的时间用于写作,特别是在2019年3月份即将完稿前一两周时间,默许了全天在实验室进行写作与编写调试代码。同时在全书完稿之后,吕老师也在百忙之中抽出时间为我这本书写了推荐序。在此对吕老师在1年多来的支持表示感谢。
同时也要感谢本科学校——辽宁石油化工大学潘斌老师。在创作期间潘斌老师不仅在写作上给足了建议而且还在人力协调调度上给予很大帮助。在3月安排了学弟李寅和研究生同学李建恒帮忙检查代码、完善注释和全书中部分代码片段的文字说明初稿。之后在8月7号三审结束之后安排学弟李寅、研究生同学李建恒、李芹芹、张露月、孔晓迪、鲍莹和张曼琳等人进行全书最后一次校对。在此对潘斌老师、上述给予帮助的学弟和同学表示由衷的感谢,尤其是学弟李寅,牺牲部分考研备考时间为本书的代码核查与文字校对做出了宝贵贡献。没有潘斌老师和各位同学辛苦的付出,则该书将因进度过慢与建国70周年国庆相冲突而延期11月上市。最后对潘斌老师的付出再次表示感谢。
该源代码文件主要包含了全书第2章至第9章的所有算法及其实例的Python代码。Chapter2代表第二章线性回归算法及其波士顿房价预测实例的Python代码,其余的以此类推。每个文件夹对应算法与实例如下表所示:
文件夹名称 | 算法 | 实例 |
---|---|---|
Chapter2 | 线性回归 | 波士顿房价预测 |
Chapter3 | 局部加权线性回归 | 波士顿房价预测 鲍鱼年龄预测 |
Chapter4 | Logitic回归 Softmax回归 |
乳腺癌患者分类 语音信号数据集分类 |
Chapter5 | Ridge回归 Softmax回归(带L2正则化) |
鲍鱼年龄预测 语音信号数据集分类 |
Chapter6 | BP神经网络 | 语音信号数据集分类 |
Chapter7 | K-Means聚类 | 鸢尾数据集聚类 |
Chapter8 | 高斯混合模型(GMM) | 红酒数据集聚类 |
Chapter9 | 主成分分析(PCA) | 葡萄酒质量数据集降维 |
语言:Python3.6
集成环境:Anaconda3
编程IDE:Pycharm
该书已由北京大学出版社出版,读者若有需要可跳转至北京大学出版社当当网自营店进行购买。