美文网首页
防止过拟合方法

防止过拟合方法

作者: Chuck_Wu | 来源:发表于2018-11-13 20:26 被阅读16次

    一、防止过拟合的方法有哪些?

    过拟合是指模型参数拟合过程中的问题。由于训练集数据包含抽样误差,复杂模型在进行拟合过程中,也很好的拟合了抽样误差。具体表现就是最终模型在训练集数据上拟合效果很好,而在测试集数据上拟合效果差。最终导致模型泛化能力弱。

    为了防止过拟合,可以采用以下几种方法解决:

    • 模型参数:减少特征、权值衰减、Early stopping

    • 数据集:数据集扩增、验证数据

    • 增加罚项:正则化方法、Dropout

    1、模型参数

    减少特征:人工选择特征,或利用算法选取较好特征。

    Early stopping:对模型进行训练时既是对模型参数进行学习更新的过程,这过程中往往会用到例如梯度下降之类的学习算法。Early stopping是在训练数据集迭代收敛之前停止迭代来防止过拟合。一般的做法为,连续10次最佳accuracy不再提高时,就可以停止迭代。

    2、数据集

    扩增数据集:扩增数据集是最有效的解决过拟合问题的办法。让模型“看见”更多的“例外情况”,模型才会不断修正自己,从而得到更好的结果。一般来说,可以从数据源头采集更多数据;进行重采样;复制原有数据并加上随机噪声等。

    例如,在物体分类问题中,如果没有更多图片,可根据一定规则进行数据增强(data argumentation),通过对图像的平移、翻转、切割、缩放等方式将数据集进行成倍扩充。

    image

    3、增加惩罚项

    L1正则化:L1正则基于L1范数,即在目标函数后面加上参数的L1范数和项。n是样本的个数,λ为正则项系数。相比L2,L1 正则化的解具有稀疏性。

    `

    L=Ein+λ∑j | wj |

    `

    L2正则化:L2正则基于L2范数,即在目标函数后面加上参数的L2范数和项

    `

    L=Ein+λ∑j w2j

    `

    其中,若 λ 近似为 0,正则化失效,容易造成过拟合。相反,若 λ 很大,圆形区域很小,w 离 Ein 最优解的位置较远。w 被限制在一个很小的区域内变化,w 普遍较小且接近 0,起到了正则化的效果。

    dropout(随机失活):Dropout方法通过修改人工神经网络中隐藏层的神经元的个数(随机删除一些神经元,下次迭代可不同)来防止人工神经网络的过拟合。例如,在训练时,每次随机(如 50% 概率)忽略隐层的某些节点。

    二、鸢尾花数据预测

    使用逻辑回归(Logistic Regression)对鸢尾花数据(多分类问题)进行预测,可以直接使用sklearn中的LR方法,并尝试使用不同的参数,包括正则化的方法,正则项系数,求解优化器,以及将二分类模型转化为多分类模型的方法。

    获取鸢尾花数据的方法:

    from sklearn.datasets import load_iris

    X, y = load_iris(return_X_y=True)

    代码:

    
        from sklearn.datasets import load_iris
    
        from sklearn.model_selection importtrain_test_split
    
        from sklearn.linear_model importLogisticRegression
    
        from sklearn.metrics importaccuracy_score
    
    
    
        X, y = load_iris(return_X_y=True)
    
        X_train, X_test, y_train, y_test =train_test_split(X, y, test_size=0.5, random_state=42)
    
    
    
    clf = LogisticRegression(random_state=0, penalty='l2', C=0.1, solver='lbfgs', multi_class='multinomial')
    
    clf.fit(X_train, y_train)
    
    
    
    y_pred = clf.predict(X_test)
    
    print(accuracy_score(y_test, y_pred))
    
    

    相关文章

      网友评论

          本文标题:防止过拟合方法

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