安定性のモデル

アルゴリズムエンジニアの責任だけでなく、提案したアルゴリズムであるが、より安定したアルゴリズムを提示します

安定性(計算安定性)の1計算

ロバストネス(頑健性)安定性は、特にパフォーマンスを計算する計算モデルでは、私はコンピュータの背景の友人は確かにこの奇妙な感じることはありませんね。ここでは、整数型、浮動小数点変数を格納するための(int型)の変数(フロート)とするならば、我々は正確さを失うことになる、簡単な例です。機械学習では、我々は多くの場合、精度は浮動小数点数に無理数を近似する、(丸め)を丸めに我々が持っているコンピュータ、何回の操作によって制限され、大量の計算を必要とします。このプロセスは、累積丸め誤差が加算され、最終的にモデルのエラーや障害のためにシステムを起こすと、必然的に小さなエラーが多数発生します。我々はいくつかの共通の計算安定性を機械学習の危険性を見てみましょう。

1.1。アンダフロー(アンダーフロー)及びオーバーフロー(オーバーフロー)

名前が示すように、オーバーフローがコンテンツコンテナの限界を超えるの代表です。機械学習で、私たちはしばしば大幅に改善アンダーフローの可能性につながっ0-1、間確率(確率)の多くは、確率間隔を使用しているため。

簡単な例として、私たちはしばしば、より多くの確率を掛けるよりも各確率の仮定を必要とします  P_I = 0.01 :

P = P_I ^ {10} = 0.000000000000000000001

このことから、見ることができる、唯一のそれは結果が最小値を乗算することによって得られることが、1%確率を必要とします。そして、多くの場合、数百の位が同じような状況で乗算された機械学習は、コンピュータが最小数と0との違いを見分けることができない原因となります。この場合、アンダーフローは、直接モデルの故障につながる可能性があります。

同様に、オーバーフローも条件に非常に受けやすいです。ただ、非常に簡単にコンピュータの上限を超えることができ、我々はより大きな数が掛け必要があると思います。私たちが想像として64ビットコンピュータの上限値が大きいようではありません。

L_は{上部} 2 ^ {63} -1 = 9,223,372,036,854,775,808 =

そのため、実際のモデルでは、我々は確率の複数の乗算を回避し、その番号(ログ)を見つけるためになっ例えば、:

LN(\ prod_ {I = 1} ^ NP(X_I))= LN(P(X_1))+ LN(P(X_2))+ ... + LN(P(x_nに関する))= LN(\ sum_ {I = 1} ^ NP(X_I))

だから我々は、オーバーフローが発生する可能性を避けるために、乗法変換加算の数について、より成功するでしょう。そして、もっと確率モデル、凸の最適化などに、このようなその単調に増加、容易ように美しい数学、数の性質にあります。

1.1。アンダフロー(アンダーフロー)及びオーバーフロー(オーバーフロー)

名前が示すように、オーバーフローがコンテンツコンテナの限界を超えるの代表です。機械学習で、私たちはしばしば大幅に改善アンダーフローの可能性につながっ0-1、間確率(確率)の多くは、確率間隔を使用しているため。

簡単な例として、私たちはしばしば、より多くの確率を掛けるよりも各確率の仮定を必要とします  P_I = 0.01 :

P = P_I ^ {10} = 0.000000000000000000001

このことから、見ることができる、唯一のそれは結果が最小値を乗算することによって得られることが、1%確率を必要とします。そして、多くの場合、数百の位が同じような状況で乗算された機械学習は、コンピュータが最小数と0との違いを見分けることができない原因となります。この場合、アンダーフローは、直接モデルの故障につながる可能性があります。

同様に、オーバーフローも条件に非常に受けやすいです。ただ、非常に簡単にコンピュータの上限を超えることができ、我々はより大きな数が掛け必要があると思います。私たちが想像として64ビットコンピュータの上限値が大きいようではありません。

