1.样本偏差问题
所谓样本偏差问题,以二分类问题来说,就是两个类别的样本个数存在很大的区别。比如,我们识别违约的问题,我们知道,一般违约都是小概率的,要不然放贷款的就都玩完了。那么这个时候,训练模型就会有样本偏差的问题,可能一百个样本中只有一个是违约的,如果不做处理,模型肯定更加习惯于判定不违约,因为随便来一个样本,判断不违约的准确率都是99%。
这个问题要分情况来解决,比如如果两者的样本都很大。比如你的数据足够多,上亿级别的,那么一个亿的百分之一是百万,这个级别的数据量其实可以进行下采样。也就是丢掉不违约的样本,让两者样本平衡。
如果发现不行,你的样本量是在是太小了,那么只能进行所谓的上采样。比如,违约样本多重复几次、如果是图片的识别,那么可以进行镜像或者旋转变换。此外,除了在样本上下功夫外,也可以改变损失函数,让损失函数对样本少的情况加大惩罚。
2、连续数据和离散数据
连续数据和离散数据不是按照数据本身来看的。比如同样的变量,价格,在有些场景下可以是连续变量,有些场景下可以是离散变量。这种看起来连续的变量离散化背后的原因是非线性。
3、类别特征的Hash技巧
一般用在自然语言处理上。比如一句话按照词库进行离散化,也就是变成一个很长的0、1向量。我们知道,词库中的词是有意义的,那么把一个主题的词汇放在一起,成为一个袋子,然后统计一下向量中属于这个袋子中的词汇的数目,这样就变成了一系列袋子和数目的特征了。这就是所谓的Hash技巧。
4、交叉验证集的作用
交叉验证集做参数/模型选择,测试集只做模型效果评估。
其中有一个方法叫做k交叉验证,这个就是把训练集变成k份,然后每次选k-1份训练模型,剩下一份评估。然后获得k个评估结果,做均值,就获得了训练集的效果。不断变