机器学习方法习题解答,在线阅读地址:https://datawhalechina.github.io/statistical-learning-method-solutions-manual
Jupyter Notebook
2,091
217 commits
updated May 8, 2026
[!CAUTION] ⚠️ Alpha内测版本警告:此为早期内部构建版本,尚不完整且可能存在错误,欢迎大家提Issue反馈问题或建议。
李航老师的《统计学习方法》和《机器学习方法》是机器学习领域的经典入门教材之一。本书分为监督学习、无监督学习和深度学习,全面系统地介绍了机器学习的主要方法。
本项目的受众主要包括:
本项目能为你提供:
基础能力要求:
在线阅读地址:https://datawhalechina.github.io/statistical-learning-method-solutions-manual
书名:机器学习方法
作者:李航
出版社:清华大学出版社
版次:2022年3月第1版
基础环境:Python3.12+、node 18.20.4+
安装UV
pip install uv
set UV_INDEX=https://mirrors.aliyun.com/pypi/simple
安装Python依赖包
uv sync --python 3.12 --all-extras
安装graphviz(用于展示决策树)
可参考博客:https://blog.csdn.net/HNUCSEE_LJK/article/details/86772806
安装PyTorch 访问PyTorch官网,选择合适的版本安装PyTorch,有条件的小伙伴可以下载GPU版本
uv pip install torch==2.7.1 torchvision==0.22.1 torchaudio torchviz --index https://download.pytorch.org/whl/cu118
启动notebook
jupyter notebook
运行vitepress框架
npm run docs:dev
| 章节名 | 进度 | 负责人 | 审核人 |
|---|---|---|---|
| 第1章 统计学习方法概论 | ✅ | 胡锐锋、毛鹏志 | 王维嘉、毛鹏志、范佳慧 |
| 第2章 感知机 | ✅ | 胡锐锋 | 毛鹏志、范佳慧、王天富、王茸茸 |
| 第3章 k近邻法 | ✅ | 胡锐锋 | 王维嘉、毛鹏志、王茸茸 |
| 第4章 朴素贝叶斯法 | ✅ | 胡锐锋、王维嘉 | 王瀚翀、王天富、王茸茸 |
| 第5章 决策树 | ✅ | 胡锐锋、王维嘉 | 王瀚翀、王天富、王茸茸 |
| 第6章 逻辑斯谛回归与最大熵模型 | ✅ | 胡锐锋 | 毛鹏志、范佳慧、王瀚翀 |
| 第7章 支持向量机 | ✅ | 胡锐锋、王茸茸 | 王维嘉、王瀚翀、王天富 |
| 第8章 提升方法 | ✅ | 胡锐锋、王茸茸 | 王维嘉、毛鹏志、王瀚翀 |
| 第9章 EM算法及其推广 | ✅ | 胡锐锋 | 毛鹏志、范佳慧、王瀚翀、王茸茸 |
| 第10章 隐马尔可夫模型 | ✅ | 胡锐锋、王瀚翀 | 王维嘉、范佳慧、王天富、王茸茸 |
| 第11章 条件随机场 | ✅ | 胡锐锋、王瀚翀 | 王维嘉、范佳慧、王天富 |
| 第14章 聚类方法 | ✅ | 胡锐锋、刘晓东 | 毛鹏志、汪健麟、王天富 |
| 第15章 奇异值分解 | ✅ | 胡锐锋、李拥祺 | 张宇明、刘晓东、兰坤 |
| 第16章 主成分分析 | ✅ | 胡锐锋、王茸茸 | 张宇明、刘晓东、范致远、兰坤 |
| 第17章 潜在语义分析 | ✅ | 胡锐锋 | 汪健麟、王天富、兰坤 |
| 第18章 概率潜在语义分析 | ✅ | 胡锐锋 | 毛鹏志、兰坤、汪健麟、张宇明 |
| 第19章 马尔可夫链蒙特卡罗法 | ✅ | 胡锐锋、王天富 | 毛鹏志、刘晓东、范致远、汪健麟 |
| 第20章 潜在狄利克雷分配 | ✅ | 胡锐锋、薛博阳 | 毛鹏志、刘晓东、范致远、王天富 |
| 第21章 PageRank算法 | ✅ | 胡锐锋、毛鹏志 | 张宇明、范致远、王天富 |
| 第23章 前馈神经网络 | ✅ | 胡锐锋、毛鹏志 | 王天富、李拥祺、王昊文、胡磊 |
| 第24章 卷积神经网络 | ✅ | 胡锐锋、王天富 | 王昊文、李拥祺、胡磊、李拙 |
| 第25章 循环神经网络 | ✅ | 胡锐锋、王昊文 | 毛鹏志、李拥祺、王天富、李拙 |
| 第26章 序列到序列模型 | 🚧 | 胡锐锋、薛博阳 | 毛鹏志、王昊文、胡磊、李拙 |
| 第27章 预训练语言模型 | ✅ | 胡锐锋、范致远 | 毛鹏志、胡磊、王天富、李拙 |
| 第28章 生成对抗网络 | ✅ | 胡锐锋、胡磊 | 毛鹏志、王昊文、王天富、李拥祺 |
codes----------------------------------------------习题代码 | +---ch02-----------------------------------------第2章习题解答代码 | | +---perceptron.py------------------------------习题2.2(构建从训练数据求解感知机模型的例子) | +---ch03-----------------------------------------第3章习题解答代码 | | +---k_neighbors_classifier.py------------------习题3.1(k近邻算法关于k值的模型比较) | | +---kd_tree_demo.py----------------------------习题3.2(kd树的构建与求最近邻点) | | +---my_kd_tree.py------------------------------习题3.3(用kd树的k邻近搜索算法) | +---ch05-----------------------------------------第5章习题解答代码 | | +---k_neighbors_classifier.py------------------习题5.1(调用sklearn的DecisionTreeClassifier类使用C4.5算法生成决策树) | | +---my_decision_tree.py------------------------习题5.1(自编程实现C4.5生成算法) | | +---my_least_squares_regression_tree.py--------习题5.2(最小二乘回归树生成算法) | +---ch06-----------------------------------------第6章习题解答代码 | | +---my_logistic_regression.py------------------习题6.2(实现Logistic回归模型学习的梯度下降法) | | +---maxent_dfp.py------------------------------习题6.3(最大熵模型学习的DFP算法) | +---ch07-----------------------------------------第7章习题解答代码 | | +---svm_demo.py--------------------------------习题7.2(根据题目中的数据训练SVM模型,并在图中画出分离超平面、间隔边界及支持向量) | +---ch08-----------------------------------------第8章习题解答代码 | | +---adaboost_demo.py---------------------------习题8.1(使用sklearn的AdaBoostClassifier分类器实现) | | +---my_adaboost.py-----------------------------习题8.1(自编程实现AdaBoost算法) | +---ch09-----------------------------------------第9章习题解答代码 | | +---three_coin_EM.py---------------------------习题9.1(三硬币模型的EM算法) | | +---gmm_demo.py--------------------------------习题9.3(使用GaussianMixture求解两个分量高斯混合模型的6个参数) | | +---my_gmm.py----------------------------------习题9.3(自编程实现求两个分量的高斯混合模型的5个参数) | +---ch10-----------------------------------------第10章习题解答代码 | | +---hidden_markov_backward.py------------------习题10.1(隐马尔可夫模型的后向算法) | | +---hidden_markov_forward_backward.py----------习题10.2(隐马尔可夫模型的前向后向算法) | | +---hidden_markov_viterbi.py-------------------习题10.3(隐马尔可夫模型的维特比算法) | +---ch11-----------------------------------------第11章习题解答代码 | | +---crf_matrix.py------------------------------习题11.4(使用条件随机场矩阵形式,计算所有路径状态序列的概率及概率最大的状态序列) | +---ch14-----------------------------------------第14章习题解答代码 | | +---divisive_clustering.py---------------------习题14.1(分裂聚类算法) | +---ch15-----------------------------------------第15章习题解答代码 | | +---my_svd.py----------------------------------习题15.1(自编程实现奇异值分解) | | +---outer_product_expansion.py-----------------习题15.2(外积展开式) | +---ch16-----------------------------------------第16章习题解答代码 | | +---pca_svd.py---------------------------------习题16.1(样本矩阵的奇异值分解的主成分分析算法) | +---ch17-----------------------------------------第17章习题解答代码 | | +---lsa_svd.py---------------------------------习题17.1(用矩阵奇异值分解进行潜在语义分析) | | +---divergence_nmf_lsa.py----------------------习题17.2(损失函数是散度损失时的非负矩阵分解算法) | +---ch18-----------------------------------------第18章习题解答代码 | | +---em_plsa.py---------------------------------习题18.1(基于生成模型的EM算法的概率潜在语义分析) | +---ch19-----------------------------------------第19章习题解答代码 | | +---monte_carlo_method.py----------------------习题19.1(蒙特卡洛法积分计算) | | +---metropolis_hastings.py---------------------习题19.7(使用Metropolis-Hastings算法求后验概率分布的均值和方差) | | +---gibbs_sampling.py--------------------------习题19.8(使用吉布斯抽样算法估计参数的均值和方差) | +---ch20-----------------------------------------第20章习题解答代码 | | +---gibbs_sampling_lda.py----------------------习题20.2(LDA吉布斯抽样算法) | +---ch21-----------------------------------------第21章习题解答代码 | | +---page_rank.py-------------------------------习题21.2(基本定义的PageRank的迭代算法) | +---ch23-----------------------------------------第23章习题解答代码 | | +---feedforward_nn_backpropagation.py----------习题23.3(自编程实现前馈神经网络的反向传播算法) | +---ch24-----------------------------------------第24章习题解答代码 | | +---cnn-text-classification.py-----------------习题24.7(基于CNN的自然语言句子分类模型) | +---ch26-----------------------------------------第26章习题解答代码 | | +---lstm_seq2seq.py----------------------------习题26.1(4层LSTM组成的序列到序列的基本模型) | | +---cnn_seq2seq.py-----------------------------习题26.4(基于CNN的序列到序列模型) | +---ch27-----------------------------------------第27章习题解答代码 | | +---bi-lstm-text-classification.py-------------习题27.1(基于双向LSTM的预训练语言模型) | | +---auto_encoder.py----------------------------习题27.3(2层卷积神经网络编码器和2层卷积神经网络解码器组成的自动编码器) | +---ch28-----------------------------------------第28章习题解答代码 | | +---zero_sum_game.py---------------------------习题28.2(零和博弈的代码验证) docs-----------------------------------------------习题解答 notebook-------------------------------------------习题解答JupyterNotebook格式 requirements.txt-----------------------------------运行环境依赖包
核心贡献者
其他
扫描下方二维码关注公众号:Datawhale
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
673 followers · starred Jun 2022
2,958 followers · starred Nov 2022
13 followers · starred Jul 2023
25 followers · starred Aug 2022
机器学习方法习题解答,在线阅读地址:https://datawhalechina.github.io/statistical-learning-method-solutions-manual
Jupyter Notebook
2,091
217 commits
updated May 8, 2026
[!CAUTION] ⚠️ Alpha内测版本警告:此为早期内部构建版本,尚不完整且可能存在错误,欢迎大家提Issue反馈问题或建议。
李航老师的《统计学习方法》和《机器学习方法》是机器学习领域的经典入门教材之一。本书分为监督学习、无监督学习和深度学习,全面系统地介绍了机器学习的主要方法。
本项目的受众主要包括:
本项目能为你提供:
基础能力要求:
在线阅读地址:https://datawhalechina.github.io/statistical-learning-method-solutions-manual
书名:机器学习方法
作者:李航
出版社:清华大学出版社
版次:2022年3月第1版
基础环境:Python3.12+、node 18.20.4+
安装UV
pip install uv
set UV_INDEX=https://mirrors.aliyun.com/pypi/simple
安装Python依赖包
uv sync --python 3.12 --all-extras
安装graphviz(用于展示决策树)
可参考博客:https://blog.csdn.net/HNUCSEE_LJK/article/details/86772806
安装PyTorch 访问PyTorch官网,选择合适的版本安装PyTorch,有条件的小伙伴可以下载GPU版本
uv pip install torch==2.7.1 torchvision==0.22.1 torchaudio torchviz --index https://download.pytorch.org/whl/cu118
启动notebook
jupyter notebook
运行vitepress框架
npm run docs:dev
| 章节名 | 进度 | 负责人 | 审核人 |
|---|---|---|---|
| 第1章 统计学习方法概论 | ✅ | 胡锐锋、毛鹏志 | 王维嘉、毛鹏志、范佳慧 |
| 第2章 感知机 | ✅ | 胡锐锋 | 毛鹏志、范佳慧、王天富、王茸茸 |
| 第3章 k近邻法 | ✅ | 胡锐锋 | 王维嘉、毛鹏志、王茸茸 |
| 第4章 朴素贝叶斯法 | ✅ | 胡锐锋、王维嘉 | 王瀚翀、王天富、王茸茸 |
| 第5章 决策树 | ✅ | 胡锐锋、王维嘉 | 王瀚翀、王天富、王茸茸 |
| 第6章 逻辑斯谛回归与最大熵模型 | ✅ | 胡锐锋 | 毛鹏志、范佳慧、王瀚翀 |
| 第7章 支持向量机 | ✅ | 胡锐锋、王茸茸 | 王维嘉、王瀚翀、王天富 |
| 第8章 提升方法 | ✅ | 胡锐锋、王茸茸 | 王维嘉、毛鹏志、王瀚翀 |
| 第9章 EM算法及其推广 | ✅ | 胡锐锋 | 毛鹏志、范佳慧、王瀚翀、王茸茸 |
| 第10章 隐马尔可夫模型 | ✅ | 胡锐锋、王瀚翀 | 王维嘉、范佳慧、王天富、王茸茸 |
| 第11章 条件随机场 | ✅ | 胡锐锋、王瀚翀 | 王维嘉、范佳慧、王天富 |
| 第14章 聚类方法 | ✅ | 胡锐锋、刘晓东 | 毛鹏志、汪健麟、王天富 |
| 第15章 奇异值分解 | ✅ | 胡锐锋、李拥祺 | 张宇明、刘晓东、兰坤 |
| 第16章 主成分分析 | ✅ | 胡锐锋、王茸茸 | 张宇明、刘晓东、范致远、兰坤 |
| 第17章 潜在语义分析 | ✅ | 胡锐锋 | 汪健麟、王天富、兰坤 |
| 第18章 概率潜在语义分析 | ✅ | 胡锐锋 | 毛鹏志、兰坤、汪健麟、张宇明 |
| 第19章 马尔可夫链蒙特卡罗法 | ✅ | 胡锐锋、王天富 | 毛鹏志、刘晓东、范致远、汪健麟 |
| 第20章 潜在狄利克雷分配 | ✅ | 胡锐锋、薛博阳 | 毛鹏志、刘晓东、范致远、王天富 |
| 第21章 PageRank算法 | ✅ | 胡锐锋、毛鹏志 | 张宇明、范致远、王天富 |
| 第23章 前馈神经网络 | ✅ | 胡锐锋、毛鹏志 | 王天富、李拥祺、王昊文、胡磊 |
| 第24章 卷积神经网络 | ✅ | 胡锐锋、王天富 | 王昊文、李拥祺、胡磊、李拙 |
| 第25章 循环神经网络 | ✅ | 胡锐锋、王昊文 | 毛鹏志、李拥祺、王天富、李拙 |
| 第26章 序列到序列模型 | 🚧 | 胡锐锋、薛博阳 | 毛鹏志、王昊文、胡磊、李拙 |
| 第27章 预训练语言模型 | ✅ | 胡锐锋、范致远 | 毛鹏志、胡磊、王天富、李拙 |
| 第28章 生成对抗网络 | ✅ | 胡锐锋、胡磊 | 毛鹏志、王昊文、王天富、李拥祺 |
codes----------------------------------------------习题代码 | +---ch02-----------------------------------------第2章习题解答代码 | | +---perceptron.py------------------------------习题2.2(构建从训练数据求解感知机模型的例子) | +---ch03-----------------------------------------第3章习题解答代码 | | +---k_neighbors_classifier.py------------------习题3.1(k近邻算法关于k值的模型比较) | | +---kd_tree_demo.py----------------------------习题3.2(kd树的构建与求最近邻点) | | +---my_kd_tree.py------------------------------习题3.3(用kd树的k邻近搜索算法) | +---ch05-----------------------------------------第5章习题解答代码 | | +---k_neighbors_classifier.py------------------习题5.1(调用sklearn的DecisionTreeClassifier类使用C4.5算法生成决策树) | | +---my_decision_tree.py------------------------习题5.1(自编程实现C4.5生成算法) | | +---my_least_squares_regression_tree.py--------习题5.2(最小二乘回归树生成算法) | +---ch06-----------------------------------------第6章习题解答代码 | | +---my_logistic_regression.py------------------习题6.2(实现Logistic回归模型学习的梯度下降法) | | +---maxent_dfp.py------------------------------习题6.3(最大熵模型学习的DFP算法) | +---ch07-----------------------------------------第7章习题解答代码 | | +---svm_demo.py--------------------------------习题7.2(根据题目中的数据训练SVM模型,并在图中画出分离超平面、间隔边界及支持向量) | +---ch08-----------------------------------------第8章习题解答代码 | | +---adaboost_demo.py---------------------------习题8.1(使用sklearn的AdaBoostClassifier分类器实现) | | +---my_adaboost.py-----------------------------习题8.1(自编程实现AdaBoost算法) | +---ch09-----------------------------------------第9章习题解答代码 | | +---three_coin_EM.py---------------------------习题9.1(三硬币模型的EM算法) | | +---gmm_demo.py--------------------------------习题9.3(使用GaussianMixture求解两个分量高斯混合模型的6个参数) | | +---my_gmm.py----------------------------------习题9.3(自编程实现求两个分量的高斯混合模型的5个参数) | +---ch10-----------------------------------------第10章习题解答代码 | | +---hidden_markov_backward.py------------------习题10.1(隐马尔可夫模型的后向算法) | | +---hidden_markov_forward_backward.py----------习题10.2(隐马尔可夫模型的前向后向算法) | | +---hidden_markov_viterbi.py-------------------习题10.3(隐马尔可夫模型的维特比算法) | +---ch11-----------------------------------------第11章习题解答代码 | | +---crf_matrix.py------------------------------习题11.4(使用条件随机场矩阵形式,计算所有路径状态序列的概率及概率最大的状态序列) | +---ch14-----------------------------------------第14章习题解答代码 | | +---divisive_clustering.py---------------------习题14.1(分裂聚类算法) | +---ch15-----------------------------------------第15章习题解答代码 | | +---my_svd.py----------------------------------习题15.1(自编程实现奇异值分解) | | +---outer_product_expansion.py-----------------习题15.2(外积展开式) | +---ch16-----------------------------------------第16章习题解答代码 | | +---pca_svd.py---------------------------------习题16.1(样本矩阵的奇异值分解的主成分分析算法) | +---ch17-----------------------------------------第17章习题解答代码 | | +---lsa_svd.py---------------------------------习题17.1(用矩阵奇异值分解进行潜在语义分析) | | +---divergence_nmf_lsa.py----------------------习题17.2(损失函数是散度损失时的非负矩阵分解算法) | +---ch18-----------------------------------------第18章习题解答代码 | | +---em_plsa.py---------------------------------习题18.1(基于生成模型的EM算法的概率潜在语义分析) | +---ch19-----------------------------------------第19章习题解答代码 | | +---monte_carlo_method.py----------------------习题19.1(蒙特卡洛法积分计算) | | +---metropolis_hastings.py---------------------习题19.7(使用Metropolis-Hastings算法求后验概率分布的均值和方差) | | +---gibbs_sampling.py--------------------------习题19.8(使用吉布斯抽样算法估计参数的均值和方差) | +---ch20-----------------------------------------第20章习题解答代码 | | +---gibbs_sampling_lda.py----------------------习题20.2(LDA吉布斯抽样算法) | +---ch21-----------------------------------------第21章习题解答代码 | | +---page_rank.py-------------------------------习题21.2(基本定义的PageRank的迭代算法) | +---ch23-----------------------------------------第23章习题解答代码 | | +---feedforward_nn_backpropagation.py----------习题23.3(自编程实现前馈神经网络的反向传播算法) | +---ch24-----------------------------------------第24章习题解答代码 | | +---cnn-text-classification.py-----------------习题24.7(基于CNN的自然语言句子分类模型) | +---ch26-----------------------------------------第26章习题解答代码 | | +---lstm_seq2seq.py----------------------------习题26.1(4层LSTM组成的序列到序列的基本模型) | | +---cnn_seq2seq.py-----------------------------习题26.4(基于CNN的序列到序列模型) | +---ch27-----------------------------------------第27章习题解答代码 | | +---bi-lstm-text-classification.py-------------习题27.1(基于双向LSTM的预训练语言模型) | | +---auto_encoder.py----------------------------习题27.3(2层卷积神经网络编码器和2层卷积神经网络解码器组成的自动编码器) | +---ch28-----------------------------------------第28章习题解答代码 | | +---zero_sum_game.py---------------------------习题28.2(零和博弈的代码验证) docs-----------------------------------------------习题解答 notebook-------------------------------------------习题解答JupyterNotebook格式 requirements.txt-----------------------------------运行环境依赖包
核心贡献者
其他
扫描下方二维码关注公众号:Datawhale
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
673 followers · starred Jun 2022
2,958 followers · starred Nov 2022
13 followers · starred Jul 2023
25 followers · starred Aug 2022