金融システムにおける不正行為の検出は、干し草の山から針を見つけるようなものです。ただし、干し草の山は動的で、常に変化し、巨大です。こうした不正取引をどうやって見分けるのでしょうか?これが私が取り組もうとした課題でした。それは、膨大なデータの海から不審なアクティビティを特定するだけでなく、新たな不正パターンの出現に合わせて適応し進化するように設計された不正検出モデルを開発することです。
これは、私が白紙の状態から堅牢な不正検出システムを構築し、途中で洞察、課題、突破口を完成させた方法のストーリーです。
ザ・スパーク: なぜこのプロジェクトなのか?
毎秒何百万ものトランザクションが流れ、その中には企業に数十億ドルの損失をもたらす可能性のあるアクティビティが隠されていると想像してください。私の使命は明確でした。あらゆる影を見てオオカミを鳴らさずに、これらの異常を検出するシステムを作成することです。これを念頭に置いて、私は合成データ、革新的な特徴エンジニアリング、機械学習を活用したソリューションを構想しました。
プレイグラウンドの構築: データ生成
優れたモデルには優れたデータが必要ですが、不正行為のデータはまれです。そこで、自分で構築しました。 Python の Faker ライブラリと NumPy ライブラリを使用して、現実世界のパターンを模倣するように設計された 1,000,000 トランザクションの合成データセットを生成しました。各トランザクションには以下が含まれます:
トランザクション ID、一意ですがランダムです。
アカウント ID と受信者アカウント ID。それぞれ 20% と 15% の一意性があり、現実的な重複が保証されます。
取引額。マイクロからメガまでの範囲で、もっともらしいシナリオを反映するように配分されています。
タイムスタンプ。時間ごと、日ごと、季節ごとの傾向をキャプチャします。
アカウントの種類 (個人またはビジネス)、支払いの種類 (クレジットまたはデビット)、取引の種類 (銀行振込、放送時間など)。
このデータセットには、個人アカウントとビジネスアカウント、少額の購入から多額の送金に至るまでの取引、入金、通信時間の購入、さらにはスポーツ賭博などの多様な取引タイプが含まれています。
変換の芸術: 特徴エンジニアリング
データの準備ができたので、私は特徴エンジニアリング、つまり隠れたパターンを明らかにするための探偵のツールキットに焦点を当てました。ここから本当の興奮が始まりました。計算してみました:
- アカウントの年齢: 各アカウントはどれくらいの期間存在していましたか?これは、奇妙な動作をする新しいアカウントを特定するのに役立ちます。
- 毎日の取引額: 各アカウントに毎日どのくらいのお金が流れましたか?
- 頻度メトリクス: アカウントが短いウィンドウ内で特定の受信者とやり取りした頻度を追跡します。
- タイムデルタ: アクティビティのバーストにフラグを立てるために、連続するトランザクション間のギャップを測定します。
これらの特徴は手がかりとして機能し、モデルが不審なアクティビティを嗅ぎ分けるのに役立ちます。たとえば、異常に多額の送金を行った新しいアカウントは調査する価値がありました。
ドメインの知識に基づいて、トランザクションを疑わしいものとして分類するルールを作成しました。これらのルールは、データセットを監視する役割を果たしました。以下にいくつか挙げます:
- 高額支出に関する警告: 1 回の取引で 500 万以上を送金する個人アカウント。
- ラピッド ファイア トランザクション: 1 時間に同じアカウントに対する 3 つ以上のトランザクション。
- 真夜中の狂気: 深夜の高額な銀行振込。
これらのルールを、トランザクションに疑わしいまたは安全であるとフラグを付ける関数にコーディングしました。
モデルの語彙を準備する
不正行為を検出するために機械学習モデルを教える前に、データを理解できるものにする必要がありました。これは、新しい言語、つまり口座タイプや取引方法などのカテゴリ変数を数値として理解するために必要なモデルを教えるようなものだと考えてください。
これらのカテゴリをエンコードすることでこれを実現しました。たとえば、トランザクション タイプ (「銀行振込」、「通信時間」など) は、ワンホット エンコーディングを使用して数値列に変換され、それぞれの一意の値がバイナリ インジケーターを含む独自の列になりました。これにより、モデルはカテゴリ特徴の背後にある意味を失わずにデータを処理できるようになりました。
主力製品: モデル開発
ルールと機能によってデータセットが強化されたので、機械学習という大きな武器を導入する時が来ました。それぞれ独自の強みを持ついくつかのモデルをトレーニングしました。
1. ロジスティック回帰: 信頼性があり、解釈可能であり、出発点として最適です。
2. XGBoost: 複雑なパターンを検出する強力なツールです。
しかし、私はまず階級の不均衡に取り組みました。不正な取引の数が正規の取引よりもはるかに多かったということです。 SMOTE オーバーサンプリング技術を使用して、スケールのバランスをとりました。
SMOTE 前:
SMOTE 後:
トレーニングと結果
モデルは、精度、再現率、AUC (曲線下面積) などの指標を使用して評価されました:
ロジスティック回帰: AUC 0.97、再現率 92%。
XGBoost: AUC 0.99、再現率 94%。
明らかな勝者は? XGBoost は、複雑な詐欺パターンを捕捉する機能を備えています。
よりスマートな毎日: フィードバック ループの統合
私のシステムの際立った特徴は、その適応性でした。私は次のようなフィードバック ループを設計しました。
- フラグが立てられた取引は詐欺チームによって確認されました。
- 彼らのフィードバックによりトレーニング データが更新されました。
- 新しい詐欺戦術に対して鋭さを保つために、モデルは定期的に再トレーニングされます。
導入
データ ラングリング、特徴量エンジニアリング、機械学習に満ちた作業を経て、モデルをデプロイする準備が整いました。 .pkl ファイルとして保存された XGBoost モデルは、不正行為検出のための信頼できるツールになりました。
エピローグ: 反省と今後の方向性
この不正検出モデルを構築することで、ビジネス知識、データ サイエンス、機械学習を組み合わせることの威力を学びました。しかし、旅はここで終わりません。詐欺は進化するため、それに対する防御も進化する必要があります。
学んだこと
このプロジェクトは単なる技術的な演習ではありませんでした。それは次のような旅でした:
• スケーラビリティ: 膨大な量のデータを処理するシステムを設計します。
• 適応性: フィードバックを受けて進化するモデルを構築します。
• コラボレーション: 技術チームとドメイン専門家の間のギャップを埋める。
将来的には、次のことを計画しています。
- 異常検出のためのディープラーニングを探索します。
- リアルタイム監視システムを実装します。
- 新しい不正パターンに基づいてルールを継続的に改良します。
不正行為の検出は単に数値を重視するものではなく、信頼を守ることが重要です。そしてこのプロジェクトが、その方向への小さいながらも有意義な一歩となることを願っています。
読んでいただきありがとうございます。ご意見やご質問をお気軽にコメント欄で共有してください。
以上がコンセプトからインパクトまで: 私の不正検出モデルの旅の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

