スイカの本の研究ノートのモデル評価と選択

オーバーフィッティング誤差2.1体験

2.1.1いくつかの概念の
エラーレート(誤り率):誤分類サンプルのパーセンテージ総サンプル
精度(正確さ): - 1つのエラーレート
:予測された出力と実際の学習サンプルの誤差(エラー)の実際の出力との差
訓練誤差(訓練誤差)|経験的なエラー(経験的なエラー):トレーニングセットにおける誤差学習
汎化誤差(汎化誤差):新しいサンプルのエラー

オーバーフィッティングとunderfitting 2.1.2
私たちは、学習者の汎化誤差が小さくて取得することを願っています。
しかし、実際には私たちが行うことができ、エラーの経験が最小化させており、通常、我々は、エラーの経験を得ることができ、トレーニングセットに非常に優れた学習者のパフォーマンスは非常に小さいです。例えば、でもトレーニングデータは、100%の精度を達成するために設定されますが、ほとんどの場合、この学習は良くありません。実際に私たちがしたいので、新しいサンプルでは非常に良い学習の性能は、小さな汎化誤差の学習者が前に記載されています。
そこで、我々は学びたい「普遍的法則」とデータのトレーニングセットの一般的な性質ではなく、その機能のいくつかのサンプルも学びを得ることです、これは衰退の汎化性能を、オーバーフィッティングされる現象につながります。
オーバーフィッティングに対応underfittingされ、学習者のトレーニングセットの一般的な性質を参照することさえに学ぶされていません
underfitting:貧しい学習能力に起因します。:(決定木の枝の拡張は、ニューラルネットワークがトレーニングラウンド数を増加させることなど)、オーバーフィッティングの面で克服することは比較的容易に
過剰適合:あまりにも強い学習能力に起因します。あまりにも多くのトラブルフィッティングを克服するために、オーバーフィッティング機械学習は、オーバーフィッティング対策とアルゴリズムを機械学習のすべての種類が直面する主要な障害となっているが、オーバーフィッティングが完全に回避されていない、私たちは行うことができますオーバーフィットしやすさ。

2.2学習汎化誤差評価方法

ここでは主に学習者の汎化誤差の評価を指します。
典型的には、我々は、新しいサンプルを分類するために学習者をテストするために、学習者の汎化誤差近似としてテストセットにエラーをテストするためのテスト(テストセット)のセットを使用し
、一般的に、我々は、試験セット試料から想定実際の分布であります独立同一分布するサンプルが得られ、かつテストセットは、
トレーニングセットと相互に排他的である必要があり、さもなければ我々は偽の低汎化誤差を取得します。
私たちは、に焦点を当て、それがデータセットは、現在、主に以下の方法では、getトレーニングとテストセットを分割することによって所有される方法です。

2.2.1脇方法
脇用いる方法トレーニングおよび試験セットに設定要求データを次のように
分割:データの整合性の分布は、分割処理のデータは、最終結果に影響追加バイアスの導入を避けるために。
分類タスクでは、例えば、我々はトレーニングセットとテストの割合が類似したカテゴリのサンプルを設定していることを確認する必要があります。ビューのサンプリングの観点から、この比率を保持するサンプルタイプ、サンプル(層別サンプリング)をサンプリング階層化と呼ばれています。それらのデータの分布の違いにすぎ異なるセットのサンプルタイプおよびテストセットの訓練の比率、誤差推定器によって生成オフセットが
周波数割り当てを:脇採用評価方法として平均値をランダムに実験に分割いくつか繰り返しました結果。
1は前提の下で、我々はまだトレーニング/テスト・セット、およびトレーニング/テストスイートの異なるセットの異なるセットにデータセットを分割するためのさまざまな方法を持っている評価モデルのトレーニングが異なっていることができます。単一法の結果を評価するために可視脇に十分な安定性と信頼性を設定します。いくつかの使用をランダム実験に分けるように脇評価結果として平均化処理後に繰り返しました。無作為に100回、各回100×100の得られた結果の後に、評価するために使用されるトレーニングセット/テストセットを生成する、脇セット100に分割この方法の平均結果が返されます。
分割数:サンプルは、訓練のための5分の4〜3分の2、テストのために残りのサンプルについてです。
これは、トレーニングとテストセットの数を割るの法律はさておきジレンマです。トレーニングセットが小さすぎる場合、評価は、大きな偏差をもたらし、テストセットが小さすぎる場合には、評価結果の大きな分散が(一般的に、試験電流は、少なくとも30個のサンプルでなければなりません)

