班课6
1. project
preprocess:
a. bag of words: sklearn.feature_extraction.text.CountVectorizer
把所有出现过的单词整合成字典
b. TFIDF: sklearn.feature_extraction.text.TfidfVectorizer
增加了词频
models
a. sklearn.svm.SVC
b. sklearn.native_bayes.MultionmialNB
c. sklearn.naive_bayes.BernouliNB
d. sklearn.tree.DecisionTreeClassifier
e. sklearn.neighbors.NearestNeighbors
2. Bias-Vaieance Decomposition
bias为模型与目标的差距
variance为不同训练数据造成的差异
越复杂的模型bias越小,variance越大;反之亦然
3. stability:给每个模型增加一个新属性
有一个给定data distributionD,从中抽取S1,S2,分别对其训练算法L
得到相似结果,则称之为stable(如KNN),反之unstable(如decision tree)
4. ensemble methods
训练多组数据,根据准确度赋予不同weight,拟合起来
或者将训练好的模型再放入learning algorithm中,得到最终的output
5. bagging
同上述相似,但是只训练同一种方法(每次选择的sample都是随机得到的,有放回的抽取,所以可能有重复)
bagging针对llow bias high variance的情况,可以降低variance
计算error时假设所有learner都是独立的
6. random forest
简单理解为bagging用在decision tree上
区别是横向纵向分别sample
7. boosting
针对weak learners,可理解为特别stable的learner(只比random好一点)
针对准确度差但是variance很低的
new learner focues on former error learner
即在每一轮的学习中解决之前出现的错误,增大一直错误的weight,如果做对了就减少weight