模型优化评估

Basis Expansion

这个咋翻译呢, 线性扩充基?

无所谓其实, 这里主是用它来处理因变量 和 自变量 的非线性关系的

Basis Expansion

是指通过对数据进行转换来扩充或替换数据集的的特征. 我最初的数据分析工具是R语言嘛, 当时没有接触ML这些什么正则的概念, 就统计学理论. 在做线性模型的时候, 拟合的不是很好, 我当时真的就凭感觉, 给方程加上一些高阶项 然后就拟合得可以了. 不过呢,后来还是放弃了, 因为很难解释, 尤其是经管方面, 模型的参数的解释尤为重要 这点跟ML不太同, 当然,更不会用神经网络, 我感觉我的水平,怕是解释不清楚里面是怎么工作的.

这里的 Basis Expansion, 举个栗子, 给定输入特征X, Basis Expansion 可以将X 扩充到多个特征, 如 1, X, X^2 等. 这种映射允许各类学习算法来捕捉数据中的非线性趋势, 同时仍然使用线性模型来分析这些转换后的特征. 比如增加一些非线性的高阶项等, 线性而言, 其中有一个比较耳熟的名称多项式回归

case1 线性回归

进行一个升维(多项式项)的变换

(phi(x) = [1,x, x^2])

即之前是对一个特征求参数, 现在变为了3个特征了.

(w_0 + w_1x + w_2x^2 = phi(x).[w_0, w_1, w_2 ])

这样对拟合出来的曲线就会更接近样本了.

其实也就增加了一些高阶项, but, 这些高阶项要如何选择, 同时防止过拟合呢. 从理论上其实非常明显,增加训练数据样本即可. 只要数据样本足够, 即便是深度学习也很简单, 直接用全连接层, 数据量达到无穷, 就是真实样总体了, 然后也根本没有拟合这一说法.

比较现实的是, 数据的获取成本很高, 之前在一家市场研究的公司实习, 做处方药调用的, 对象是主治医师级别的, 一份问卷的成本在800元左右, 我在做分析的时候,都是小心翼翼的.

当然从理论和技术上, 可以对样本自身进行升维来拟合复杂模型, 但可能在解释性上和实际应用上,并不能达到客户的需求, 这很值得考量.

欠拟合 vs 过拟合

我也是近一两年才有所发现, 可能, 之前在学校搞的哪些水论文, 真的是有问题的. 我们营销专业的论文, 在涉及建模, 用的工具是SPSS, 所有理论的基础是概率论和梳理统计. 验证模型好坏用 检验, 然而在在对数据建模时, 几乎没有划分测试集和训练集, 并极力追求最好地拟合, 而让其失去了泛化能力 , 还有比较过分的一点, 为了模型能更好拟合, 对数据还进行了"微度调整", 这虽然可耻, 但也是需要技术的, 比如对模型内部运行机制了如指掌等.不过也好, 也感觉到经管的学术圈, 个人一点小接触,真的要论造假, 我感觉我觉得混得风生水起, 就是有点昧良心. 当然辩证来看, 不得不说的一点是, 这段经历让给我的数理方面打下了较为坚实的基础.

模型复杂度

之前追求复杂模型是为了更好拟合数据, 反而走向了另一个极端, 这现在看来是有些糟糕. 如何用误差 这个指标来衡量的话, 通常有这样的一个关系:

模型复杂度越高, 越容易过拟合, 表现为在训练集的误差小, 在验证集上误差大

就是测试, 试验可以, 然后市场推广能力差呗.

模型的Bias

即: 期望值与真实值的差异, 用来衡量模型和真实情况的查差异, 同时, 随着模型的复杂度增加, Bias减少.

给定 n 个数据集 D, 在不同的数据集D上训练出不同模型 h(x), 则期望值(在所有的h(x) 上的平均) 记为:

(E_D h(x))

假设对于, x, 真实值记为 (y(x)), 其出现的先验概率为 p(x), 则:

(bais ^ 2 = int _x [(E_Dh(x) - y(x)]p(x)) dx)

模型的variance

表示在一定数据集上训练的模型跟其余模型的期望的差异

  • 衡量模型对特定数据集的变化敏感度
  • 随着模型复杂度增加, Variance 增加

(variance = int _x [(E_Dh(x) - ar h(x)]p(x)) dx)

小结一波, 这篇是从比较宏观的角度来对训练的模型进行评估, 首先一条线是 欠拟合 vs 过拟合. 回想之前的经历, 竟然都一直为过拟合而奋斗, 未来假设检验的p值而奋斗, 蓦然感到,好像有点偏执了, 当然, 与之对应的是模型的复杂度, bais. 训练时非常good, 然而测试就不行了, 没有市场竞争力, 毕竟未来的市场如何, 并非是按假设数据来走的, 模型永远只是模型, 在欠,过拟合之间的均衡点.

另外一条线是关于模型的variance, 我认为取决2点, 样本数据的假设分布和模型的选择, 当然也跟模型复杂度相关, 这个问题有些大了, 我觉得最好的就是, 如果时间允许, 机器性能很强的话, 多整整试试不同方案, 选最好的不就行了吗, 或者都要(集成学习) 这样的再来衡量. 还有个人觉得最为重要的前提是特征工程吧. 当然这里不再讨论范围之内哦.

原文地址:https://www.cnblogs.com/chenjieyouge/p/11971298.html