• Stars
    star
    1,563
  • Rank 28,867 (Top 0.6 %)
  • Language
    Jupyter Notebook
  • License
    Other
  • Created over 4 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

统计学习方法习题解答,在线阅读地址:https://datawhalechina.github.io/statistical-learning-method-solutions-manual

统计学习方法习题解答

  李航老师的《统计学习方法》和《机器学习方法》是机器学习领域的经典入门教材之一。本书分为监督学习、无监督学习和深度学习,全面系统地介绍了机器学习的主要方法。

  • 第1篇主要介绍监督学习的主要方法,包括感知机、k近邻法、朴素贝叶斯法、决策树、逻辑斯谛回归与最大熵模型、支持向量机、提升方法、EM算法、隐马尔可夫模型和条件随机场等;
  • 第2篇主要介绍无监督学习的主要方法,包括聚类方法、奇异值分解、主成分分析、潜在语义分析、概率潜在语义分析、马尔科夫链蒙特卡罗法、潜在狄利克雷分配和PageRank算法等;
  • 第3篇主要介绍深度学习的主要方法,包括前馈神经网络、卷积神经网络、循环神经网络、序列到序列模型、预训练语言模型和生成对抗网络等。

使用说明

  统计学习方法习题解答,主要完成了该书的所有习题,并提供代码和运行之后的截图,里面的内容是以统计学习方法的内容为前置知识,该习题解答的最佳使用方法是以李航老师的《机器学习方法》为主线,并尝试完成课后习题,如果遇到不会的,再来查阅习题解答。
  如果觉得解答不详细,可以点击这里提交你希望补充推导或者习题编号,我们看到后会尽快进行补充。

在线阅读地址

在线阅读地址:https://datawhalechina.github.io/statistical-learning-method-solutions-manual

选用的《机器学习方法》版本

书名:机器学习方法
作者:李航
出版社:清华大学出版社
版次:2022年3月第1版

Notebook运行环境配置

  1. Python版本
    请使用python3.10.X,如使用其他版本,requirements.txt中所列的依赖包可能不兼容。

  2. 安装相关的依赖包

    pip install -r requirements.txt
  3. 安装graphviz(用于展示决策树)
    可参考博客:https://blog.csdn.net/HNUCSEE_LJK/article/details/86772806

  4. 安装PyTorch 访问PyTorch官网,选择合适的版本安装PyTorch,有条件的小伙伴可以下载GPU版本

pip3 install torch==1.12.1+cu116 torchvision==0.13.1+cu116 torchaudio==0.12.1+cu116 -f https://download.pytorch.org/whl/torch_stable.html
  1. docsify框架运行
    docsify serve ./docs

协作规范

  1. 由于习题解答中需要有程序和执行结果,采用jupyter notebook的格式进行编写(文件路径:notebook/notes),然后将其导出成markdown格式,再覆盖到docs对应的章节下。
  2. 可按照Notebook运行环境配置,配置相关的运行环境。
  3. 习题解答编写中,需要尽量使用初学者(有高数基础)能理解的数学概念,如果涉及公式定理的推导和证明,可附上参考链接。
  4. 当前进度
章节号 标题 进度 负责人 审核人
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成员-华东交通大学-系统架构设计师)
  • 王维嘉 (中国石油大学(北京))
  • 王茸茸 (北京邮电大学-风控算法工程师)
  • 王瀚翀 (华东师范大学-推荐系统方向)
  • 毛鹏志 (Datawhale成员-中科院计算所-信息检索与生物信息方向)
  • 刘晓东 (中科院自动化研究所-意图识别与人机交互方向)
  • 李拥祺 (南方科技大学-运动规划与控制决策方向)
  • 王天富 (中国科学技术大学-数据挖掘与强化学习方向)
  • 薛博阳 (香港中文大学-语言模型与语音识别方向)
  • 胡磊 (北京科技大学-表征学习与生物信息方向)
  • 范致远 (Datawhale成员-中科院自动化研究所-信息抽取与大模型可信推理方向)
  • 王昊文 (帝国理工学院-算法工程师)

其他

  1. 特别感谢 @Sm1les@LSGOMYP 对本项目的帮助与支持;
  2. 感谢@GYHHAHA,指出了第7章习题7.4的解答问题,并完善了该题的解答;
  3. 感谢范佳慧、汪健麟、张宇明、兰坤、李拙等同学对项目提供的完善性建议;
  4. 感谢张帆同学对习题27.1解答的帮助,解决了ELMo预训练模型的代码问题。

参考文献

  1. 李航《统计学习方法笔记》中的代码、notebook、参考文献、Errata
  2. CART剪枝详解
  3. CART剪枝算法详解

关注我们

扫描下方二维码关注公众号:Datawhale

  Datawhale,一个专注于AI领域的学习圈子。初衷是for the learner,和学习者一起成长。目前加入学习社群的人数已经数千人,组织了机器学习,深度学习,数据分析,数据挖掘,爬虫,编程,统计学,Mysql,数据竞赛等多个领域的内容学习,微信搜索公众号Datawhale可以加入我们。

