流程
机器学习处理的流程大概如下:
- (1)数据获取
- (2)数据清洗,特征工程
- (3)模型选择
- (4)结果校验
那么,在模型选择及结果校验过程中,有如下几个标准:
过拟合与欠拟合
过拟合就是模型训练的太好了,在训练集上能够非常好的完成目的,但是在测试集上,效果却很差,通常过拟合是模型参数选择过多导致,而欠拟合就是模型在测试机和训练集上表现都不好。
欠拟合好处理,而过拟合不好处理,过拟合通过增加参数数量、提高特征的使用,可以逐步提高拟合程度,而过拟合的处理相对不容易,要降低参数量来处理,比如重新清洗数据、增大训练数据量、dropout、正则化处理。
正则化是处理过拟合比较常用的方法,比如L0正则、L1正则、L2正则,在机器学习深度学习中都有使用。L0正则是希望参数都是0,让参数是洗漱的,而L1正则则是参数的绝对值之和是0,L2正则是参数的平方相加为0,L0和L1(Lasso)目的都是让参数是稀疏的,那么为什么要参数是稀疏的呢?第一是方便特征选择,第二是结果可以更好的解释,具体见文章http://blog.csdn.net/zouxy09/article/details/24971995。
L2正则又叫岭回归,也是使用非常多的一种正则化方法,他的目的是让参数小,而不是接近于0,越小的参数越简单,而越简单就越越不容易出现过拟合,把特征的权重降低,相当于减少单个特征对整个模型的影响。
交叉验证及参数选择
参数选择包括两种参数,一个是模型自身参数,比如逻辑回归的参数,svm的参数等,另一种是超参数,比如kmeans的k的选择,这些参数通常需要手动设置。
交叉验证则是在模型构建过程中,将数据集分为测试集合验证集,测试集用于测试,验证集验证模型效果。网格搜索是另一种,网格搜索则是构建网格进行搜索最好的模型参数。
特征选择
去除方差最小的特征,varianceThreshold,极端情况,如果在所有样本在某个维度上的特征全都相同,说明该特征描述或者代表样本能力很弱。
基于单变量统计特征选择,根据单变量统计测试选取特征,selectkBest
基于模型的特征选择,比如随机森林。
评价标准
- 曲线下面积AUC
二分类模型的评价指标,曲线:接受者操作特征曲线ROC曲线,AUC的值就是ROC曲线下的面积
TP、FP、TN、FN
- TPR:实际值是1的样本中,被正确地预测为1的比率
- FPR:在所有实际值是theta的样本中,被错误预测为1的比率
- AUC在0-1之间
- 0.5 AUC 1,优于随机猜测
- AUC = 0.5 随机
- AUC < 0.5 比随机猜测还差
- 对数损失
模型输出可以用logloss来评价预测结果。