2014.4.20
参考资料:Introduction to Data Mining, Chap 4
4.2
首先是General Approach to Solving a Classification Problem,即“分类问题的总体分类”
首先,要有训练数据集Train Set,要有学习算法Learning Machine。学习算法以训练数据集为材料,训练出一个符合Train Set的模型Model。然后用这个Model来推测测试用的数据集,看效果怎么样。即分类问题的结果是一个较好的Model。这个过程可以用下图表示
建立了Model以后,用这个Model在测试数据集Test Set中预测正确的比例评价得出的Model怎么样!
/********************************************************************************************/
4.3 Decision Tree Induction
4.3.1
介绍了一个分类classification问题是怎么用Decison Tree解决的。
4.3.2
建立decision tree的algorithm usually employ a greedy strategy that grows a decision tree by making a series of locally optimum decisions about which attribute to use for partitioning the data.
意思是,有很多属性attribute可供选择用以当增加decision tree的判断条件。具体选择哪一个属性呢?很多算法会拿各个属性进行划分尝试,哪个属性在当前的划分效果最好,就拿那个属性做下一步的判断条件。
4.3.3
讲的是,当选择了一个属性作为增加decision tree的判断条件后,我们具体怎么用这个属性做判断条件呢?给出了几种情况:当属性是binary attribute时,当属性是nominal attribute时,当属性是Ordinal Attribute时,当属性是Continuous Attribute时
4.3.4
是4.3.3的进一步,讲的是,具体怎么选择一个值作为判断条件的分界点呢?
4.3.5和4.3.6分别给出了一个算法和一个应用。
4.3.7
讲了一些使用decison tree来进行解决分类问题的经验之谈(但是我没用过,所以暂时不能充分体会到)
/********************************************************************************************/
4.4:Model Overfitting
先讲了什么是Model Overfitting。就是因为一个模型过于贴合train set而使得对于test set的预测效果不好。等价的一句话是使得training errors很低,而generalizaion errors升高。
4.4.1~4.4.3讲了造成Model Overfitting现象出现的几个可能原因:Due to Presence of Noise, Due to Lack of Representative Samples, Due to Multiple Comparison Procedure.
4.4.4
宣扬了一种观点:关于主要是什么原因会造成过于Model Overfitting还在debate;但是有一点是普遍认识到的,就是建立出的model的complexity(我认为意为模型精细程度)会对Model Overfitting有一定影响。
所以,这一节讨论的是我们应该怎样决定一个model发展到怎样的complexity能够最好地减少test error。主要思路是用train error和model complexity来预测对于test set的test error。具体介绍了以下几种预测算法:直接用train error作为test error的预测;将train error和model complexity结合;基于统计分布来修正train error来预测test error;将train set再次分割,一部分用于train,一部分用于预测test set的效果,这种方法叫validation set。
4.4.5
上一节讲的是利用预测test error来使得learning algorithm形成的model不会overfit the training data。这一节则是在Decision Tree形成过程中解决overfitting的问题。主要方法是修剪decision tree,有两个方向:prepruning和post-pruning
/********************************************************************************************/
4.5 Evaluating the Performance of a Classifier
评价建立出的model是否有较好的generalization error。介绍了几种评价方法:
4.5.1 Holdout Method 将打好标签的数据集分成train set & test set,用train set 建立model,然后用model预测test set,将预测的错误率作为对于以后未知数据的generalizaion error。
4.5.2 Random Subsampling 就是repeate holdout method several times.
4.5.3 Cross-Validation :k-fold cross-validation将打好标签的数据集分成k份,每次选一份作为test set,剩下的作为train set ,运行k次,使得每份数据都成为一次test set。
4.5.4 Bootstrap:在决定train set的record时采用放回抽样。
/********************************************************************************************/
4.6 Method for Comparing Classifiers (关键是暂时没搞懂这一节和上一节的关系)
4.6.1 讲的是根据将model对test set预测后,得出了一个预测的准确率accuracy。如何根据这个test set的accuracy得出整个推广到所有未知数据的generalization accuracy的一个置信区间。
4.6.2 (还不是很理解,特别是statistically significant)讲的是当两个model在两个大小不同的test set上各自取得了一个error rate,我们能否确定这两个error rate能说明孰优孰劣。
4.6.3 如何根据两个classifier产生的model对于test set的error rate之差的分布来推测两个classifier产生的model真实error rate之差的置信区间。