My answers (i.e. ideas, code) for the book "Machine Learning (机器学习)" written by Prof. Zhou Zhihua.
ps. all the code exercises are implemented by Python in eclipse-pydev env.
for more info: welcome to my blog: PnYuan - 周志华《机器学习》习题解答 and CSDN - 周志华《机器学习》课后习题解答系列
练习包括(exercises include):
- 支持向量分析实验(code here);
- 支持向量机与BP网络/C4.5决策树对比实验(experiment of SVM/BP/C4.5)(code here);
- 线性核SVM与LDA的关系(comparison of linear kernel SVM and LDA);
- 高斯核SVM与RBF网络的关系(comparison of RBF kernel SVM and RBF net);
- SVM对噪声敏感的原因(reason of noise-sensitive);
- SVR实验(experiment of SVR)(code here);
- 核对率回归设计(about kernel logistic regression - KLR);
练习包括(exercises include):
- 激活函数选择考虑(selection of activation function);
- Sigmoid激活函数与对率回归的联系(the relationships between Sigmoid() and Logistic Regression);
- BP算法推导(conduction of BP algorithm);
- 学习率分析(analysis of learning rate in NN training);
- 标准BP算法和累积BP算法对比实验(comparative experiment of BP)(code here);
- BP算法改进(improvement of BP algorithm)(code here);
- RBF神经网络实现(implementation of RBF network)(code here);
- SOM神经网络实验(experiment of SOM network)(code here);
- 卷积神经网络实验 - 字符识别(experiment of CNN on MNIST)(code here);
练习包括(exercises include):
- 决策树划分选择准则;
- 编程实现ID3算法(implementation of ID3)(code here);
- 编程实现CART算法与剪枝操作(implementation of CART and pruning)(code here);
- 多变量决策树生成方式(multivariate decision tree);
- 非递归决策树生成方法(generation of decision - non-recursive approach using DFS/BFS)
练习包括(exercises include):
- 分析偏置项b(bias terms);
- 证明对数似然是凸函数(convex functions);
- 编程实现对率回归(implementation of logistic regression)(code here);
- 实验比较k-fold_CV和LOOCV(analysis of cross-validation)(code here);
- 编程实现线性判别分析(implementation of LDA)(code here);
- 线性判别分析的非线性拓展(nonlinear stretching of LDA);
- 最优ECOC编码方式;
- 多分类到二分类分解时类别不平衡的考虑(class-imbalance)。
练习包括(exercises include):
- 分层抽样(stratified sampling)划分训练集与测试集;
- 留一法(leave-one-out)与k-折交叉验证法(k-fold cross validation)比较;
- F1值与BEP的关联;
- TPR、FPR、P、R之间的关联;
- AUC推导;
- 错误率与ROC的关系
- ROC曲线与代价曲线(cost-curve)的对应关系;
练习包括(exercises include):
- 求版本空间(version space);
- 析合范式(disjunctive normal form)提升假设空间(hypothesis space);
- 噪声环境(noise)下归纳偏好(inductive bias)考虑;