模型优化评估

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) - \bar h(x)]p(x)) dx\)

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

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

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

时间: 2024-11-05 19:01:34

模型优化评估的相关文章

WSFC仲裁模型优化方案选型

WSFC仲裁模型优化方案选型 生产环境某系统数据库高可用环境描述 生产环境某系统部署为主.备.灾备三节点SQL Server 2014 AlwaysOn AG,操作系统为Windows Server 2012 Standard,环境基于域(Domain)和Windows故障转移集群(WSFC).无见证磁盘,采用多数节点仲裁.主.备都有投票权,灾备无投票权.默认启用了动态仲裁,默认动态仲裁随机挑选一个节点去掉投票权.生产环境当前投票在备节点. 第1部分:测试环境资源描述 Windows故障转移群集

【NLP】蓦然回首:谈谈学习模型的评估系列文章(三)

基于NLP角度的模型评价方法 作者:白宁超 2016年7月19日19:04:51 摘要:写本文的初衷源于基于HMM模型序列标注的一个实验,实验完成之后,迫切想知道采用的序列标注模型的好坏,有哪些指标可以度量.于是,就产生了对这一专题进度学习总结,这样也便于其他人参考,节约大家的时间.本文依旧旨在简明扼要梳理出模型评估核心指标,重点达到实用.本文布局如下:第一章采用统计学习角度介绍什么是学习模型以及如何选择,因为现今的自然语言处理方面大都采用概率统计完成的,事实证明这也比规则的方法好.第二章采用基

机器学习:模型性能评估与参数调优

模型性能评估的常用指标 真阳性(True Positive,TP):指被分类器正确分类的正例数据 真阴性(True Negative,TN):指被分类器正确分类的负例数据 假阳性(False Positive,FP):被错误地标记为正例数据的负例数据 假阴性(False Negative,FN):被错误地标记为负例数据的正例数据 精确率=TP/(TP+FP),TP+FP是模型预测的正样本总数,精确率衡量的是准确性: 召回率=TP/(TP+FN),TP+FN是真实的正样本总数,召回率衡量的是覆盖率

基于VerilogHDL模型优化

1  引言 每个设计者在进行Verilog建模时都会形成自己的设计风格,同一个电路设计,用Verilog描述可以写出许多逻辑上等价的模型,而大多数设计者考虑 的主要是代码书写上的方便和功能上是否正确,对设计的模型是否最优化结构却考虑甚少,这样不仅加重了逻辑综合的负担,影响综合效率,而且很可能会导致设计 出的芯片未达到最优的面积和速度.因此,在Verilog建模时,很有必要进行模型优化. 2  模型优化概述 影响一个芯片性能的指标主要有两个:面积和速度.模型优化就是通过一定的手段对模型的结构进行调

在PYTHON中使用TMTOOLKIT进行主题模型LDA评估

主题建模的英文一种在大量文档中查找抽象艺术主题艺术的方法.有了它,就有可能发现隐藏或"潜在"主题的混合,这些主题因给定语料库中的文档而异.一种作为监督无的机器学习方法,主题模型不容易评估,因为没有标记的"基础事实"数据可供比较.然而,由于主题建模通常需要预先定义一些参数(首先是要发现的主题?的数量),因此模型评估对于找到给定数据的"最佳"参数集是至关重要的. 概率LDA主题模型的评估方法 使用未标记的数据时,模型评估很难.这里描述的指标都试图用理

[模型优化]模型欠拟合及过拟合判断、优化方法

[模型优化]模型欠拟合及过拟合判断.优化方法 一.模型欠拟合及过拟合简介 模型应用时发现效果不理想,有多种优化方法,包含: 添加新特征 增加模型复杂度 减小正则项权重 获取更多训练样本 减少特征数目 增加正则项权重 具体采用哪种方法,才能够有效地提高模型精度,我们需要先判断模型是欠拟合,还是过拟合,才能确定下一步优化方向. 图1 模型欠拟合,即高偏差(high bias),是指模型未训练出数据集的特征,导致模型在训练集.测试集上的精度都很低.如图1左图所示. 模型过拟合,即高方差(high va

模型性能评估

模型性能评估 模型性能评估是为了评价模型的泛化能力,模型性能评估主要有两个问题要解决: 1)用什么数据来评估? 2)用什么标准来评估? 下面的第一节内容主要解答用什么数据来评估模型的性能,第二节解答用什么标准来评估. 1.用什么数据来评估模型性能 常用的有3中,按照复杂程度程度排序分别为: 1)训练集+测试集 2)holdout方法 3)K折交叉验证 其中第1种方法是用测试集来评估模型的性能:第二种方法是用验证集+测试集来评估,验证集用于训练过程中的评估,测试集用于最终的评估:第3种方法也是用验

分类模型的评估和模型选择与调优

模型的评估标准 准确率 estimator.score() 最常见,预测结果的正确百分比 混淆矩阵 在分类任务下,预测结果与正确标记之间存在四种不同的组合,构成了混淆矩阵(适用于多分类) 精确率 预测结果为正例样本中真实为正例的比例,也就是查得准 召回率 真实为正例的样本中预测结果为正例的比例,查的全,对正样本的区分能力 其他分类标准 F1-score , 反映了模型的稳健性.具体会在代码运行结果中会显示. 以上都是对模型评估的一个标准.一些基础. 分类模型的评估API sklearn.metr

dc竞赛大学生奖学金预测--模型优化篇

继上一篇得到的初步数据,我们基本上已经得到了用于分类的数据了.接下来可以考虑建模了,建模可以有多种方法那么评估模型的最简单粗暴的方法就是匹配准确率.但是这次的评分规则是: 简单说下赛方为什么不用匹配准确率来评价模型,本身数据结构中"没得助学金"的个体已经占了85%左右的比例,如果计算整体的匹配率对好的模型的检验不够.所以从这个比赛规则,我们也可以收到启发,下次做这种数据结构不均衡的分类时,评价体系可以采用上面这个比赛规则.那么先把得分函数写出来: from sklearn import