2.2.2クロスバリデーション
:特定のクロスバリデーション工程(クロスバリデーション)
データをサンプリングすることによって層別化後の各サブセットは、D DDのk個のKKは、同様のサイズの2つの相互に排他的なサブセット(注層化サンプリングに分割されている設定しましたデータ配信一貫性)
テストセットとしてセットとK-1、K-1K-1トレーニングセットとしてのサブセット、すなわちサブセットの残り当り。どうやら、あなたはk個のKKトレーニングとテストの時間を実行するために組み合わせてセットのk KK +テストセットを訓練し、最終的にこれらのk個のKKの試験結果の平均値を返すの異なるセットを取得するようにします。
同じ方法を残し、データは多くの異なる方法に分割D DD k個のKKグループを設定します。異なるデータセットに差を低減するために導入され、kはクロスバリデーションは、典型的には、使用する異なるランダムな分割をP PP回繰り返す倍KK、最終結果は時間がKK P PPは平均(一般的に、クロスバリデーションの結果を折り畳むkのことであり、分割さ10倍クロスバリデーション10)。
安定性および忠実度のクロスバリデーション評価結果をk個のKKの値に大きく依存し、通常と呼ばれるクロスバリデーション(K分割交差検証)「kはクロスバリデーション倍KK」 。最も一般的に使用される10の値(ならびに5、20、等)が、この時間は、クロスバリデーションを10倍と呼ばれます。

クロスバリデーションの特別な場合:リーブ・ワンが、
リーブ・ワン(リーブ・ワン・アウト:、その後、クロスバリデーションの特殊なケースを持っ= MK = MK = M Kもしそうであれば、データは、D DDがmミリサンプルを含有していることを前提としてい)LOOをいいます。サンプルのみのmミリMのMMは、データのサブセットに分割するので、明らかに、リーブ・ワンは、それがランダムに分けサンプルによって影響を受けないという点で独特である、すなわち、一つのサンプルのサブセットの各々 (すなわち、ではないような必要なのp頁)は、実験のp頁回他の相互検証を分割したデータを、ランダム化。
少しだけより多くのデータセット全体よりもサンプルのリーブ・ワントレーニングセットするので、多くの場合、リーブ・ワン・より正確な(必ずしも必要ではないが、正確な)の結果を評価するために考えられています。しかし、それはまた、非常に困難な欠陥である:
それは、m個のミリメートルの数ヶ月のために訓練するためのリーブ・ワンモデルの必要性の数を見ることができます。サンプルサイズが大きい場合はMのミリメートル、これは明らかに計算オーバーヘッド耐え難い(百万サンプルは、あなたが百万モデルを訓練して、人参引き上げを検討する必要がある場合は、計算のオーバーヘッドは非常に恐ろしいです)もたらす
休暇-1を推定結果は必ずしも常に他の評価方法よりも正確ではありません(ここにはフリーランチは同様に適用されません)

2.2.3ブートストラップ(小さなデータセットのための)
背景:
私たちは、モデルはD DDが訓練されたデータセットを評価するために、それまでの法とクロスバリデーションのうち滞在したい、我々はテストセットの一部として保持している、それは意志異なるサンプルサイズ推定バイアスの導入が生じました。リーブ・ワン・かかわらず、サンプルサイズ(トレーニングセットのみの小さなサンプル)が、計算の複雑さの比較的軽微な影響が高すぎます。
このような背景を踏まえ、我々は実験的な方法によってもたらされる影響を軽減します異なるサンプルサイズを効率的に推定することができるたかったのです。自助方法(ブートストラップ)は、よりよい解決策です。
ここに画像を挿入説明

