ギガバイト (GB) のデータセットがあり、その中の欠損値のパラメーターを推定したいと考えています。
そのために利用できる機械学習にはMLE(Maximum-likelihood Estimation)というアルゴリズムがあります。
R はそのような大規模なデータセットでは機能しない可能性があるため、どのライブラリを使用するのが最適でしょうか?
ギガバイト (GB) のデータセットがあり、その中の欠損値のパラメーターを推定したいと考えています。
そのために利用できる機械学習にはMLE(Maximum-likelihood Estimation)というアルゴリズムがあります。
R はそのような大規模なデータセットでは機能しない可能性があるため、どのライブラリを使用するのが最適でしょうか?
by wiki:MLE :
統計では、最尤推定 (MLE) は、統計モデルのパラメーターを推定する方法です。データセットに適用され、統計モデルが与えられると、最尤推定はモデルのパラメーターの推定値を提供します。
通常、MLE を適用するには、次の 2 つの手順が必要です。
この時点で、MLE 推定の解の解析形式を取得できる場合は、データを mle-estimate 計算にストリーミングするだけです。たとえば、ガウス分布の場合、平均を推定するには、合計を累積し、カウントとカウントを保持します。サンプル平均は、mle-estimate になります。
ただし、モデルに多くのパラメーターが含まれ、そのモデルpdf
が高度に非線形である場合。このような状況では、非線形最適化アルゴリズムを使用して数値的に MLE 推定値を求める必要があります。データ サイズが大きい場合は、確率的勾配降下法を試してください。真の勾配は、単一の例で勾配によって近似されます。アルゴリズムがトレーニング セットをスイープするとき、トレーニング例ごとに更新式を実行します。そのため、一度に 1 つずつデータを複数のスイープ方式で更新プログラムにストリーミングできます。このように、メモリの制約はまったく問題になりません。