ホームページ >テクノロジー周辺機器 >AI >ルールベースのアプローチと機械学習のアプローチを組み合わせて、強力なハイブリッド システムを構築する

ルールベースのアプローチと機械学習のアプローチを組み合わせて、強力なハイブリッド システムを構築する

WBOY
WBOY転載
2023-05-25 09:04:05886ブラウズ

これまで何年も経ち、私たちは皆、ML のパフォーマンスが向上しないにしても、少なくともほぼすべての場所で ML 以前のソリューションと同等のパフォーマンスを発揮できると確信しています。たとえば、一部のルール制約については、ツリーベースの ML モデルで置き換えることができるかどうかを全員で考えます。しかし、世界は常に白か黒かが決まるわけではありません。機械学習は確かに問題解決にその役割を果たしますが、それが常に最善の解決策であるとは限りません。ルールベースのシステムは、特に説明可能性、堅牢性、透明性が重要な領域では、機械学習を上回るパフォーマンスを発揮することもあります。

この記事では、いくつかの実践的な事例と、手動ルールと ML を組み合わせてソリューションをどのように改善できるかを紹介します。

ルールベースのシステム

ルールベースのシステムは、事前定義されたルールを通じて意思決定をサポートし、保存されたルールに基づいてデータを評価し、マッピングに基づいて特定の操作を実行します。

ここにいくつかの例があります:

不正検出: 不正検出では、ルールベースのシステムを使用して、事前定義されたルールに基づいて疑わしい取引に迅速にフラグを立てて調査できます。

たとえば、チェス詐欺師の場合、彼らの基本的なアプローチは、コンピュータのチェス アプリケーションを別のウィンドウにインストールし、そのプログラムを使用してチェスをプレイすることです。プログラムがどれほど複雑であっても、各ステップには 4 ~ 5 秒かかります。完了。そこで、プレイヤーの各ステップのタイムを計算するために「しきい値」を設け、その変動が大きくなければ、下図のように不正行為と判定される可能性があります。

ルールベースのアプローチと機械学習のアプローチを組み合わせて、強力なハイブリッド システムを構築するヘルスケア業界: ルールベースのシステムを使用して、処方箋を管理し、投薬ミスを防ぐことができます。また、医師が以前の結果に基づいて追加の分析を患者に処方するのに非常に役立ちます。

サプライ チェーン管理: サプライ チェーン管理では、ルールベースのシステムを使用して、在庫不足アラートを生成したり、有効期限や新製品の発売を管理したりできます。

機械学習ベースのシステム

機械学習 (ML) システムは、明示的にプログラムすることなく、アルゴリズムを使用してデータから学習し、予測を行ったり、アクションを実行したりします。機械学習システムは、大量のデータのトレーニングを通じて得られた知識を使用して、新しいデータに関する予測と決定を行います。 ML アルゴリズムは、トレーニングに使用されるデータが増えるにつれてパフォーマンスを向上させることができます。機械学習システムには、自然言語処理、画像および音声認識、予測分析などが含まれます。

不正検出: 銀行は機械学習システムを使用して、過去の不正取引から学習し、潜在的な不正行為をリアルタイムで特定する場合があります。あるいは、システムをリバース エンジニアリングして、非常に「異常」に見えるトランザクションを探す可能性があります。

ヘルスケア: 病院は ML システムを使用して患者データを分析し、特定の X 線に基づいて患者が特定の疾患を発症する可能性を予測する場合があります。

ルールベースのアプローチと機械学習のアプローチを組み合わせて、強力なハイブリッド システムを構築する比較

ルールベースのシステムと ML システムには、それぞれ長所と短所があります

ルールベースこのシステムの利点は明白です:

理解しやすく説明しやすい

    迅速な実装
  • #修正が容易
  • #堅牢
  • 欠点:
  • 多数の変数が関係する問題

多くの制約がある問題

##既存のルールに限定される
  • ##に基づく ml のシステムの利点も明白です
  • 自律学習システム
  • より複雑な問題を解決する能力

