动态正则化权重系数_为什么逻辑或者线性回归做了特征离散化之后效果会更好?...

马东什么:手写线性回归、lasso、ridge​zhuanlan.zhihu.com

我们前面提到过线性回归的参数是如何更新的。

weights = weights - alpha * dataMatrix.transpose()* error

weights是线性回归的权重系数,alpha是学习率,dataMatrix.transpose()是样本的特征情况,error是分类的错误,在这里是f(x)-y。

我们以年龄与收入的简单的一元回归问题入手。

55af5d797dc519c9a39f7f05d5909eb9.png

横轴是年龄,纵轴是收入,一般来说,对于个人来说其年龄小收入低,随着年龄增大,持续奋斗,收入逐渐上升,然后年龄大了,退休了,收入开始下降。如果我们直接对其进行线性回归则显然得到的是一条y=wx+b的直线。它大概会是这样的。

98bb11dcd481f2592952af438b82df36.png

因为线性回归这类简单的线性模型只能拟合出线性的决策平面,所以对于这种非线性的关系很难表达出来。

那么如果我们对年龄做离散化之后onehot展开,比如【15~20】为1,【20~25】为2.。。。。。。

则模型将变成:

y=w1x1+w2x2+w3x3......则,当某个人的年龄落入其中一个区间的时候假设落入w1的这个区间,根据其权重更新的公式:

weights = weights - alpha * dataMatrix.transpose()* error

可以知道,样本的原始数据只有w1对应的区间有值,其它权重对应的区间的取值都是0,则根据上面的公式,最终weights只更新了w1,其它权重w的梯度更新均为0.则此时,针对于w1的区间的样本就会得到拟合更新w1。凡是落入这个区间的样本根据

y=w1x1+w2x2+w3x3......,

均会被预测为y=w1x1(x属于w1对应的age的区间),此时:

d987027cae1ee60a63dff9a3a118f19d.png

我们得到了这么一个分界面,无论w2,w3.。。。wn的值是多少,对于这个区间的样本,

y=w1x1+w2x2+w3x3......

永远的预测结果等于

y=w1x1

,接着对于w2对应的区间如法炮制上述的过程,最终我们可以得到这么一个分界面。

0c9645cbc05017457053db3c331bd814.png

可以看到,离散化并且onehot展开之后,线性回归的决策面变成了一大堆线性决策面的组合,可以看成是折线,从而获得了非线性拟合的能力,但是本质上类似于一大堆局部线性回归的组合。

这就是为什么离散化之后线性模型的表达能力能够增强拟合出非线性的决策面,解决非线性的问题。

实际上从pac的理论上来解释可能更加合理,但是pac太复杂了,我也不知道怎么说清楚,继续努力吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值