-
K-近邻算法
优点:精度高、对异常值不敏感、无数据输入假定、简单有效
缺点:计算复杂度高、空间复杂度高、非常耗时
关键:对训练集到数据向量的距离进行排序,选出到数据向量最近的K个训练集向量,然后对K个向量标签出现的次数进行排序,出现次数最多的就是数据向量的预测标签
备注:需要对各特征进行归一化 -
决策树
优点:计算复杂度不高、输出结果易于理解、对中间值缺失不敏感、可将分类器存储在硬盘上
缺点:可能产生过度匹配问题,只支持标称型
关键:
1.计算信息熵
2.利用字典存储结点
3.当特征用完或当前数据集中仅剩一种标签时结束递归 -
朴素贝叶斯
优点:在数据较少时依旧有效、可处理多类别问题
缺点:对于输入数据的准备方式较为敏感、只适用于标称型数据
关键:利用log函数解决下溢问题 -
Logistic回归
优点:计算代价不高、易于理解和实现
缺点:容易欠拟合、分类精度可能不高
关键:1.激活函数Sigmoid 2.随机梯度上升、alpha可随迭代次数增大而减小 3.缺失值可用0代替,既可保留现有数据,也不需要对优化算法进行修改
-
支持向量机
优点:泛化错误率低,计算开销不大、结果易解释
缺点:对参数调节和核函数的选择敏感,原始分类器不加修改仅适用于处理二类问题
关键:1.KKT条件 2.SMO算法,选择具有最大步长的j 3.C用于控制最大化间隔和保证大部分点的函数间隔小于1.0两个目标,C过大容易过拟合,过小容易欠拟合 4.高斯核函数:可将数据从其特征空间映射到无穷维空间,sigma的选择 5.训练结束后仅保留支持向量作为分类器
-
Adaboost算法
bagging:数据重抽样得到S个数据集,选择S个分类器,选择频率最高的作为最终结果,各分类器权重相等
boosting:几种关注被已有分类器分错的那些数据来获得新的分类器,分类器的权重取决于其在上一轮的准确率
Adaboost:利用每轮迭代后计算出错误率,通过错误率计算出本轮分类器的权重alpha,利用alpha对数据集权重向量D进行更新,分类错误的权重增大,正确的权重减小,然后进入下一轮迭代。弱分类器过多时易出现过拟合。 -
非均衡分类问题
其他分类性能度量指标:正确率、召回率和ROC曲线
正确率和召回率:很难平衡,可计算2PR/(P+R)等类似公式衡量分类性能
ROC曲线:自变量为判定分类时的阈值,两个因变量为伪正例/(伪正例+真反例)、真正例/(真正例+伪反例),以真阳率为横轴、假阳率为竖轴绘出曲线,曲线与横轴所围面积可用于衡量分类器的优劣。选择最有阈值时,选择最靠近左上的点。
基于代价函数的分类器决策:给较小类给多的权重,既只允许较小类更少的错误改变伪正例和伪反例的代价以控制正确率和召回率。 Adaboost算法中基于代价函数调整权重矩阵D 朴素贝叶斯分类中依据最小期望代价分类而不是单纯的最大概率分类 SVM中,对于不同的类别选择不同大小的C
处理非均衡问题的数据抽样方法:欠抽样、过抽样或两者相结合