1.はじめに:AI創薬モデルの「分からないことを分かる」能力
AI創薬の機械学習モデルは、訓練データの化学空間を「知っている範囲」でしか正確に予測できません。未知の化学骨格を持つ新規化合物に対しては、もっともらしい数値を返しながら実際には大きく外していることがあり、これを分布外汎化(Out-of-Distribution, OOD)問題と呼びます。
この限界を無視して予測値を鵜呑みにすれば、合成・アッセイの貴重なリソースが無駄になります。そこで重要となるのが適用範囲(Applicability Domain, AD)の定義です。本記事では、適用範囲外候補の検出に利用できる外れ値検知ライブラリの一つとしてPyOD(Python Outlier Detection)を取り上げ、AI創薬・QSAR研究者向けに理論・実装・実研究例を整理します。
なお、PyODは外れ値検知の汎用ライブラリであり、AD専用ツールではありません。適用範囲を定義する唯一の標準手法でもないため、外部検証・化学的妥当性・モデル性能評価などと組み合わせて解釈する必要があります。
2.PyOD(Python Outlier Detection)とは
PyODは、2017年にYue Zhao氏らによって公開されたPython向けの包括的な外れ値検知ライブラリです。GitHub上で活発に開発が続けられ、公式情報では数千万回規模のダウンロード実績があり、学術・産業の双方で広く採用されています(具体的な数値は時期によって変動するため、最新値は公式GitHub・PyPIで確認してください)。
PyODは、AI創薬の特化ツールではなく、表形式・時系列・グラフ・テキスト・画像など多様なデータ形式の外れ値検知に使われる汎用ライブラリです。AI創薬・QSAR分野では、化学記述子空間における外れ値判定を通じて、適用範囲外候補の検出に応用されます。RDKitなどと同様、AI創薬ワークフローを支援する基盤ツールの一つと位置づけるのが妥当です。
2.1. PyOD 2(2024)の主な特徴
2024年末に公開されたPyOD 2(arXiv:2412.12154)では、以下が主な拡張点として挙げられています。
12種類の深層学習ベース外れ値検知モデルをPyTorchベースで統合
LLMを用いたモデル選択支援機能(ADEngine)
同論文時点で利用可能な外れ値検知アルゴリズム数は45
2.2. 現行PyOD 3系の主な特徴
その後の現行PyOD 3系では、公式GitHubおよびドキュメント上で次のように説明されています。
60以上の検出器を統一APIで提供(古典的なLOFから最新のECOD、DIFまで)
scikit-learn互換のインターフェース(fit() / predict() / decision_function())
表形式・時系列・グラフ・テキスト・画像のマルチモーダル対応
numbaによるJITコンパイルとjoblibによる並列処理でスケール
AI エージェント向けワークフローの整備
記事中の数値・機能は、参照したバージョンと時点を区別して理解する必要があります。
3.PyODが提供する主な外れ値検知アルゴリズム
PyODが扱うアルゴリズムは、その方法論的アプローチによって以下のカテゴリに分類されます。
- 確率的手法:ECOD、COPOD、ABOD(Angle-based)、MAD、KDE、GMM
- 線形モデル:PCA、One-Class SVM(OCSVM)、MCD(Minimum Covariance Determinant)
- 近傍ベース:LOF、COF、CBLOF、HBOS、kNN
- アンサンブル:Isolation Forest、Feature Bagging、LSCP、XGBOD
- ニューラルネットワーク:AutoEncoder、VAE、DeepSVDD、AnoGAN
- グラフベース:DOMINANT、CoLA、Radar、SCAN
- 時系列:MatrixProfile、SpectralResidual、LSTMAD
創薬応用では、Isolation Forest、LOF、One-Class SVM、AutoEncoderあたりがよく検討される候補です。ただし、最適な手法は化合物表現、距離尺度、データセット、エンドポイントによって変わるため、ベンチマーク評価による選定が望まれます。
4.適用範囲(Applicability Domain)の概念とOECD原則
適用範囲(AD)とは、QSAR(定量的構造活性相関)モデルが本来の予測性能を発揮できる化学空間の領域を指します。2004年11月にOECDが採択した「QSARモデル検証の5原則」の第3原則では、規制目的で使用される(Q)SARモデルには「定義された適用範囲」が必須とされており、AI創薬・規制提出QSARにおいて避けて通れない要件となっています。
OECDの5原則は次のとおりです。
① 定義されたエンドポイント(defined endpoint)
② 明確なアルゴリズム(unambiguous algorithm)
③ 定義された適用範囲(defined domain of applicability)
④ 適合度・頑健性・予測性の適切な評価
⑤ 可能であれば機構論的解釈
適用範囲を定義する古典的手法には、レバレッジ法(マハラノビス距離)、最近傍法、One-Class SVM、Bounding Box、フラグメント制御、反応タイプ制御などがあります。PyODは、これらの手法と新しい深層学習ベースの手法を統一的なAPIで扱える点で強みがあります。
5.PyODを用いた適用範囲定義の基本ワークフロー
PyODで適用範囲外候補を検出する基本的な流れは、次の4ステップに集約されます。
① 訓練データ(既知の化学空間)で外れ値検知モデルを学習
② 新規化合物に対して外れ値スコアを計算
③ サンプルごとの外れ値スコアを取得
④ 閾値超えの化合物を「適用範囲外の可能性が高い」と評価
RDKitと組み合わせた具体的な実装例を示します。
from rdkit import Chem
from rdkit.Chem import AllChem
from pyod.models.iforest import IForest
import numpy as np
#分子フィンガープリント(Morgan FP)の計算
mols = [m for m in Chem.SDMolSupplier(‘compounds.sdf’) if m is not None]
X = np.array([list(AllChem.GetMorganFingerprintAsBitVect(m, 2)) for m in mols])
#Isolation Forestで適用範囲を学習
ad_model = IForest(contamination=0.05, random_state=42)
ad_model.fit(X)
#新規化合物の評価
new_X = np.array([…]) # 新規化合物のFP
scores = ad_model.decision_function(new_X) # 外れ値スコア(信頼度ではない)
labels = ad_model.predict(new_X) # 0: 適用範囲内候補、1: 外れ値候補
PyODはscikit-learnと同じAPI設計のため、既存のMLパイプラインに容易に組み込めます。
5.1. コード上の重要な注意点
decision_function()が返すのは外れ値スコアであり、QSAR予測の信頼度や確率的な不確実性そのものを直接返すわけではありません
predict()のラベルはPyODモデルに基づく外れ値判定であり、QSAR予測の正確性や実験的妥当性を保証するものではありません
Morgan FPのような高次元・疎な二値ベクトルをIsolation Forest等にそのまま入力すると、距離指標が不安定になる場合があります。Tanimoto類似度ベースの距離、物理化学記述子、PCAやUMAPでの次元削減、外部検証との併用が推奨されます
実務では、外れ値スコア、化学構造類似性、記述子空間での位置、外部テストセットでの性能、専門家による化学的判断を併用して適用範囲を総合評価することが望ましいです
5.研究事例:材料物性予測における18手法の併用
Pacific Northwest National Laboratory(PNNL)のG. PanapitiyaとE. Saldanhaは、2023年に材料物性予測モデルの適用範囲を識別する手法を提案しました(arXiv:2302.06454)。
この研究では、PyODに実装された18種類の教師なし異常検知手法を併用し、「2つ以上の手法で外れ値と判定された分子」を構造的外れ値と定義しました。その結果、適用範囲を狭めて評価することで、残る適用範囲内分子に対する予測精度が条件によって改善する可能性が示されています。
このような「合意ベース(consensus-based)」のアプローチは、単一手法に依存する場合よりも誤検出を減らせる可能性があります。なお、本研究は材料物性予測を対象としたものであり、そのままADMET予測や低分子創薬に一般化できるわけではない点に注意が必要ですが、創薬領域にも応用可能な考え方として参考になります。
6.研究事例:非溶血性ペプチド設計でのAD定義
2020年にNature Scientific Reportsに掲載された非溶血性ペプチド設計の研究では、PyODが提供する複数の検知手法(マハラノビス距離、LOF、CBLOF、HBOS、kNN、Isolation Forest、Feature Bagging、ABOD)を組み合わせて適用範囲を定義しています。複数手法を組み合わせる「アンサンブル的AD」のアプローチは、ペプチド・低分子の両方で広く採用されています。
7.PyODによるAD定義のメリットと注意点
PyODを用いた適用範囲定義のメリットは以下のとおりです。
- 多様な手法の統一的な利用:60以上のアルゴリズムを同一APIで切り替え可能
- 合意ベースの堅牢な判定:複数手法の出力を組み合わせて誤検出を抑制
- 大規模化合物ライブラリへのスケール:JIT・並列処理で数十万化合物にも対応
- scikit-learn互換:既存のMLパイプラインに容易に統合
一方で、実務での注意点も明確に存在します。
- 分子記述子の選択が結果に大きく影響:Morgan FP、MACCS keys、物理化学記述子で性能が変わる
- 次元削減(PCAなど)の適切な適用:高次元のフィンガープリント空間では事前の次元削減が有効な場合がある
- 手法選択はデータセット依存:万能の手法はなく、複数手法のベンチマークが推奨される
- 閾値設定の妥当性:contaminationパラメータの設定はドメイン知識との照合が必要
8.AI創薬プロジェクトの技術的管理指標としての適用範囲
AI創薬プロジェクトの技術的な管理指標の一つとして「適用領域カバー率」が利用されることがあります。これは、社内化合物ライブラリのうち、モデルが信頼性ある予測を返せると見込まれる割合を意味します。適用範囲を厳密に定義すればカバー率は下がる傾向にあり、予測精度との間にトレードオフが存在します。なお、業界共通の標準KPIとして確立されているわけではなく、各組織のプロジェクト管理方針に応じて設計される指標です。
実務では、適用領域カバー率、予測の不確実性、時系列検証によるR²・RMSEといった複数のKPIを並列に管理し、四半期ごとに新たな実験データで再評価する運用が望ましいとされます。
9.AD判定と不確実性推定の違い、そして「AD外=悪い化合物」ではない点
適用範囲(AD)判定と、予測の不確実性推定は、概念的に異なるアプローチです。混同しやすいため、整理しておきます。
- 外れ値検知(PyODが提供する手法):訓練データから記述子空間上で「離れているか」を見る手法。AD外の候補を炙り出す補助手段
- 予測不確実性推定:予測値そのものの不確かさを定量化する手法。アンサンブル分散、ベイズ的手法、コンフォーマル予測などが代表例
外れ値検知は不確実性を直接推定するものではないため、実務では両者を併用するのが望ましいアプローチです。
また、「AD外=悪い化合物」ではありません。AD外の化合物は、現在のモデルが苦手とする可能性があるという意味であり、新規骨格として価値がないことを意味しません。むしろAD外の領域こそ、新規性のある創薬候補が眠っている可能性もあります。AD判定はあくまで「モデルの予測値をどこまで信じるか」を判断する補助情報として扱うのが適切です。
10.まとめと今後の展望
PyODは、AI創薬において訓練データから外れた化学空間を炙り出す補助ツールとして活用できます。60以上のアルゴリズムを統一APIで扱える設計、複数手法の合意ベース判定、大規模データへのスケール性により、QSARモデルの適用範囲評価の選択肢を広げます。ただし、外れ値検知結果は予測の正確性・薬効・安全性を保証するものではなく、外部検証・専門家判断との併用が前提となります。
今後は、深層学習ベースの手法(DeepSVDD、VAE等)の発展による複雑な化学空間への対応、説明可能AI(XAI)との統合による「なぜその化合物が適用範囲外と判定されたのか」の解釈性向上、生成AIとの組み合わせによる「適用範囲内で多様な分子を生成する」フレームワーク構築などが期待されます。
参考文献・関連リンク
Zhao Y, Nasrullah Z, Li Z. PyOD: A Python Toolbox for Scalable Outlier Detection. arXiv:1901.01588
Chen Y, Zhao Y, et al. PyOD 2: A Python Library for Outlier Detection with LLM-powered Model Selection. arXiv:2412.12154 (2024)
Panapitiya G, Saldanha E. Outlier-Based Domain of Applicability Identification for Materials Property Prediction Models. arXiv:2302.06454 (2023)
OECD. Validation of (Q)SAR Models — Five Principles(2004年11月採択)
OECD (Q)SAR Assessment Framework(2023年版):https://www.oecd.org/
PyOD GitHub:https://github.com/yzhao062/pyod
PyOD公式ドキュメント:https://pyod.readthedocs.io/
免責事項
本記事は、PyODおよび適用範囲(Applicability Domain)に関する情報提供を目的として作成されたものです。記事の内容は、公開時点で入手可能な文献・公式ドキュメントに基づいていますが、ライブラリの仕様や引用論文の数値は今後変更・更新される可能性があります。記事に記載されたコード例の使用結果や、それに基づく研究成果・規制提出について、筆者および本ブログは一切の責任を負わないものとします。実際の創薬研究、規制申請、論文発表にあたっては、必ず最新の公式ドキュメント・原論文・規制ガイドラインを確認してください。
本記事は生成AIを活用して作成しています。内容については十分に精査しておりますが、誤りが含まれる可能性があります。お気づきの点がございましたら、コメントにてご指摘いただけますと幸いです。
本記事に関連するおすすめ書籍をご紹介します。
Amazonでこの関連書籍「機械学習のための数学 」を見る
