アンドリュー・ウネットワークマシンラーニング戦略のクラスのノート1--

システムモデルを改善する多くの方法がありますが、どのように我々は、システムのパフォーマンスに時間を無駄にしないようにする方法の行動にほとんどまたは全く影響があることを確認することができますか?どのように改善のための右の方法を見つけるには?

  1. 直交化
  2. シングルナンバーの評価基準
  3. 目標を達成し、インデックスを最適化します
  4. 電車/開発/テスト・セット・パーティショニング
  5. ベンチマークを設定します
  6. 偏差/分散を減らします
  7. エラー解析
  8. 転移学習
  9. マルチタスク学習
  10. エンド学習

 

より多様なトレーニングセットを作成するために、より多くのデータを収集する(異なる方向に異なる位置を、より反例 ..)、最適化アルゴリズム、ネットワークは、より深い以下、ドロップアウト/ L2正則化を使用して、ネットワークアーキテクチャの変更(活性化機能、隠れユニットの数...)...

しかし、あなたは間違った選択をした場合、わずかに結果を最適化することなく、時間の無駄である可能性があります。

リットル 直交化:各次元はお互いを乱すことなく、唯一の制御変数の変更、および複数の次元であり、右の教師付き学習システムのためのものを作るためには、通常、調整ノブのシステムが必要です。

確認 4つの物事を:.(1)設定フィットトレーニングコスト関数にうまくは、 大規模なネットワークを訓練したり、より良い最適化アルゴリズムに切り替えることができます。。(2)も設定フィットdevのコスト関数には、 トレーニングセットを高める(3)フィットテストにも設定されたコスト関数より大きなバリデーションセット-結果の検証の良いセットを、テストセットが動作しない、それが(検証セットのためにあまりにもフィットかもしれ。4)現実世界のバリデーションセットでよく実行するか、または損失関数を変更する-のいずれかの分散検証セットが正しく設定されていない、または損失関数を測定しません。

早期停止をトレーニングセットのフィット感とパフォーマンスの改善の検証セットに影響を与えるだろう、直交していません

 

リットル デジタル単一の評価基準(シングルナンバーの評価指標)

2が発散するとき、(そのような精度、リコールなど)、複数の評価基準を持っている、そしていかに難しいかを選択します。この時点で、それが両方の組み合わせであってもよい(例えば、 F.を1 精密 Pおよびリコール調和平均R)

 

リットル ミートと最適化メトリクスSatisfingおよび最適化メトリクス

すべての組み合わせが考慮されて時々 、単一の数値目標への指標は容易ではないだろう、と設立 Satisfingと最適化の指標は、全体の評価指標として、実行時間と精度の組み合わせ(時間(Satisfing)を実行している、そのような精度(最適化)など)が重要ですまたは精度を最大化するために、稼働時間の要件を満たしています。

時には、検討する必要があり、最適化インデックスは、合理的なの指標であるので、インデックスを最適化しようとすると、残りのN-1の指標が目標を達成するためにあるよう選択するから指標のN数を。

 

リットル 電車/開発/テストセット部門

テストセットと検証セットに配置されたすべてのランダムにシャッフルされたデータ(異なる分布):DEV /テストは、可能な限り同一の分布から設定します。データの検証とテストセットは、将来の確立がトレーニングセットの確立を目的とする目標の定義に関する一連の指標を確認し、評価するために設定されます反映して、あなたがその目標に近づくどのように迅速に影響します。

1e2-1e4:70 / 30,60 / 20分の20

1E6より:98/1/1

 

機械学習のタスク: 1セットの目標、目指す2つのゴールとインデックスのスコアを向上させるために設計、最適化システム。

 

データを収集する場合、データの実際的なアプリケーションは、同じ分布を得ることができず、同じデータのアプリケーションと全体のデータセットより収集はるかに少ないの実際の分布は、訓練セットに分割する方法 /検証セット/テストセットを?

例えば、トレーニング画像の集合は、高精細画像からのもので、アプリケーションユーザに低解像度画像をアップロードします。得られたデータセット高精細画像 200K、低解像度画像10K。パーティショニング方法:

(1)  すべての画像をランダムに分割したデータセットの利点:トレーニングセットトレーニングの結果は本当に気にしない、あなたのデータの分布について:/テスト・セットを設定/検証は同じ分布、より良い管理、下方からでした。

(2)  トレーニングセット:HDの 200K +解像度5K、バリデーションセット/テストセット:低解像度2.5K。メリット:今の目標は、あなたが仕事をしたい目標を目指しているが、また、映像の配信は本当に気に。短所:トレーニングセット、検証セットは、テスト・セットは、同じ分布から来ていません。しかし、このようなプロセスは、長期的にはより良いパフォーマンスにつながることができます。

 