この記事では、Pythonライブラリである美しいスープを使用してHTMLを解析する方法について説明します。 find()、find_all()、select()、およびget_text()などの一般的な方法は、データ抽出、多様なHTML構造とエラーの処理、および代替案(SEL

この記事では、深い学習のためにTensorflowとPytorchを比較しています。 関連する手順、データの準備、モデルの構築、トレーニング、評価、展開について詳しく説明しています。 特に計算グラップに関して、フレームワーク間の重要な違い

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

この記事では、コマンドラインインターフェイス(CLI)の構築に関するPython開発者をガイドします。 Typer、Click、Argparseなどのライブラリを使用して、入力/出力の処理を強調し、CLIの使いやすさを改善するためのユーザーフレンドリーな設計パターンを促進することを詳述しています。

この記事では、numpy、pandas、matplotlib、scikit-learn、tensorflow、django、flask、and requestsなどの人気のあるPythonライブラリについて説明し、科学的コンピューティング、データ分析、視覚化、機械学習、Web開発、Hの使用について説明します。

この記事では、Pythonにおける仮想環境の役割について説明し、プロジェクトの依存関係の管理と競合の回避に焦点を当てています。プロジェクト管理の改善と依存関係の問題を減らすための作成、アクティベーション、およびメリットを詳しく説明しています。

正規表現は、プログラミングにおけるパターンマッチングとテキスト操作のための強力なツールであり、さまざまなアプリケーションにわたるテキスト処理の効率を高めます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

ドリームウィーバー CS6
ビジュアル Web 開発ツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

WebStorm Mac版
便利なJavaScript開発ツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ホットトピック