ルールと比較して人間の介入を削減します。ベースのシステム、効率の向上

    継続的な学習を通じてデータと環境の変化に柔軟に適応
  • 欠点:
  • 必要なデータ (場合によっては大量)
  • これまでに見たデータ ML に限定される

限られた認知能力

  • 比較を通じて、2 つのシステムの長所と短所は矛盾せず、補完的であることがわかりました。 、では、それらの利点を組み合わせる方法はありますか?
  • ハイブリッド システム

ルールベースのシステムと機械学習アルゴリズムを組み合わせたハイブリッド システムは、最近ますます人気が高まっています。特に複雑な問題を扱う場合、より堅牢で正確かつ効率的な結果が得られます。

レンタル データセットを使用して実装できるハイブリッド システムを見てみましょう:

ルールベースのアプローチと機械学習のアプローチを組み合わせて、強力なハイブリッド システムを構築する

特徴エンジニアリング: フロアを次のように変換します。 3 建物の階数に応じて、高、中、低のいくつかのカテゴリのうちの 1 つ。これにより、ML モデルの効率を向上させることができます

ハードコーディングされたルールは、入力データ内の重要な特徴を識別して抽出するための特徴エンジニアリング プロセスの一部として使用できます。たとえば、問題領域が明確で明確であれば、ルールを簡単かつ正確に定義でき、ハードコーディングされたルールを使用して新しい機能を作成したり、既存の機能を変更して機械学習モデルのパフォーマンスを向上させることができます。ハードコーディング ルールと特徴量エンジニアリングは 2 つの異なる技術ですが、これらを一緒に使用して機械学習モデルのパフォーマンスを向上させることができます。ハードコードされたルールを使用して、新しい機能を作成したり、既存の機能を変更したりできますが、機能エンジニアリングを使用して、ハードコードされたルールでは簡単に捕捉できない機能を抽出できます。

後処理: 最終結果を丸めるか正規化します。

ハードコードされたルールは、機械学習モデルの出力を変更するための後処理段階の一部として使用できます。たとえば、機械学習モデルが既知のルールや制約と矛盾する一連の予測を出力する場合、ハードコーディングされたルールを使用して予測を変更し、ルールや制約に準拠することができます。フィルタリングやスムージングなどの後処理手法を使用すると、ノイズやエラーを除去したり、予測の全体的な精度を向上させたりすることで、機械学習モデルの出力を改善できます。これらの手法は、機械学習モデルの出力確率予測または入力データに不確実性がある場合に特に効果的です。場合によっては、後処理技術を使用して、追加情報で入力データを強化することもできます。たとえば、機械学習モデルが限られたデータセットでトレーニングされている場合、後処理技術を使用して外部ソース (ソーシャル メディアやニュース フィードなど) から追加の特徴を抽出し、予測の精度を向上させることができます。

事例

ヘルスケア

心臓病に関するデータを見てみましょう:

ルールベースのアプローチと機械学習のアプローチを組み合わせて、強力なハイブリッド システムを構築する

ランダム フォレストを使用してターゲット クラスを予測する場合:

clf = RandomForestClassifier(n_estimators=100, random_state=random_seed
 X_train, X_test, y_train, y_test = train_test_split(
 df.iloc[:, :-1], df.iloc[:, -1], test_size=0.30, random_state=random_seed
 )
 clf.fit(X_train, y_train))

ここでランダム フォレストを選択する理由の 1 つは、特徴の重要性を構築できることです。以下では、トレーニングに使用される機能の重要性を確認できます:

ルールベースのアプローチと機械学習のアプローチを組み合わせて、強力なハイブリッド システムを構築する

結果を見てください:

y_pred = pd.Series(clf.predict(X_test), index=y_test.index
 cm = confusion_matrix(y_test, y_pred, labels=clf.classes_)
 conf_matrix = ConfusionMatrixDisplay(confusion_matrix=cm, display_labels=clf.classes_)
 conf_matrix.plot())

ルールベースのアプローチと機械学習のアプローチを組み合わせて、強力なハイブリッド システムを構築する

f1_score(y_test, y_pred): 0.74
 recall_score(y_test, y_pred): 0.747