変更する場合は開発/テスト・目標を

1.  評価指標はよくランク付けする正しいアルゴリズムを評価することはできません -現在の分類器の結果のより良い指標は、(現在の分類はポルノ公開を置くような低い分類誤り率などの)より低い公差に達します。レビュー:評価指標プラス(高い重みポルノ画像与えられた)重量

2.  テスト・セットでは、あるいは好調トレーニングセットの分布指標を開発するために設定されますが、現実的な懸念が良くありません、実際のアプリケーションでは、(例えば、トレーニングのための高精細な画像の使用は、テストは、ユーザーが低解像度の画像をアップロードします) 。

 

リットル 人間のパフォーマンス

ベイズ誤り率:unsurpassable最高の誤り率

あなたはあなたが単一のヒト(を超えて行くことができることを示したい場合は、あなたの目標は、どこを把握するために、ヒューマンエラー率のレベルを定義する際に 1%)、いくつかのケースでは、あなたのシステムを導入するのが合理的である。しかし、あなたはベイズ誤り率を置き換える場合、その後、(経験豊富なチーム-0.5%)の定義が適切です。

ターゲットの位置を定義する、標的化結果を調整することができるトレーニングシステムモデル(例えば、トレーニングエラーの後に来た 8%、10%の検証エラーレート; 7%の目標誤り率は、1%のずれを回避することができる、2%分散、次は行う必要があり正則をしようと、分散を減らすことです。1%の目標誤り率ならば、偏差を減らすことに焦点は、)大規模ネットワークに訓練を受けた、または少し長い勾配降下を実行することができます。

 

リットル 回避バイアスを減少させる:大きなモデルのスケールを使用する、より良好な最適化アルゴリズムを使用する、新しい、より良いニューラルネットワークアーキテクチャを見つけるために、以上のパラメータ(活性化機能、ネットワーク層、隠れユニットの数)を、他のモデルを使用して /アーキテクチャ。

分散を減少させる:、正則化(より多くのデータを収集する異なるニューラルネットワークアーキテクチャを用いて、L2正則/ドロップアウト)超パラメータ検索。

 

 リットル エラー分析

改良された方法を用いて所定の現在のシステムは、より良い性能をもたらす、またはプロセスに費やされる時間かどうかを区別することができるエラー解析を使用することは合理的である(例えば、ネコ分類器の誤り率犬の誤分類を含む10%の、 )犬の分類に改善する場合、今すぐ。

アプローチ:まず、(例えば、複数の収集手動で犬をマークしたサンプルの正確な数を確認し、前記エラーフラグ検証セット、100)のサンプルを。犬のわずか5%が、犬にも分類の問題を解決した場合は、ほとんどがにエラーレートが低下します9.5%あれば、犬の50%は、への決意を減らすことができ、5% あなたが適切かどうかを判断するための時間を取ることができます。実施例 5%9.5%アルゴリズムの性能限界を向上させます

エラー解析では、複数のアイデア(例えば、ネコ、ファジー画像)を評価することができます。

 

(1)  サンプルを誤ってラベル付け

トレーニングセット:深い学習アルゴリズムランダム誤差非常に堅牢(ランダムエラーマークが表示されます)が、系統誤差(画像エラーフラグの常に共通の特徴は)それほど強くありません。

バリデーションセット /テストセット:同じエラー解析、エラー率が得られた標識されたサンプルは、改善する価値があるかどうかを判定する。

(2)  標識されたサンプルを誤り訂正:

両方が同じ分布でなければならないので、補正は、同時にテストセットに適用した場合、検証セットで使用される方法。

同時に、正しいサンプルと判断のサンプルエラーを決定するためのアルゴリズムをチェックします。

トレーニングセットが非常に大きいため、トレーニングセットに適用されるのと同じ方法では、と考えることができています。

 

偏差、分散やデータの不一致

同じ配電システムから設定されたトレーニングセットと検証が一目で最適化することがより必要であるバイアスと分散の結果である場合は、しかし、2つは同じ分布でない場合、判断しますか?

トレーニングセットと検証セットは、二つのソースからの分散、同じディストリビューションではありません

① のみトレーニングデータセットを見たアルゴリズムは、データの検証セットを見ていません

② 検証データが異なる分布から設定します

(トレーニングデータの新しいセットを定義するために、より大きな影響を考慮かを調べるために、検証セットで実行されている-トレーニング中に、トレーニング中にアルゴリズムをさせませんが、ランダムに訓練セットから選択された-バリデーションセット)。検証セットのエラーと検証セット-このとき、エラー解析は、トレーニングセット、トレーニングを参照してくださいする必要があります。

