3.1.2.2L1范数正则化

作者: idatadesign | 来源:发表于2017-12-02 16:52 被阅读24次

    正则化的目的在于提高模型在未知测试数据上的泛化力,避免参数过拟合。由上节的例子可以看出,2次多项式回归是相对较好的模型假设。之所以出现如4次多项式那样的过拟合情景,是由于4次方项对应的系数过大,或者不为0所导致。
    因此。正则化的常见方法都是在原模型优化目标的基础上,增加对参数的惩罚项
    也就是说,在原优化目标上的基础上,增加参数向量L1范数。如此一来,在新目标优化的过程中,也同时考虑L1惩罚项的影响。为了使目标最小化,这种正则化方法的结果会让参数向量中的许多元素趋向于0,使得大部分特征失去对优化目标的贡献。而这种让有效特征变得稀疏的L1正则化模型,通常被称为Lasso

    Lasso模型在4次多项式特征上的拟合表现
    from sklearn.linear_model import Lasso
    #从使用默认配置初始化Lasso
    lasso_poly4=Lasso()
    #从使用Lasso对4次多项式特征进行拟合
    lasso_poly4.fit(X_train_poly4,y_train)
    
    #对Lasso模型在测试样本上的回归性能进行评估
    print(lasso_poly4.score(X_test_poly4,y_test))
    

    0.83889268736

    #输出Lasso模型的参数列表
    print(lasso_poly4.coef_)
    

    [ 0.00000000e+00 0.00000000e+00 1.17900534e-01 5.42646770e-05
    -2.23027128e-04]

    #回顾普通4次多项式回归模型过拟合之后的性能
    print(regressor_poly4.score(X_test_poly4,y_test))
    

    0.809588079578

    #回顾普通次多项式回归模型的参数列表
    print(regressor_poly4.coef_)
    

    [[ 0.00000000e+00 -2.51739583e+01 3.68906250e+00 -2.12760417e-01
    4.29687500e-03]]

    通过对输出代码的观察,验证了我们所介绍的Lasso模型的一切特点。
    (1)相比于普通4次多项式回归模型在测试机上的表现,默认配置的Lasso模型性能提高了大约3%;
    (2)相较之下,Lasso模型拟合后的参数列表中,4次与3次特征的参数均为0.0,使得特征更加稀疏。

    相关文章

      网友评论

        本文标题:3.1.2.2L1范数正则化

        本文链接:https://www.haomeiwen.com/subject/qdynbxtx.html