Skip to content

About

Mathematical derivation and pure Python code implementation of machine learning algorithms.

Topics

Resources

Stars

1.6k stars

Watchers

31 watching

Forks

Latest commit

 

History

202 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

机器学习 公式推导与代码实现

李航老师的《统计学习方法》和周志华老师的西瓜书《机器学习》一直国内机器学习领域的经典教材。本书在这两本书理论框架的基础上,补充了必要的代码实现思路和逻辑过程。

本书在对全部机器学习算法进行分类梳理的基础之上,分别对监督学习单模型、监督学习集成模型、无监督学习模型、概率模型4个大类26个经典算法进行了相对完整的公式推导和必要的代码实现,旨在帮助机器学习入门读者完整地掌握算法细节、实现方法以及内在逻辑。本书可作为《统计学习方法》和西瓜书《机器学习》的补充材料。


使用说明

本仓库为《机器学习 公式推导与代码实现》一书配套代码库,相较于书中代码而言,仓库代码随时保持更新和迭代。目前仓库只开源了全书的代码,全书内容后续也会在仓库中开源。本仓库已经根据书中章节将代码分目录整理好,读者可直接点击相关章节使用该章节代码。


纸质版


购买链接:京东 | 当当


配套PPT

为方便大家更好的使用本书,本书也配套了随书的PPT,购买过纸质书的读者可以在机器学习实验室公众号联系作者获取。


第1章示例


第2章示例


第7章示例


第12章示例


第23章示例

配套视频讲解(更新中)

为了帮助广大读者更好地学习和掌握机器学习的一般理论和方法,笔者在PPT基础上同时在为全书配套讲解视频。包括模型的公式手推和代码的讲解。

第一章:机器学习入门


全书勘误表

勘误表:勘误表


代码修订说明(2026.04)

本仓库代码已完成两轮系统性的代码 review 和优化,主要修订如下:

结构调整

  • 创建 mlbook/ 共享库,消除 Ch7/Ch11/Ch12/Ch15 中重复的 utils.py 和 cart.py(6 个冗余文件统一为 2 个共享文件)
  • 添加 requirements.txt、.gitignore、pyproject.toml 等基础设施文件
  • 添加 tests/ 测试目录,覆盖共享库和关键算法的 25 个测试用例

Bug 修复

  • Ch5 LDA:修复 calc_cov 错误标准化导致类内散度矩阵计算错误(准确率 0.85→1.0)
  • Ch25 MCMC:修复 Gibbs 采样逻辑错误(p_xy 始终传入 y=-1 而非状态转移值)
  • Ch3 逻辑回归:修复 accuracy 函数 O(n²) 循环、添加交叉熵 log clipping 防 NaN
  • Ch23 HMM:修复前向算法和维特比算法中硬编码状态数 N=4 的问题
  • perceptron.py:补充缺失的 initialize_with_zeros 方法

API 现代化

  • 修复 sklearn.datasets.samples_generator → sklearn.datasets.make_blobs
  • 修复 np.float → np.float64、np.matrix → 标准数组
  • 修复 normed=1 → density=True(matplotlib)
  • Ch1 LogisticRegression 添加 max_iter=200 避免收敛警告

代码质量

  • 共享库 mlbook/decision_tree/ 添加完整类型注解
  • 修复多处拼写错误(missclassification、initilize_with_zeros)
  • Ch19 SVD:修复 Windows 硬编码路径为 os.path.join

详见 commit 历史及 tests/ 目录。


LICENSE

本项目采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

About

Mathematical derivation and pure Python code implementation of machine learning algorithms.

Topics

Resources

Stars

1.6k stars

Watchers

31 watching

Forks

Releases

Packages

Contributors

Languages