为何将连续变量离散化,就可以增加模型的“非线性能力”?

将连续变量离散化,可以增加模型的“非线性能力”

这句话我在不同的地方看到不少人说过,但这句话总是让我感到困惑——知其然不知其所以然的困惑。今天我就从一个小白的角度尝试着解释一下这句话——


首先,何为“非线性能力”要搞清:非线性能力,指的就是model在对“线性不可分”数据集进行分类时所展现的能力。我们所熟知的“硬间隔SVM”就是线性model,有人也把LR称作线性model。但我们又可以通过特征组合、核函数的方法将线性model变成非线性model,即让数据的特征经过变换后,可以被超平面所分割开来。

其次说说为什么连续变量离散化会增加这个能力。如下面两个公式,公式(1)表示使用连续型变量的LR model,公式(2)表示将连续型变量离散成3个值后,再使用one-hot编码得到的LR model。

$$h(x) = \frac{1}{1+e^{-(w_{1}x_{1})}}                   (1)$$

$$h(x) = \frac{1}{1+e^{-(w_{4}x_{4}+w_{2}x_{2}+w_{3}x_{3})}}                   (2)$$  

如上所示,\(x_{1}\)指的是连续型变量,\(x_{2}\)、\(x_{3}\)、\(x_{4}\)是3个离散变量,我们将原本只用一个参数\(w_{1}\)控制的LR model,变成了使用三个参数控制的LR model,因此说它提升了模型的非线性能力,即能更好地去分开正负样本

此外,将连续型变量离散化还有其他好处:比如这增加了模型的稳定性和健壮性,因为原来只有一个参数在控制模型,现在则是多个参数,这样model因为某个特征的异常而遭受到的扰动就更小了、也降低了异常值对model的影响;最后,one-hot之后,我们也免去对这个特征进行归一化了,同时也减少了参数更新的时间。

最后,再聊一下为什么归一化的特征可以加速参数的更新速度:

在机器学习中,通过归一化可以减少迭代的时间:
image.png

这是因为未经归一化损失函数的分布可能是一个椭圆形,这是因为各维度的数值可能差距很大,如果不走运迭代的路径恰好在椭圆的长轴上,那么距离最低点的距离会非常远,迭代次数会很多.

经过归一化后保证了从任何一个方向距离圆心都有相同的距离,所以迭代时间有保证

本小段摘自:https://drivingc.com/p/5bdfa51fd249870dca3afe22


希望以上已经将这个“人尽皆知”的小问题讲明白了。我们还是要知其所以然呐!

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_illusion_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值