各位高手,我一直很困惑,很多人在将数据放进机器学习模型之前,要先看数据特征的分布情况,比如T分布(T检验)、卡方分布(卡方检验)、正态分布等,为什么呢?还有很多情况下,都要确保独立同分布,啥模型会对同分布要求这么高?莫非很多模型的cost function都是基于正态分布推导来的吗?
2个回答
模型行前先要检验分布是EDA中的重要步骤。要建模前肯定是要看特征和目标变量的分布。
特征的分布往往决定对特征要不要做变换、做哪种变换。
至于目标变量的分布也是类似的,看要不要做变换,如果是用glm的话,要根据分布选择合适的link function等等。
SofaSofa数据科学社区DS面试题库 DS面经
很感谢你的回答,但还是不太理解,对于大部分机器学习模型来说,很少涉及link function,经常是代价函数,一般代价函数的推导是根据残差的分布情况,而残差一般服从正态分布,其中1/nΣ(y-y')^2型目标函数就是通过残差分布+MLE推导出来的,有没有根据目标变量和特征分布的推导对应代价函数的例子呢,或者相关资料,在这里提前谢过了!
-
shilongcn
2019-03-13 15:57
https://en.wikipedia.org/wiki/Generalized_linear_model 有link function表。目的是因变量 $Y$的均值是自变量线性组合的函数。$E(Y)=\mu=g^{-1}(X\beta)$,其中$g()$是link function。
-
Zealing
2019-03-20 18:08
谢谢,这个我是知道的^_^
-
shilongcn
2019-03-20 19:52
题主提到了残差,那如果残差不是正态分布呢?如果异常点很多呢?
这个情况下要不然考虑换loss function,比如MAE作为loss,或者分位数回归,huber回归(参考下鲁棒性的回归模型)。要不然就是在loss function里加权重,比如加权最小二乘法之类的。
对于二分类模型的话,了解y的分布,也可以帮助你看是用log-loss还是加权的log-loss,或者进行欠采样等等。
SofaSofa数据科学社区DS面试题库 DS面经
异常点一般是不建议进模型的,EDA过程中就被刷了,3σ原则或者1.5IQR原则就把异常处理了,另外你指加权终是Lasso或Ridge吧?正则化有助提高模型泛化能力,这个跟分布关系不大吧?
-
shilongcn
2019-03-20 15:41
如果数据是长尾的,异常点很难去。加权最小二乘法的加权是指每个样本权重不同。
-
WinJ
2019-03-20 21:33
谢谢你的回答。
-
shilongcn
2019-03-21 15:13