元のデータセットで学習した機械学習モデルを使用して合成データセットを生成する方法は?


19

一般に、機械学習モデルはデータセットに基づいて構築されます。元のデータセットの特性を保持するような訓練された機械学習モデルを使用して合成データセットを生成する方法があるかどうかを知りたいですか?

[元のデータ->機械学習モデルの構築-> mlモデルを使用して合成データを生成します.... !!!]

出来ますか ?可能であれば、関連するリソースを指定してください。

回答:


27

一般的なアプローチは、データセットに対して従来の統計分析を行い、同じ統計特性を持つデータを生成する多次元ランダムプロセスを定義することです。このアプローチの長所は、合成データがMLモデルから独立しているが、統計的にデータに「近い」ことです。(代替の議論については以下を参照)

基本的に、プロセスに関連付けられた多変量確率分布を推定しています。分布を推定したら、モンテカルロ法または同様の繰り返しサンプリング法により合成データを生成できます。データがパラメトリック分布(lognormalなど)に似ている場合、このアプローチは簡単で信頼性があります。トリッキーな部分は、変数間の依存関係を推定することです。https://www.encyclopediaofmath.org/index.php/Multi-dimensional_statistical_analysisを参照してください

データが不規則である場合、ノンパラメトリック法はより簡単で、おそらくより堅牢です。 多変量カーネル密度推定は、MLの背景を持つ人々にとってアクセスしやすく魅力的な方法です。一般的な紹介と特定のメソッドへのリンクについては、https//en.wikipedia.org/wiki/Nonparametric_statisticsを参照してください

このプロセスが機能したことを検証するには、合成データを使用して機械学習プロセスを再度実行し、元のモデルにかなり近いモデルを作成する必要があります。同様に、合成したデータをMLモデルに入れると、元の出力と同様の分布を持つ出力が得られます。

対照的に、これを提案しています:

[元のデータ->機械学習モデルの構築-> mlモデルを使用して合成データを生成します.... !!!]

これは、先ほど説明した方法とは異なる何かを達成します。これは、「どの入力がモデル出力の特定のセットを生成できるか」という逆問題を解決します。MLモデルが元のデータに過度に適合していない限り、この合成されたデータ、すべての点で、またはほとんどの点で元のデータのように見えません

線形回帰モデルを考えます。同じ線形回帰モデルは、非常に異なる特性を持つデータに対して同じ適合を持ちます。これの有名なデモンストレーションは、アンスコムのカルテットを通してです。

4つのセットはすべて、単純な要約統計を使用して調べると同一ですが、グラフ化するとかなり異なります

参考文献はありませんが、この問題はロジスティック回帰、一般化線形モデル、SVM、K-meansクラスタリングでも発生する可能性があると思います。

いくつかのMLモデルタイプ(デシジョンツリーなど)があり、それらを逆にして合成データを生成できますが、多少の作業が必要です。参照:データマイニングパターンに一致する合成データの生成


モンテカルロと多次元統計分析の詳細を読む時間...素敵な説明をありがとう.. !!!
hadooper

2

少数クラスから合成サンプルを生成する、SMOTEと呼ばれる不均衡なデータセットを処理する非常に一般的なアプローチがあります。近隣との差を使用して少数サンプルを摂動させることで機能します(0から1の間の乱数を乗算します)。

以下は、元の論文からの引用です。

合成サンプルは次の方法で生成されます。検討中の特徴ベクトル(サンプル)とその最近傍の違いを取得します。この差に0〜1の乱数を乗算し、考慮中の特徴ベクトルに追加します。

詳細はこちらをご覧ください


1

データ拡張とは、既存のデータに基づいてサンプルを総合的に作成するプロセスです。既存のデータは、元のデータプロパティの多くを保持する新しいデータを生成するためにわずかに混乱します。たとえば、データが画像の場合。画像のピクセルは交換できます。ここでデータ増強技術の多くの例を見つけることができます

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.