LICENSE

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

More Repositories

1

pumpkin-book

《机器学习》(西瓜书)公式详解
22,983
star
2

leedl-tutorial

《李宏毅深度学习教程》(李宏毅老师推荐👍),PDF下载地址:https://github.com/datawhalechina/leedl-tutorial/releases
Jupyter Notebook
9,384
star
3

llm-cookbook

面向开发者的 LLM 入门教程,吴恩达大模型系列课程中文版
Jupyter Notebook
8,853
star
4

easy-rl

强化学习中文教程(蘑菇书🍄),在线阅读地址:https://datawhalechina.github.io/easy-rl/
Jupyter Notebook
8,032
star
5

joyful-pandas

pandas中文教程
Jupyter Notebook
4,304
star
6

competition-baseline

数据挖掘、计算机视觉、自然语言处理、推荐系统竞赛知识、代码、思路
Jupyter Notebook
3,978
star
7

fun-rec

推荐系统入门教程,在线阅读地址:https://datawhalechina.github.io/fun-rec/
Jupyter Notebook
3,304
star
8

hugging-llm

HuggingLLM, Hugging Future.
Jupyter Notebook
2,425
star
9

daily-interview

Datawhale成员整理的面经,内容包括机器学习,CV,NLP,推荐,开发等,欢迎大家star
HTML
2,258
star
10

team-learning

主要展示Datawhale的组队学习计划。
2,153
star
11

thorough-pytorch

PyTorch入门教程,在线阅读地址:https://datawhalechina.github.io/thorough-pytorch/
Jupyter Notebook
1,916
star
12

learn-nlp-with-transformers

we want to create a repo to illustrate usage of transformers in chinese
Shell
1,660
star
13

team-learning-data-mining

主要存储Datawhale组队学习中“数据挖掘/机器学习”方向的资料。
Jupyter Notebook
1,504
star
14

key-book

《机器学习理论导引》(宝箱书)的证明、案例、概念补充与参考文献讲解。
1,375
star
15

self-llm

《开源大模型食用指南》基于Linux环境快速部署开源大模型,更适合中国宝宝的部署教程
Jupyter Notebook
1,352
star
16

llm-universe

本项目是一个面向小白开发者的大模型应用开发教程,在线阅读地址:https://datawhalechina.github.io/llm-universe/
Jupyter Notebook
1,133
star
17

hands-on-data-analysis

动手学数据分析以项目为主线,知识点孕育其中,通过边学、边做、边引导来得到更好的学习效果
Jupyter Notebook
1,041
star
18

hugging-multi-agent

A tutorial based on MetaGPT to quickly help you understand the concept of agent and muti-agent and get started with coding development
CSS
917
star
19

team-learning-nlp

主要存储Datawhale组队学习中“自然语言处理”方向的资料。
Jupyter Notebook
827
star
20

team-learning-program

主要存储Datawhale组队学习中“编程、数据结构与算法”方向的资料。
Jupyter Notebook
803
star
21

dive-into-cv-pytorch

动手学CV-Pytorch版
Python
781
star
22

wonderful-sql

Follow me,从 0 到 1 掌握 SQL。
625
star
23

machine-learning-toy-code

《机器学习》(西瓜书)代码实战
Jupyter Notebook
520
star
24

so-large-lm

大模型理论基础
508
star
25

leetcode-notes

🐳 LeetCode 算法笔记:面试、刷题、学算法。在线阅读地址:https://datawhalechina.github.io/leetcode-notes/
490
star
26

fantastic-matplotlib

Matplotlib中文教程,在线阅读地址:https://datawhalechina.github.io/fantastic-matplotlib/
Python
436
star
27

torch-rechub

A Lighting Pytorch Framework for Recommendation Models, Easy-to-use and Easy-to-extend.
Python
341
star
28

powerful-numpy

巨硬的NumPy
Jupyter Notebook
324
star
29

whale-quant

本项目为量化开源课程,可以帮助人们快速掌握量化金融知识以及使用Python进行量化开发的能力。
Jupyter Notebook
322
star
30

learn-python-the-smart-way

聪明方法学Python,简明且系统的 Python 入门教程。
Jupyter Notebook
301
star
31

team-learning-cv

主要存储Datawhale组队学习中“计算机视觉”方向的资料。
Jupyter Notebook
289
star
32

vced

VCED 可以通过你的文字描述来自动识别视频中相符合的片段进行视频剪辑。该项目基于跨模态搜索与向量检索技术搭建,通过前后端分离的模式,帮助你快速的接触新一代搜索技术。
Python
270
star
33

d2l-ai-solutions-manual

《动手学深度学习》习题解答,在线阅读地址如下:
Jupyter Notebook
249
star
34

juicy-bigdata

🎉🎉🐳 Datawhale大数据处理导论教程 | 大数据技术方向的开篇课程🎉🎉
Python
226
star
35

office-automation

python自动化办公
Jupyter Notebook
211
star
36

team-learning-sql

主要存储Datawhale组队学习中“SQL”方向的资料。
172
star
37

