3.1.2.3L2范数正则化

作者: idatadesign | 来源:发表于2017-12-02 17:04 被阅读45次

    与L1范数正则化略有不同的是,L1范数正则化则在原优化目标的基础上,增加了参数向量的L2范数的惩罚项,为了使新优化目标最小化,这种正则法的结果会让参数向量中的大部分元素都变得很小,压制了参数之间的差异性。而这种压制参数之间差异性的L2正则化模型,通常被称为Ridge。

    Ridge模型在4次多项式特征上的拟合表现
    #输出4次多项式回归模型的参数列表
    print(regressor_poly4.coef_)
    

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

    #输出上述这些参数的平方和,验证参数之间的巨大差异。
    print(np.sum(regressor_poly4.coef_**2))
    

    647.382645737

    from sklearn.linear_model import Ridge
    ridge_poly4=Ridge()
    
    ridge_poly4.fit(X_train_poly4,y_train)
    
    #输出Ridge模型在测试样本上的回归性能
    print(ridge_poly4.score(X_test_poly4,y_test))
    

    0.837420175937

    #输出Ridge模型的参数列表,观察参数差异
    print(ridge_poly4.coef_)
    

    [[ 0. -0.00492536 0.12439632 -0.00046471 -0.00021205]]

    #计算Ridge模型拟合后参数的平方和
    print(np.sum(ridge_poly4.coef_**2))
    

    0.0154989652036

    通过对输出代码的观察,可以验证Ridge模型的一切特点:
    (1)相比于普通4次多项式回归模型在测试机上的表现,默认配置的Ridge模型性能提高了近3%;
    (2)与普通4次多项式回归模型不同的是,Ridge模型拟合后的参数之间差异非常小。

    相关文章

      网友评论

        本文标题:3.1.2.3L2范数正则化

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