2.2.4曲最終モデルに参加する
学習アルゴリズムに加えて、モデル評価と選択の間にアルゴリズムパラメータをセット、そのパラメータの調整する必要が適用選択されます。
機械学習は、2種類のパラメータが含まれます。

  1. 多くの場合、10未満の数のアルゴリズムのパラメータ、すなわちハイパーパラメータ
  2. パラメータは、モデル番号がたくさんかもしれ

モデルを訓練するために、各パラメータの設定が不可能なため、アルゴリズムを学ぶ多くのパラメータは、値の範囲内の実際の値です。現実では一般的には、ステップの範囲内で一定の値であり、いくつかの候補のパラメータがあります。もちろん、そのような候補者は、パラメータを行うことができ、理論的に最適なパラメータはありませんが、これは計算コストと性能の推定値の間だけのトレードオフです。そして、この場合であっても、計算のオーバーヘッドはまだ素晴らしいです。
強力な学習アルゴリズムは、非常に多くのアプリケーションタスクでは、パラメータが十分かどうか調整していることが多い最終モデルのパフォーマンスに重大な影響を与え、大量のチューニングパラメータになりますこれは、多くのパラメータを設定する必要がする傾向があります。
モデルの選択が完了した後、アルゴリズムやパラメータが選択されている学習、それは再列車のモデルデータは、Dを設定する必要があります このモデルは、これは我々が最終的に送信されたモデルで、訓練過程ですべてのサンプルを使用しています。

トレーニングセット、テストセット、検証セット

データセットを分割するために、我々はトレーニングとテストセットに分割される前に言及しました。私たちは、新しいサンプルの顔でモデルのおおよそのエラーとテストセットの誤差を一般化。トレーニングセットの場合、それは検証セットのパフォーマンスに基づいて、データの検証セットの一部として、ここで分離されたモデル選択とパラメータ調整を行います。

2.3パフォーマンスメトリック(メトリックモデルの汎化能力)

フロント部が推定誤差の一般法を話しており、ここでは、これら二つの部分の一般的に言えば、モデルの尺度である必要評価する汎化性能学習者です。
異なるモデルの性能を比較した場合、異なる性能メトリックは、モデルは相対的なパフォーマンス・メトリックの観点から評価されることを意味する、異なる評価結果をもたらす傾向があります。パフォーマンス・メトリックは、選択したタスクのニーズに基づいています。
その評価モデルは、アルゴリズムとデータにのみ依存するものではなく、だけでなく、ミッション要求に依存します。
予測タスクとして、学習者のパフォーマンスを評価するために、結果を予測し、真のマークを比較することが不可欠です。パフォーマンスの戻りタスク一般的に使用される尺度は、平均二乗誤差です。
以下は、一般的なパフォーマンスの分類作業の尺度である
2.3.1エラー率との精度
のデータセットD:
エラー・レート:
ここに画像を挿入説明

2.3.2 查准率、查全率与F1
错误率和精度虽然常用但不能满足所有任务的需求。如对于“挑出的西瓜有多少比例是好瓜”,“所有好瓜中有多少比例被挑出来了”,“检索出的信息有多少比例是用户感兴趣的”,“用户感兴趣的有多少被检索出来的了”等任务,错误率显然无法满足需求,需要其他的性能度量。查全率(recall)和查准率(precision)是更为适用于此类需求的性能度量。
对于二分类问题,在对样本进行分类之后,产生了以下四种类型的样本:
真正例TP
假正例FP
真反例TN
假反例FN
ここに画像を挿入説明
则查准率P PP和查全率R RR分别定义为:
ここに画像を挿入説明
查准率P PP:所有预测为正例的样本中真正例的比例
查全率R RR:所有真实标记为正例的样本(TP+FN TP+FNTP+FN)中被预测为正例的比例
一般来说,查全率高时,查准率往往偏低;查准率高时,查全率往往偏低。
可以这么想:
追求高查全率时,被预测为正例的样本数就偏多,极端情况是将所有样本都预测为正例,则查全率时100%
追求高查准率时,只将有把握的样本预测为正例,则会漏掉一些正例样本,使得查全率降低,极端情况是只选择最优把握的一个样本预测为正例,则查准率为100%
通常只有在一些简单的任务中,才可能使查全率和查准率都很高。
查准率-查全率曲线(P-R曲线)
按正例可能性将样本排序,依次将排序的样本作为正例计算出查全率和查准率,依次做P-R曲线图
ここに画像を挿入説明
上面的图和书中的图的主要区别在于曲线的两个端点,除非正例在样本占的比例极小,才有可能像书中的图一样最右查准率趋于0:
ここに画像を挿入説明

