3

次の興味深いタスクを取得しました。

16 桁の 100 万個の数字 (クレジット カード番号など) のリストがあるとします。これには、コンピューター システムによって生成された 990,000 個の純粋な乱数と、詐欺師によって手動で作成された 10,000 個が含まれます。これらの番号は、本物または詐欺として分類されます。非乱数を予測するアルゴリズムを構築します。

これまでの私のアプローチは、少し力ずくです。非乱数を調べてパターンを見つけます (繰り返しの数字: 22222 や 01234 など)。

この種のタスクのための既製のアルゴリズムまたはツールがあるのだろうか。このタスクは、不正分析コミュニティの間で非常に一般的であるべきだと思います。

ありがとう。

4

1 に答える 1

4

まず、クレジット カード番号であることがわかっている場合は、Luhn のアルゴリズムを使用します。これは、有効なクレジット カード番号の簡易チェックサム アルゴリズムです。

ただし、それらが単に 16 桁の整数である場合は、使用できるアプローチがいくつかあります。個々の番号が乱数ソースから来たかどうかを判断するのは困難です (番号 1111111111111111 は、乱数ジェネレーターからの他の番号と同様に可能性が高いため)。繰り返される数とパターンに関しては、コルモゴロフの複雑さの概念を非常に連想させます (以下のリンクを参照)。この力ずくの方法でパターンを探すこともできますが、人間は実際にはこれらの数字に数字やシーケンスを入れることを避ける傾向があるため、かなり不正確だと思います!

代わりに、人々が数字を生成する方法に注目することをお勧めします。人間の入力を非常に貧弱な乱数ジェネレーターのように扱うことができます。したがって、別のデータセットがない場合は、人間が入力したランダムな数字のリストを自分で作成することをお勧めします。次に、機械学習を使用して分類アルゴリズムを生成し、純粋な乱数 (機械学習アルゴリズムが認識した「人間のような」属性を持たないもの) を区別できます。統計的分類器のメトリックに関しては、コルモゴロフの複雑さは 1 つであり、おそらく別のメトリックの桁数の頻度 (ウィキペディアのベンフォードの法則を参照)、および別のメトリックの繰り返し桁の数 (人間は数字の繰り返しを避けようとする可能性があります)ランダムなので、分類子に仕事をさせてください!)

私の個人的な経験からすると、このような困難な問題は、機械学習アルゴリズムと統計的分類器の典型例です。

お役に立てれば!

リンク:

コルモゴロフ複雑度 複雑
度計算機

于 2012-12-25T20:23:43.670 に答える