そのとき、心臓専門医があなたのモデルを診察します。彼の経験と専門分野の知識に基づいて、彼はサラセミア特性 (thal) が上記よりもはるかに重要であると信じています。そこで、ヒストグラムを作成して結果を確認することにしました。

ルールベースのアプローチと機械学習のアプローチを組み合わせて、強力なハイブリッド システムを構築する

#次に、必須ルールを指定します

y_pred[X_test[X_test["thal"] == 2].index] = 1

結果の混同行列は次のようになります:

ルールベースのアプローチと機械学習のアプローチを組み合わせて、強力なハイブリッド システムを構築する#

f1_score(y_test, y_pred): 0.818
 recall_score(y_test, y_pred): 0.9

結果は大幅に改善されました。ここでは、患者のスコアを評価する際に専門分野の知識が重要な役割を果たします。

不正取引

次のデータセットは銀行の不正取引です。

ルールベースのアプローチと機械学習のアプローチを組み合わせて、強力なハイブリッド システムを構築する

データセットは非常に不均衡です:
df["Class"].value_counts()
 0 28431
 1 4925

ルールを作成するには、分布の箱ひげ図を調べます。機能:

ルールベースのアプローチと機械学習のアプローチを組み合わせて、強力なハイブリッド システムを構築する

手動ルールの推定器として機能する独自の HybridEstimator クラスを作成します:
from hulearn.classification import FunctionClassifier
 rules = {
 "V3": ("<=", -2),
 "V12": ("<=", -3),
 "V17": ("<=", -2),
 }
 def create_rules(data: pd.DataFrame, rules):
 filtered_data = data.copy()
 for col in rules:
 filtered_data[col] = eval(f"filtered_data[col] {rules[col][0]} {rules[col][1]}")
 result = np.array(filtered_data[list(rules.keys())].min(axis=1)).astype(int)
 return result
 hybrid_classifier = FunctionClassifier(create_rules, rules=rules)

ルールベースのシステムと kNN メソッドの純粋な結果を比較できます。ここで kNN が使用される理由は、不均衡なデータを処理できるためです:

ルールベースのアプローチと機械学習のアプローチを組み合わせて、強力なハイブリッド システムを構築する

ご覧のとおり、たった 3 つのルールを記述しただけで、KNN モデルよりも優れたパフォーマンスを示します。

概要

ここでの例はあまり正確ではないかもしれませんが、次のことを説明するには十分です。ハイブリッド モデルは、迅速な実装、異常値に対する堅牢性、透明性の向上などの実用的な利点を提供します。ビジネス ロジックと機械学習を組み合わせる場合に有益です。たとえば、ヘルスケアにおけるハイブリッド ルール ML システムは、臨床ルールと患者データを分析する機械学習アルゴリズムを組み合わせることで病気を診断できます。機械学習は多くのタスクで優れた結果を達成できますが、補足的なドメイン知識も必要です。ドメイン知識は、機械学習モデルがデータをよりよく理解し、より正確に予測および分類するのに役立ちます。

ハイブリッド モデルは、ドメイン知識と機械学習モデルを組み合わせるのに役立ちます。ハイブリッド モデルは通常、複数のサブモデルで構成され、それぞれが特定のドメインの知識に合わせて最適化されています。これらのサブモデルは、ハードコーディングされたルールに基づいたモデル、統計的手法に基づいたモデル、さらには深層学習に基づいたモデルにすることができます。

ハイブリッド モデルは、ドメイン知識を使用して機械学習モデルの学習プロセスをガイドできるため、モデルの精度と信頼性が向上します。たとえば、医療分野では、ハイブリッド モデルを使用して医師の専門知識と機械学習モデルの能力を組み合わせて、患者の病気を診断できます。自然言語処理の分野では、ハイブリッド モデルは言語知識と機械学習モデルの機能を組み合わせて、自然言語をよりよく理解して生成できます。

つまり、ハイブリッド モデルは、ドメイン知識と機械学習モデルを組み合わせるのに役立ち、それによってモデルの精度と信頼性が向上し、さまざまなタスクに広範囲に応用できます。

以上がルールベースのアプローチと機械学習のアプローチを組み合わせて、強力なハイブリッド システムを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。