上图的每条曲线代表一个学习器,即根据每个学习器的分类结果绘制出各自的P-R曲线,可凭借以下两种方法比较学习器的性能优劣:

  • 若曲线A包住了曲线B,则对应的学习器A性能优于学习器B
  • 若曲线A和曲线B是交叉的情况,则计算曲线下的面积,更大的则对应的学习器性能更优,但这个值不太容易估算,故我们用一个综合考虑查准率和查全率的性能度量:平衡点(BEP),它是查准率=查全率时的取值,更大者对应的学习器更优。(对应上图学习器A优于学习器B)

但其实BEP还是过于简化了,更常用的是F1度量:
F1是基于查准率和查全率的调和平均定义的:
1/F = 1/2(1/P + 1/R)
ここに画像を挿入説明

但是在一些应用中,我们对查准率查全率的重视程度不同,此时F1则不满足我们对查准率或查全率的偏好。
如:
ここに画像を挿入説明
以上是针对于只有一个二分类混淆矩阵(只针对一个数据集进行了一次分类操作)的情况进行的讨论,在现实任务中,我们有以下情况会希望在多个二分类混淆矩阵上综合考察查准率和查全率:

  • 多次进行训练/测试
  • 在多个数据集上进行训练/测试,希望估算算法的全局性能
  • 多分类任务,每两两类别的组合都对应一个混淆矩阵

面对多个二分类混淆矩阵,主要有以下两种做法:
ここに画像を挿入説明
2.3.3 ROC与AUC
我们通过学习器可得到样本对应的预测实值或概率值,将这个预测值与一个分类阈值进行比较,大于阈值为正类,小于则为反类。
根据预测实值或概率值,我们可将样本排序,于是越有可能是正例的样本排在越前面。分类过程就相当于在这个排序中以某个截断点(即阈值)将样本分为两部分,前一部分判作正例,后一部分判作反例。
根据任务需求我们对查准率和查全率有不同的偏好,对此我们采取不同的截断点:

  • 偏好查准率:选择靠前的位置进行截断
  • 偏好查全率:选择靠后的位置进行截断

ROC(Receiver Operating Characteristic)全称是“受试者工作特征”曲线,与P-R曲线相似,我们根据预测值进行排序,按此顺序逐个把样本作为正例进行预测,每次计算出真正例和假正例,以它们为坐标作图。
ここに画像を挿入説明ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
通过ROC曲线对学习器进行比较的判别标准与P-R曲线类似:

  • 曲线A包住曲线B,则学习器A优于学习器B
  • 若两曲线交叉,则比较ROC曲线下的面积,即AUC

ここに画像を挿入説明
ここに画像を挿入説明
注:该公式就是在计算每一个个小矩形之和,从而求出AUC的大小
ここに画像を挿入説明
ここに画像を挿入説明
2.3.4 代价敏感错误率和代价曲线
之前介绍的性能度量大都隐式地假设了均等代价,如错误率是直接计算错误次数,而没有考虑不同错误所造成的不同后果

