高维稀疏特征的时候,lr 的效果会比 gbdt 好

高维稀疏特征的时候,lr 的效果会比 gbdt 好,为什么?

  • 这个问题我也是思考了好久,在平时的项目中也遇到了不少 case,确实高维稀疏特征的时候,使用 gbdt 很容易过拟合。
  • 但是还是不知道为啥,后来深入思考了一下模型的特点,发现了一些有趣的地方。
  • 假设有1w 个样本, y类别0和1,100维特征,其中10个样本都是类别1,而特征 f1的值为0,1,且刚好这10个样本的 f1特征值都为1,其余9990样本都为0(在高维稀疏的情况下这种情况很常见),我们都知道这种情况在树模型的时候,很容易优化出含一个使用 f1为分裂节点的树直接将数据划分的很好,但是当测试的时候,却会发现效果很差,因为这个特征只是刚好偶然间跟 y拟合到了这个规律,这也是我们常说的过拟合。但是当时我还是不太懂为什么线性模型就能对这种 case 处理的好?照理说 线性模型在优化之后不也会产生这样一个式子:y = W1*f1 + Wi*fi+….,其中 W1特别大以拟合这十个样本吗,因为反正 f1的值只有0和1,W1过大对其他9990样本不会有任何影响。
  • 后来思考后发现原因是因为现在的模型普遍都会带着正则项,而 lr 等线性模型的正则项是对权重的惩罚,也就是 W1一旦过大,惩罚就会很大,进一步压缩 W1的值,使他不至于过大,而树模型则不一样,树模型的惩罚项通常为叶子节点数和深度等,而我们都知道,对于上面这种 case,树只需要一个节点就可以完美分割9990和10个样本,惩罚项极其之小.
  • 这也就是为什么在高维稀疏特征的时候,线性模型会比非线性模型好的原因了:带正则化的线性模型比较不容易对稀疏特征过拟合。
  • 12
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
稀疏特征分析是一种在机器学习和数据挖掘领域中常用的技术,用于处理高维数据中的稀疏特征。而MATLAB是一种常用的科学计算软件,提供了丰富的工具和函数来进行数据分析和处理。 在MATLAB中,稀疏特征分析可以通过Sparse Representation-based Classification (SRC)或者Sparse Principal Component Analysis (SPCA)等方法来实现。这些方法可以帮助我们从高维数据中提取出最具有代表性的特征,以便进行分类、聚类或降维等任务。 SRC是一种基于稀疏表示的分类方法,它假设每个样本可以由其他样本的线性组合表示。通过求解一个稀疏优化问题,SRC可以将待分类样本表示为其他样本的线性组合,并根据重构误差来进行分类。 SPCA则是一种基于稀疏表示的主成分分析方法,它通过最小化数据的稀疏表示误差来提取出最具有代表性的主成分。与传统的PCA方法相比,SPCA可以更好地处理高维数据中的稀疏特征。 除了SRC和SPCA,MATLAB还提供了其他一些用于稀疏特征分析的函数和工具箱,如lasso、OMP等。这些函数和工具箱可以帮助我们进行特征选择、特征提取和特征重建等操作。 总结一下,MATLAB提供了丰富的函数和工具来进行稀疏特征分析,可以帮助我们从高维数据中提取出最具有代表性的特征。通过稀疏特征分析,我们可以更好地理解和利用数据中的稀疏特征,从而提高机器学习和数据挖掘的效果

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值