机器学习--模型评估与选择 (总结)

过拟合和欠拟合

	过拟合:就是学习器把训练样本学习的太好了,可能会把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质。例如,当训练样本中的树叶中都有锯齿时,学习器就会判断没有锯齿的叶子不是属于树叶这一种类。过拟合会导致泛化能力下降。
	欠拟合:与过拟合相对,就是学习器对训练样本认识的不够准确,只学习到了样本的部分特征。例如,当训练样本是树叶,他们有共性(颜色、形状等),但是由于欠拟合,导致学习器会把所有绿色的事物判断为树叶。

常用评估方法

1、留出法
留出法(hold-out)直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集S,另一个作为测试集T,即D=S∪T,S∩T=Ø,在S上训练出模型后,用T测试其误差,作为对泛化误差的估计。
假定数据集D包含500个样本,S包含300个样本,T包含200个样本。使用S训练后,如果模型在T上有70个样本分类错误,那错误率就是70/200=35%,对应的精度就是65%(精度+错误率=1)。
2、交叉验证法
2.1交叉验证法(cross validation)先将数据集D划分为k个大小的互斥子集,即D=D1UD2UD3UD3U…Dk,DiUDj=Ø(i!=j)。每个子集Di都尽可能的保持数据分布的一致性,即从D中通过分层采样得到。然后每次用k-1个子集的并集作为训练集,剩下的一个子集作为测试集。这样就可以获得k组训练/测试集,从而可进行k次训练和测试,最终返回的是k个测试结果的均值。由于交叉验证法的评估结果的稳定性和保真性很大程度上取决于,同常把交叉验证法称为“k折交叉验证”(k-fold cross validation).
2.2留一法(Leave-One-Out),简称LOO.留一法不受随机样本划分方式的影响,因为m个样本只有唯一的方式划分为m个子集,每个子集包含一个样本.因为留一法使用的训练集比初始数据集只少了一个样本,这使得在绝大多数情况下,留一法的评估结果与整个数据集D的评估结果相近.因此留一法比较准确.但是当数据集D比较大时,训练模型的开销也会比较大,例如数据集包含1000万个样本,则需训练1000万个模型.
3、自助法
除外方法と交差検証方法では、テスト用のサンプルの一部があるため、評価されたモデルで使用されるトレーニングセットはD(Dの一部のみ)よりも小さく、最終的な推定に偏差が生じる可能性があります。トレーニングサンプルのサイズの変更による影響は少ないですが、計算の複雑さは比較的高くなります。異なるトレーニングサンプルサイズの影響を減らし、実験的推定をより効率的に実行するために、セルフサービスメソッドを使用できます
。ブートストラップにはセルフサービスメソッドが使用されます。ブートストラップ法に基づいて、m個のサンプルを含むデータセットDが与えられると、それをサンプリングしてデータセットD 'を生成します。Dからランダムにサンプルを選択するたびに、それをD'にコピーし、次にサンプルを初期データセットDに戻し、次のサンプリングでもサンプルを取得できるようにします。このプロセスをm回繰り返した後、自律的なmサンプルを含むデータセットD 'を取得します。サンプリングの結果。明らかに、Dのサンプルの一部はD 'に複数回出現しますが、他のサンプルは出現しません。単純な推定では、サンプルがmサンプリングで取得されない確率は(1-1 / m)m = 1 /e≈0.368の累乗、つまり自律サンプリングにより、初期データセットのサンプルの約36.8%がサンプリングセットに表示されなかったため、D 'をトレーニングセットとして使用し、D / D'をテストセットとして。これにより、実際の評価モデルと予想される評価モデルでm個のサンプルが使用されるようになるため、トレーニングセットに表示されないデータを引き続きテストに使用します。テスト結果は、「パッケージ外テスト:(out-推定)。
セルフサービスメソッドは、データセットが小さく、トレーニング/テストセットを効果的に分割することが難しい場合に役立ちます。さらに、セルフサービスメソッドは、初期データセットから複数の異なるトレーニングセットを生成できるため、統合学習などの方法に最適です利点。ただし、セルフサービスメソッドによって生成されたデータセットは、初期データセットの分布を変更し、推定バイアスを導入します。したがって、初期データの量が十分である場合、除外方法と交差検証方法がより一般的に使用されます。
さまざまな使用シナリオに従って使用できます。ニーズから別の評価戦略を選択してください。

おすすめ

転載: blog.csdn.net/weixin_45187794/article/details/107347863