为衡量不同错误类型所造成的不同损失,可为错误赋予“非均等代价”(unequal cost);在非均等代价下,我们不再简单地希望最小化错误次数,而是最小化总体代价
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
注:对于式(2.25)的推导:
ここに画像を挿入説明
代价曲线的绘制:
要点:ROC曲线上的每一点对应了代价曲线上的一条线段

  • 设ROC曲线上的点坐标为(FPR,TPR),则可相应计算出FNR,于是它对应的线段为从(0,FPR)到(1,FNR)的线段,线段下的面积则表示了该条件下的期望总体代价
  • 按照1将ROC曲线上的所有点都绘制出对应的每条线段
  • 所有线段的下界围成的面积即为所有条件下的期望总体代价
    ここに画像を挿入説明

2.4 比较检验

前面讲述的是实验评估方法和性能度量,但是单凭这两个就相对学习器进行性能评估还是不够的,原因在于:
我们要评估的是学习器的泛化能力,而通过实验评估方法得到的是测试集上的性能,两者的对比结果可能未必相同
测试集上的性能与测试集的选择有很大的关系,不同的测试集测试结果不一样
很多学习器本身具有随机性,运行多次结果也会不同
这里,我们可以运用统计假设检验(hypothesis test)来佐证我们的性能评估结果
例如,我们在测试集上观察到学习器A性能优于学习器B,则基于统计假设检验结果我们可以推断出A的泛化性能是否在统计意义上优于B,以及这个结论的把握有多大
以下是两种最基本的假设检验方法(性能度量默认为错误率):

2.4.1 假设检验
假设检验中的假设是对学习器泛化错误率分布的某种判断或猜想。这里,虽然我们只能得到测试集上的测试错误率而不是泛化错误率,但是相差很远的可能性较小,相差很近的可能性较大(这种思路很值得学习),所以我们可以用测试错误率估算推出泛化误差率的分布

2.4.2 交叉验证t检验

2.5 方差与偏差

我们可以通过实验估计学习算法的泛化性能,同时我们也希望了解为什么该算法具有这样的性能
偏差-方差分解(bias-variance decomposition)是解释学习算法泛化性能的一种重要工具。具体操作是将学习算法的期望泛化错误率进行拆解
以下是推导过程:
ここに画像を挿入説明
注:不考虑噪声,偏差很大可以认为是欠拟合引起的;方差很大可以认为是过拟合引起的
对算法的期望误差进行分解:
ここに画像を挿入説明
式(2.41)的推导不难,以下主要是对其中的两处“最后项为0”进行推导:
ここに画像を挿入説明
也就是说,泛化误差可分解为方差、偏差与噪声之和
回顾偏差、方差和噪声的含义:

  • 偏差(2.40)度量了学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力
  • 方差(2.38)度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响
  • 噪声(2.39)则表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度

本节重要结论

汎化誤差偏差、分散とノイズとに分解することができる
アルゴリズムを学習することにより、分散分解説明、汎化能力、およびデータの妥当性自体を学習するより困難なタスクの共同決定-バイアス
ために与えられた学習タスクは、得ることより良い汎化性能が(データは障害が発生した場合でも、ほとんど影響を与えない)マイナー偏差(すなわち、十分にデータをフィットする)ように要求される小さな差異よう要求され
、汎化誤差の分解によっては見ることができますので、我々だけ偏差および分散は、優れた汎化性能を得ることができる限り小さいです。しかし、一般に、バイアスと分散は(貧しいフィッティングによって引き起こされるノイズに関係なく、大偏差を考慮することができ、大規模な分散がオーバーフィッティングに起因すると考えることができる)競合している、すなわち、バイアス-分散ジレンマ。
ここに画像を挿入説明
注:曲線のトップピースの汎化誤差
図の平均:偏差が汎化誤差率主導トレーニング(underfitting)、の不十分なレベルがあるときに我々は、学習アルゴリズムの度合いを制御することができたと、とトレーニング学習者にフィットさせる能力は徐々に増加し、より深いレベル、乱れが学習する学習訓練データを発生することができ、分散徐々に汎化誤り率(ノイズを考慮せずに、大きな偏差が悪いフィッティングによって引き起こされると考えることができる支配;分散多くは)オーバーフィッティングによって引き起こされると考えることができます

リリース元の2件の記事 ウォンの賞賛0 ビュー635

おすすめ

転載: blog.csdn.net/pt798633929/article/details/103228806