:(として 9%、10%検証セットのバリデーションセット- 1)トレーニングセット、トレーニング中の1%の誤差。この時点では、分散アルゴリズムの問題の存在を説明することができます。(2)1%、トレーニングのトレーニングエラー- 1.5%の妥当性検証を10%。その後、分散は限り、非常に小さく、データが一致しないという問題が。 11%の妥当性検証12% -トレーニング、トレーニング3)10%の誤差。高偏差。11%の妥当性検証20% -トレーニング、トレーニング(4)10%の誤差。バイアスを避けるために、高、および(小規模分散、データが大きな問題と一致していません)。

ヒトレベルとトレーニング偏差サイズ測定誤差、トレーニングエラー&トレーニング-DEV誤差分散の尺度サイズ、トレーニング-DEVエラー・デベロッパー/テストエラーがデータの不一致の大きさを測定します

どのようにデータの不整合に対処します:

① よりバリデーションセットのような訓練データ:単一にわたって積分データの使用を回避する合成データ(アナログへのデータの選択された部分のほんの可能性から、すべての可能な空間)が、トレーニングを防ぐ発生フィッティング;

② より多くのデータ同様の検証セットとテストセットを収集します。

 

リットル 転移学習:ニューラルネットワークは、タスクから知識を学び、別の独立したタスクにこの知識を適用します。最後の二つの重みながら(ネットワークへの入力は、タスクに移行する必要があるの新しいタスクデータセットが小さい"は、そのような訓練は、元のタスクの反復で無作為割り当てまたは層の再訓練すべての残りの部分であります引き続きネットワークを得た後、私たちは)前知識獲得によって設定された現在のデータで役割を果たし続けることがあります。

 

関数に学ぶためにアプリケーションを移行します:

① 入力の同じタイプを有する2つのタスク。

② そこ移行の問題上のデータの多くの情報源がありますが、問題はそれほど移行対象データはありません。

③ 問題のソースから学んだ低レベルの特徴は、問題を標的とするのに有用であり得ます。

 

リットル マルチタスク学習 :(同時にコンピュータビジョン、オブジェクト検出)のために使用さは、うまくいけば、これは他のタスクへの各タスクを助けることができる、いくつかのことを行うと同時に、単一のニューラルネットワークを取得しようとし、学ぶために始めました。(例:神経ネットワークの早期の機能から複数の画像オブジェクトを識別することは、そうするためにニューラルネットワークを訓練するために、異なるオブジェクトを識別するのに使用されます。4つの完全に独立したトレーニングより4つの物事ニューラルネットワークは4作られています何かより良い性能

 

マルチタスク学習アプリケーションのシナリオ:

① 低レベルのトレーニングのタスクグループは、共通の特徴であることができます。

② タスクあたりのデータ量は(必ずしもではない)非常に近い、あなたは素晴らしいパフォーマンスを取得したい場合は、単一のタスクに焦点を当て、そのほかのタスクが存在しなければならないこのタスクよりもデータのはるかに大きい量まで追加すると、それがあれば、です単一のタスクのためにあなたが持っているあなたは、このタスクのパフォーマンスを向上させるために1000個のサンプル、その後、他のすべてのタスクのために、そして最終的には1000個の以上のサンプルがある、他のタスクにこの知識を。

③ 十分な大きさのニューラルネットワーク、マルチタスク学習の下でのみの環境では、ニューラルネットワークが十分でない場合に比べて、単一のニューラルネットワークの訓練と低性能のパフォーマンスが低下します。

 

リットル 終了いくつかのデータ処理システムや学習システムを持っていた、彼らは複数の段階に対処する必要があり、エンド・ツー・深さの研究では、単一のニューラルネットワークと交換し、これらの段階を無視することです。ニューラルネットワークは、全ての情報の処理を含む(例えば、オーディオ、を含む特徴抽出、音素、音素系列など、ネットワークオーディオ入力、出力を直接指示テキストを見つけました)。

 

利点:

① むしろ人間の偏見を導入することを余儀なくされているよりも、任意の統計データをキャプチャする方ができるかもしれない、(例えば、音声は音素、音素を見つける必要があり、そうでなければ存在しないことがあり、ときに作成される可能性が高いです)

② デザインを設定する以下のマニュアルを必要としました。

 

短所:

① 優れたシステム性能を作るために多くのデータを必要とし向けることを学ぶ > yでマッピングが(x、y)が大量のデータを必要とするかもしれX-を。

② 便利な手動設計コンポーネントの可能性を否定しました。あなたは多くのデータを持っていない場合、あなたはアルゴリズムを学習していると、小さなトレーニングセットデータから洞察を得るための方法はありません。

 

エンドツー綿密な研究の使用を検討する場合、最初の十分なデータが直接から学ぶことができるがあるかどうかを検討するのyのx>の十分に複雑な関数。

おすすめ

転載: www.cnblogs.com/fanzhongjie/p/11248023.html