L_は{上部} 2 ^ {63} -1 = 9,223,372,036,854,775,808 =

そのため、実際のモデルでは、我々は確率の複数の乗算を回避し、例えば、その番号(ログ)を見つけるためになりました:

LN(\ prod_ {I = 1} ^ NP(X_I))= LN(P(X_1))+ LN(P(X_2))+ ... + LN(P(x_nに関する))= LN(\ sum_ {I = 1} ^ NP(X_I))

だから我々は、オーバーフローが発生する可能性を避けるために、乗法変換加算の数について、より成功するでしょう。そして、もっと確率モデル、凸の最適化などに、このようなその単調に増加、容易ように美しい数学、数の性質にあります。

1.2スムージング(平滑化)と0

そして同様に、私たちはしばしば「でも乗る」タイプ0を機械学習に遭遇したことがわかりアンダーフローおよびオーバーフローが運用意義が失われ、構成要素です。例として、ナイーブベイズ(ナイーブベイズ)を有します。

P(\ BM {X} | Y = C)= P(Y = C)\ prod_ {I = 1} ^ {D} P(X_I | C)

我々は、サンプル点が分類に属し区別  C 特性の確率  X_I クラスの  C 確率  P(X_I | C) 物、すなわち式。しかし、限りがいずれかであると仮定し  P(X_I | C)= 0たり  P(Y = C)= 0 、その後、乗算このタイプの製品がゼロになります。しかし、それは多くの場合、確率0.5で発生するので、0は実際にはありませんが、唯一の私たちのトレーニングデータが発生していませんでした。

ある意味で、これはまた、不安定性の一種であるが計算されます。一般的な慣行は、この不安定性を修正するために計算されたラプラシアンスムージング(ラプラススムージング)を使用することです。簡単に言えば、それは人為的に各1例、それはもはやゼロである確率の可能性を高めることです。

次のように修正される分類確率値の特定の機能を取ります:

ラップ(P(X_I | C))= \ FRAC {| D_ {C、X_I} | +1} {| D_C | + N_i}

この平滑化処理した後、私たちの価値の乗算器の全てはゼロではありません。同様のアプローチはまた、多くの場合、多くの場合、平滑化処理に必要なNグラム言語モデルのモデルとして、自然言語処理(NLP)、で使用され、平滑化処理は、ヨーロッパを学ぶことがあります。

1.3。アルゴリズムの安定性(アルゴリズム安定性)および外乱(摂動)

機械学習や統計的学習モデルでは、我々は多くの場合、アルゴリズムの安定性、データの外乱堅牢性のためにそのアルゴリズムを検討する必要があります。「汎化誤差モデルは誤差(バイアス)と分散(分散)によって決定され、高分散の不安定性が原因です。」

小さな変化が出力の入力値に発生したアルゴリズムは、非常に大きな変化が生じた場合に簡単に言えば、私たちは、このアルゴリズムは不安定であると言うことができます。ここだけではなく、アルゴリズムを学習アルゴリズムマシンだけでなく、関連する他のアルゴリズム「ミドルコース」に代わって、いくつかの具体的な例を与えることです:

  • (マトリックスを反転)プロセス行列反転は、我々は多くの場合、逆行列を避けるために選択し、不安定に属します。関心のある読者は、その原因について詳しく学ぶことができます。
  • もう一つの興味深い例は、ニューラルネットワークのバッチ(バッチ学習)の研究である、というのトレーニング例は、とき訓練の大部分であるが、ニューラルネットワークの学習データを学習していません。バッチ(バッチサイズ)の大きさと対応し、対応する学習率(学習率)を選択する際に、エラー率と研究のサイズは、学習過程の不安定につながるように注意する必要があります。私たちは少量、高分散の小さなサンプル(高分散)で学ぶときグラデーション(グラデーション)を学ぶために私たちをリードし、この場合には、あなたは私たちがあまりにもステップペースを防ぐために、小さな学習レートを使用する必要があり、非常に正確ですすばらしいです!私たちはバッチの大きめのサイズを選択すると逆に、あなたは安全に大きなレートを使用することができます。
  • 決定木(ディシジョン・ツリー)の性質も不安定なモデルに属していることにつながりました。小は、トレーニングデータに変更しても、決定木、我々は常に疑問符を描くことを信頼性のための決定木の構造を変更することができます。その不安定性の問題を解決するために、研究者は、袋詰め、それが分散法を減らすことによって、その安定性を高めるための総合学習(アンサンブル学習)を発明しました。

