- 文集信息
- 目录大纲
- 最新文档
- 知识宇宙
文集详情
文集导读
统计学习方法习题解答
李航老师的《统计学习方法》和《机器学习方法》是机器学习领域的经典入门教材之一。本书分为监督学习、无监督学习和深度学习,全面系统地介绍了机器学习的主要方法。
- 第1篇主要介绍监督学习的主要方法,包括感知机、k近邻法、朴素贝叶斯法、决策树、逻辑斯谛回归与最大熵模型、支持向量机、提升方法、EM算法、隐马尔可夫模型和条件随机场等;
- 第2篇主要介绍无监督学习的主要方法,包括聚类方法、奇异值分解、主成分分析、潜在语义分析、概率潜在语义分析、马尔科夫链蒙特卡罗法、潜在狄利克雷分配和PageRank算法等;
- 第3篇主要介绍深度学习的主要方法,包括前馈神经网络、卷积神经网络、循环神经网络、序列到序列模型、预训练语言模型和生成对抗网络等。
使用说明
统计学习方法习题解答,主要完成了该书的所有习题,并提供代码和运行之后的截图,里面的内容是以统计学习方法的内容为前置知识,该习题解答的最佳使用方法是以李航老师的《机器学习方法》为主线,并尝试完成课后习题,如果遇到不会的,再来查阅习题解答。
如果觉得解答不详细,可以点击这里提交你希望补充推导或者习题编号,我们看到后会尽快进行补充。
自学指南
- 建议自学时长:82天
- 自学形式:以教材内容为主,学习与总结知识点;以课后习题为辅,尝试完成习题,巩固知识理论。
- 学习安排:
- 第1阶段:监督学习(上)(共18天):
- Task01(3天):阅读第1章统计学习方法概论,总结知识点,完成习题1.1、习题1.2
- Task02(3天):阅读第2章感知机,总结知识点,完成习题2.1、习题2.2
- Task03(3天):阅读第3章k近邻法,总结知识点,完成习题3.1、习题3.2、习题3.3
- Task04(3天):阅读第4章朴素贝叶斯法,总结知识点,完成习题4.1
- Task05(3天):阅读第5章决策树,总结知识点,完成习题5.1、习题5.2
- Task06(3天):阅读第6章逻辑斯谛回归与最大熵模型,总结知识点,完成习题6.2、习题6.3
- 第2阶段:监督学习(下)(共17天)
- Task07(3天):阅读第7章支持向量机,总结知识点,完成习题7.1、习题7.2、习题7.3
- Task08(3天):阅读第8章提升方法,总结知识点,完成习题8.1、习题8.2
- Task09(3天):阅读第9章EM算法及其推广,总结知识点,完成习题9.1
- Task10(4天):阅读第10章隐马尔可夫模型,总结知识点,完成习题10.1、习题10.2
- Task11(4天):阅读第11章条件随机场,总结知识点,完成习题11.1、习题11.4
- 第3阶段:无监督学习(上)(共13天)
- Task12(4天):阅读第13章无监督学习概论、第14章聚类方法,总结知识点,完成习题14.1、习题14.2、习题14.4
- Task13(3天):阅读第15章奇异值分解,总结知识点,完成习题15.1、习题15.2
- Task14(3天):阅读第16章主成分分析,总结知识点,完成习题16.1、习题16.2
- Task15(3天):阅读第17章潜在语义分析,总结知识点,完成习题17.1、习题17.3
- 第4阶段:无监督学习(下)(共15天)
- Task16(3天):阅读第18章概率潜在语义分析,总结知识点,完成习题18.2
- Task17(4天):阅读第19章马尔可夫链蒙特卡罗法,总结知识点,完成习题19.1、习题19.5
- Task18(4天):阅读第20章潜在狄利克雷分配,总结知识点,完成习题20.2
- Task19(4天):阅读第21章PageRank算法,总结知识点,完成习题21.1
- 第5阶段:深度学习(共19天)
- Task20(3天):阅读第23章前馈神经网络,总结知识点,完成习题23.3、习题23.4
- Task21(3天):阅读第24章卷积神经网络,总结知识点,完成习题24.2、习题24.8
- Task22(3天):阅读第25章循环神经网络,总结知识点,完成习题25.4
- Task23(4天):阅读第26章序列到序列模型,总结知识点,完成习题26.2、习题26.5
- Task24(3天):阅读第27章预训练语言模型,总结知识点,完成习题27.3
- Task25(3天):阅读第28章生成对抗网络,总结知识点,完成习题28.2、习题28.6
- 第1阶段:监督学习(上)(共18天):
选用的《机器学习方法》版本
书名:机器学习方法
作者:李航
出版社:清华大学出版社
版次:2022年3月第1版
项目结构
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成员-中科院自动化研究所-信息抽取与大模型可信推理方向)
- 王昊文 (帝国理工学院-算法工程师)
其他
- 特别感谢 @Sm1les、@LSGOMYP 对本项目的帮助与支持;
- 感谢@GYHHAHA,指出了第7章习题7.4的解答问题,并完善了该题的解答;
- 感谢范佳慧、汪健麟、张宇明、兰坤、李拙等同学对项目提供的完善性建议;
- 感谢张帆同学对习题27.1解答的帮助,解决了ELMo预训练模型的代码问题。
参考文献
关注我们
扫描下方二维码关注公众号:Datawhale
LICENSE
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
目录大纲
最新文档
知识宇宙
正在加载知识图谱...