DOPMC

Datawhale 开源项目管理委员会(Datawhale Open-source Project Management Committee,简称DOPMC)
169
star
38

learn-python-the-smart-way-v2

聪明办法学Python,简明且系统的 Python 入门教程第二版。
Jupyter Notebook
142
star
39

ensemble-learning

Jupyter Notebook
124
star
40

smoothly-vslam

VSLAM开源基础教程,各章节练习代码
C++
122
star
41

joyrl

An easier PyTorch deep reinforcement learning library.
Python
121
star
42

free-excel

开源Excel教程。
CSS
120
star
43

faster-git

a chinese tutorial of git
113
star
44

unusual-deep-learning

水很深的深度学习
105
star
45

agent-tutorial

96
star
46

grape-book

图深度学习(葡萄书),在线阅读地址: https://datawhalechina.github.io/grape-book
HTML
96
star
47

undingable-optimization

顶不住的运筹优化
92
star
48

sweetalk-design-pattern

基于《大话设计模式》对设计原则和设计模式进行解读。
C++
79
star
49

hugging-sd

Hugging StableDiffusion, Hugging Future.
Jupyter Notebook
76
star
50

hands-dirty-nlp

本课程面对具有一定机器学习基础,但尚未入门的NLPer或经验尚浅的NLPer,尽力避免陷入繁琐枯燥的公式讲解中,力求用代码展示每个模型背后的设计思想,同时也会带大家梳理每个模块下的技术演变,做到既知树木也知森林。
Jupyter Notebook
73
star
51

sora-tutorial

69
star
52

joyrl-book

Jupyter Notebook
66
star
53

huawei-od-python

华为OD算法题解
Python
64
star
54

paper-chart-tutorial

《科研论文配图》组队学习
50
star
55

wow-plotly

高级可视化神器plotly的学习
Jupyter Notebook
49
star
56

time-series-learning

天池”AI Earth“气象海洋预测竞赛的Topline学习教程
Jupyter Notebook
48
star
57

go-talent

Go天才小队
Go
47
star
58

zishu

wow-fullstack,令人惊叹的全栈开发教程
Jupyter Notebook
46
star
59

whale-anno

Datawhale自研数据标注工具
Vue
43
star
60

openmmlab-tutorial

帮助新手快速入门、快速使用、习惯 OpenMMLab 开源库官方文档且能够自主上手实验,自由选择阅读更深层的知识。
Jupyter Notebook
42
star
61

rl-papers

rl-papers
38
star
62

whale-paper

Datawhale论文分享,阅读前沿论文,分享技术创新
35
star
63

whale-starry

繁星点点,光芒万丈
C++
34
star
64

team-learning-rl

主要存储Datawhale组队学习中“强化学习”方向的资料。
28
star
65

llms-from-scratch-cn

Jupyter Notebook
28
star
66

whale-web

Python
27
star
67

ML-FTTI

机器学习 - 从原理到实现
Python
26
star
68

aima-notes

人工智能:现代方法(第4版)笔记
24
star
69

awesome-compression

模型压缩的小白入门教程
23
star
70

magic-cv

Jupyter Notebook
20
star
71

llm-research

16
star
72

coggle

Coggle数据科学
15
star
73

hugging-audio

Hugging Face Audio Course中文版,帮助学习者快速入门音频模态
Jupyter Notebook
14
star
74

easy-grokking-deep-learning

Easy-Grokking-Deep-Learning,意为轻松摸索深度学习,英文缩写可简称为EGDL。
Python
11
star
75

leeml-notes

leeml-notes已更名为leedl-tutorial,请访问:https://github.com/datawhalechina/leedl-tutorial
10
star
76

datawhale-linklearner

datawhale linklearner 网站
TypeScript
9
star
77

sweetalk-data-structure

电子书阅读地址
8
star
78

hugging-rl

Robot Learning Algorithms
8
star
79

what-is-vs

5
star
80

HandPoseKeyPoints

5
star
81

design-and-analysis-of-algorithm

4
star
82

hello-net

4
star
83

fun-marl

4
star
84

easy-ros2arm

Robotic arm with machine vision and its os is ROS2.
C++
3
star
85

ai-club

Datawhale 高校联盟
3
star
86

camel-agent-tutorial

This is a tutorial based on the CAMEL framework, aimed at understanding how to build an Agent Society from the ground up!
3
star
87

obsession-with-ai

2
star
88

latex-template

Datawhale LaTex Template
TeX
2
star
89

udl-tutorial

2
star
90

llm-deploy

2
star
91

whale-share

1
star
92

sweettalk-django

Python
1
star
93

whale-governance

Datawhale 组织治理小组负责推动组织持续发展,包括组织架构、文化、制度等工作
1
star
94

start-deep-learning-on-graphs

start-deep-learning-on-graphs
1
star
95

move-as-experts

Imitation Learning and Offline Reinforcement Learning.
1
star
96

datawhale-homepage

datawhale 官网介绍页
CSS
1
star
97

caublazer

Python
1
star
98

leegenai-tutorial

1
star