Giter Site home page Giter Site logo

machine-learning_zhouzhihua's Introduction

Machine-Learning (Zhou Zhihua)(周志华《机器学习》课后练习)


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 - 周志华《机器学习》课后习题解答系列

(更新中...2017-7-25)

练习包括(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)考虑;

machine-learning_zhouzhihua's People

Contributors

pnyuan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

machine-learning_zhouzhihua's Issues

关于SOM的问题

您好,
学习了您写的代码,我收获了很多,学习到了很多,但是我也有些问题,麻烦您解答下。

  1. 5.8中您说“注pymvpa2包不支持1维,可设置其竞争层size为 n2 来近似研究”,那为什么n2就算是降维了呢?
  2. 请问用pymvpa2能实现像matlab神经网络工具包展现训练竞争层的神经元映射结果的功能么?

麻烦了。

关于习题4.4的后剪枝算法问题

您好,看了您的代码很受益。
有以下问题:
1、我在运行习题4.4的代码时,发现不剪枝的决策树图和后剪枝的一样。
2、感觉问题出现在decision_tree.py文件的220行的if语句返回-1. 如果这里用 reruern -1,不是说明只要某节点的一课子树不用剪枝,那这个节点以上的节点都不用剪枝了?
3、该文件第44行,判断属性是否空的语句似乎也有问题:我觉得应该用 len(df.columns)-1 == 0 来判断。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.