だから、便宜のために、我々は、モデルの安定した部分を要約したものです。より一般的なモデルのサポートベクターマシンの様々な(SVM)モデルは火災SVMの今世紀の初めの理由の一つである、導出された)があります

2.安定性データ(安定性)

厳密に言えば、安定性のデータは、多くの場合、時系列の安定性に固有である(時系列)があります。データの作成者だけでなく、時系列、広い意味で本明細書に記載しました。基本的には、データの安定性は、その分散に依存します。

2.1。独立同一分布(独立同一分布)と一般化(汎化能力)

機械学習モデルの一般化は、新しいサンプルに合わせてその能力を指します。データモデルは、データが独立しており、同一の親分布由来の試料を分散することを確実にするために彼らの訓練のより良い汎化能力を得ることができます。統計の少しの知識を使ってみましょう....

その分布は、1から100までの正の整数である、私たちは親(人口)を持っていると仮定します。

\ Bmを{D} = \ {1,2,3、...、98,99,100 \}

我々はDから得た三つのサンプルがあるとします。

  • \ Bmを{D} _1 = \ {1,4,16,25,36,49,64,81 \}
  • \ Bmを{D} _2 = \ {10,20,30,40,50,60,70,80,90 \}
  • \ Bmを{D} _3 = \ {1,2,3,4,5,6,7,8,9 \}

私たちは、連続する整数が10未満ですと第三のサンプルが表示されている間、最初のサンプルは、平方フィートの数は、第二の試料は10の倍数であると思われることがわかります。彼らはない独立同一分布するサンプルであるため、このサンプルでは、​​我々は安全に.... 3つのデータセットを学習することにより、優れた汎化能力を得ることができないモデルを学習推測することができます。

そして、読者は独立同一分布するサンプルは、すべての最初に考えられるもの、求めることができます。

  1. 私たちは、このような意図的平方数の束を選ぶように、データサンプルが意図的な選択ではないことを願っています
  2. 私たちは、それぞれのいくつかのディストリビューションから少数を選ぶのではなく、データをピック内部同じ分布からサンプリングされることを願っています...

それでは、どのよう私たちのトレーニングデータが安定して十分であることを確認するには?私はナンセンスのようないくつかの提案そのルックスを持っています:

  1. トレーニングデータは、より良い...これは、データの可能性を減らすの差異を軽減します
  2. 分布からのトレーニングデータと母体のデータと予測データを確認してください。たとえば、あなたは生物学者の平均IQを予測する統計の平均IQを使用することはできません、それは公平ではない...考えることを読者に委ねた方への不公平については、。

したがって、データの基本的な前提の安定性は、独立同一分布、及びナンバー良好です。汎化誤差(汎化リスク)を確実にするためにほぼ等しい安定した経験的なデータエラーモデル(経験的リスク)。

2.2新しいノーマル:カテゴリーの不均衡

より多くの機械学習の問題は、アンバランスなデータ分布に遭遇することになる、ここでの不均衡は、バイナリ分類問題の数との間に正と負例の格差など多くのことを、意味することができます。親自身の分布が不均衡である場合でも、ノート、サンプリングによってそのバランスの取れた分布でないことを。独立同一分布サンプリングのこの違反!

データの自然な不均衡の顔は、私たちはたくさんの練習を処理することができる持って、リバランスのより一般的な方法は次のとおりです。

  • オーバーサンプリング(オーバーサンプリング):データ分類の再利用量が少ないです
  • アンダーサンプリング(ダウンサンプリング):選択的分類の一部を廃棄するデータの大量。

似たような状況では、多くの場合、明らかに統合された学習は、それが総合学習のおかげで効果的に分散を減らすことができる必要があり、非常に良いです。読者は、両方のオーバーサンプリングまたはアンダーは、そのようなデータをアンダーサンプリングの無駄オーバーフィッティングに実際につながる簡単にオーバーサンプリングなどの問題を引き起こすことに注意しなければなりません。

したがって、不均衡は、多くの場合、安定性の問題、および基礎研究をもたらしたため、または過度の分散。

3.安定性パフォーマンス - 「理論の擁護」

モデルの性能(安定性)、機械学習と評価(パフォーマンス)がない単純な指標の精度を評価することによって、本質的に異なる持っている機械学習の安定性評価は、安定したかどうか機械学習です。簡単な例を与えるために、しばらくの間、モデルは、特に、比較的貧しいながら、特によく行ったとし、我々はそれを実際の生産にこのモデルを使用してみろ?端的に言えば、安定性や分散分散の決定データので。

小さなパートナーが言っているので、我々は、アルゴリズムモデルの安定性を評価するためのクロスバリデーション(相互検証)を使用することができます。はい、それは正しい考えだったが、最大の問題は、クロスバリデーション遅すぎます。かどうかのの半分(5倍)、または10倍(10倍)より長い時間と繰り返し動作が必要になります。人生は1秒を無駄にすることができない、貴重です!

一般的に、時にはまた、アルゴリズムを解析するために、計算の統計理論(統計的学習理論)と呼ばれる理論(計算論的学習理論)を学習することによって計算され、私たちはそう。あなたの参照のための2つのフレームを発表:

  • 確率約正しいフレームワーク(おそらくほぼ正確、PAC)。多項式関数の時間複雑でサンプルからの学習アルゴリズムかどうか:PACメインフレームは、質問に答える  \ Bmを{X} 概念学習を近似し、誤差が一定の範囲内にあることを確実にするために。
  • 誤差範囲枠(間違いバウンドフレームワーク、MBF)。トレーニングプロセスで正しい概念を学習する前に、学習モデルがどのように何回も間違えるだろうという質問に答えるの別のポイントからMBF?

この概念の長さと深さと広さを考えると、著者は、今後の記事で話題を形成するために拡張されます。機械学習の理論的基礎の欠如 - しかし、学習理論はまた、長いに対してバイアスを学習するので、統計的機械学習を緩和しながら、1方向に向けたモデルの安定性を学んで定量化するために計算されます。

唯一の練習に行くとその有用性が制限されるため、最終的に、PACあるものにすぎ深く掘り下げ、だけでなく、確率論の多くの知識を使用せずに、機械学習の分野で読者調査を意図したものではありません。

4.小型のセンチメント

この記事の目的は、リストにすべての安定性の問題ではなく、またそれはあなたが懐疑的な、非常に疑わしいたいです。私は単にあなたはまた、プロセスの統計情報をサンプリングしたデータを理解する必要があり、それはあなたがオーバーフローを防ぐために、上記コンピュータの浮動小数点精度を理解しているだけでなく、必要で、機械学習のこの記事の説明は、学際的で利用したいと思います。

このような観点から、コンピュータサイエンスの読者は自分の視野を緩和するために来た、機械学習の他の多くの分野があるが密接に関連して、および統計的または数学的背景の友人は、コンピュータが唯一の操作ツールであるとは思わない、あなたは実際には多くの問題が発生しました端的に言えばは算術問題です。しかし、安定性に加えて、未知のを探索する、それが技術革新です。だから、常に真実の境界を模索し、境界線の「安定性」をリラックス。

おすすめ

転載: www.cnblogs.com/limingqi/p/12046480.html