Read in English

機械学習によるピーク検出パラメータの自動選択

シェア

ピーク検出は、生のスペクトルを、材料の構造や組成を読み解くための情報へ変換する重要な処理です。閾値ベースの手法は解釈しやすく、柔軟に使える一方で、スペクトルごとに適切な検出パラメータを選ぶ必要があります。しかし、その選び方には決まった指針がなく、多くの場合は専門家の経験に頼っていました。MI-6では、閾値ベースの検出器とRandom Forestモデルを組み合わせ、スペクトルの特徴に応じてパラメータを自動選択する手法を開発しました。生成スペクトル2,000件のみで学習したモデルを、未知の実験スペクトル100件以上で検証したところ、生成スペクトルではF1-score 0.94、XRD、GC–MS、Ramanではそれぞれ最大0.952、0.946、0.893を達成しました。

Thanakrit Yoongsompornさんのプロフィール写真

Thanakrit Yoongsomporn

東京科学大学大学院

東京科学大学大学院にて時系列データ解析と機械学習を専攻。現在はMI-6でデータサイエンティストインターンとして、miHub®とLAの連携に向けたスペクトル解析技術の開発に従事しており、前処理、ピーク検出、ピークグルーピングなどのアルゴリズム開発を担当。XRD、FT-IR、ラマン分光法をはじめとするさまざまなスペクトルデータの解析に取り組んでいる。

1. ピーク検出パラメータをどう決めるか

ピーク検出は、生のスペクトルからピーク位置、強度、幅といった情報を取り出す処理です。これらの情報は、材料の構造、組成、濃度などを理解する手がかりになります。閾値ベースのピーク検出器では、まず局所的な最大値をピーク候補として抽出し、その中から検出パラメータで定めた条件を満たすものだけをピークとして残します。この方法は処理の意味を理解しやすく、対象に応じて調整しやすく、大量の学習データを必要としないという利点があります。

実務上の難しさは、検出器そのものよりも、パラメータの設定にあります。広く使われている閾値ベースのピーク検出関数には、最小ピーク高さ、ピーク間の最小距離、ピークのプロミネンス、ピーク幅など、最大8個の調整可能なパラメータがあります。これらは連続的な実数値であり、あるスペクトルに対してどの値を使えばよいかを一意に決める普遍的な基準はありません。

さらに、各パラメータは互いに独立していません。あるパラメータの適切な値は、他のパラメータの値によって変わります。例えば、プロミネンスの条件を変えると、それに合わせて適切な幅の条件も変わることがあります。そのため、パラメータを1つずつ順番に調整しても、全体としてよい設定に到達できるとは限りません。適切な値を探す作業は、スペクトルの性質に依存する連続的で多次元的な探索になります。少数のスペクトルであれば専門家が手作業で調整できますが、多数のスペクトルを一括処理する場面では大きなボトルネックになります。

検出結果に特に大きな影響を与える代表的なパラメータは、次の3つです。

  • プロミネンス:ピーク頂点と、そのピークを取り囲む最も低い等高線との垂直距離です。ピークの絶対的な高さではなく、周囲に対してどれだけ際立っているかを表すため、真のピークとノイズを分けるうえで有効です。
  • 幅:ある高さで測ったピークの水平方向の広がりです。ピークがどれだけ広いかを表し、半値全幅(FWHM)とも関係します。
  • 相対高さ:幅をどの高さで測るかを決める、プロミネンスに対する割合です。0は頂点付近、1は基部付近に対応します。ピークそのものの性質を直接表すというより、幅を読み取る位置を制御するパラメータです。

本手法の特徴は、同じスペクトルの中にある強いピークと弱いピークの両方を拾いながら、ノイズをピークとして誤検出することを抑えられる点です。弱いけれど意味のある材料由来のシグナルを取りこぼさず、同時にバックグラウンドノイズを除くことは、ピーク検出における難しい課題です。特に、どのピークが後段の解析で重要になるかを事前に決められない非標的分析では、最初の段階で真のピークをできるだけ確実に捉えておく必要があります。

では、スペクトルごとに手作業で調整せずに、こうしたパラメータをどのように決めればよいのでしょうか。その出発点は、「最適なパラメータ」とは何かを捉え直すことにあります。

自動スペクトル解析における検出パラメーターとして用いられる、主要な3つのピーク特性(プロミネンス、幅、相対高さ)を示す模式図。この機械学習によるピーク検出アプローチは、SciPyのfind_peaksパラメーターがスペクトルピークをどのように特徴づけるかを形式化することで、マテリアルズ・インフォマティクス(材料情報科学)およびAI for Scienceのワークフローをサポートする。

図1. 検出パラメータとして用いる3つの主要なピーク特性(プロミネンス、幅、相対高さ)の模式図。図は参考文献[4]を一部改変しています。

2. 「有効パラメータ空間」という見方

MI-6では、パラメータ値と検出性能の関係を詳しく調べることで、重要な性質を見いだしました。各スペクトルには、うまく機能するパラメータの組み合わせが1つだけ存在するわけではありません。多くの場合、良好な検出性能を示す組み合わせは、パラメータ空間上のある領域として広がっています。

本記事では、この領域を「有効パラメータ空間」と呼びます。ほぼ最適な性能は、1つの点ではなく、一定の幅を持つ領域として存在します。この領域の形や大きさはスペクトルの特徴によって変わります。一般に、ピークの形が単純でノイズが少ないスペクトルほど、有効パラメータ空間は広くなる傾向があります。

プロミネンス対幅など、パラメーターの組み合わせにおいて、異なるスペクトルがそれぞれ独自の有効パラメーター空間を占有している様子を示すF1スコアの性能マップ。この可視化は、マテリアルズ・インフォマティクスおよびAI for Scienceにおける機械学習駆動型の自動ピーク検出を支えるものであり、SciPyのfind_peaksにおける手動調整に代わるデータ駆動型のパラメーター最適化を実証している。

図2. (a,c) 異なるスペクトルは、(b,d) プロミネンスと幅などのパラメータ組み合わせに対するF1-scoreマップ上で、それぞれ異なる有効パラメータ空間を持ちます。F1-scoreはピーク検出性能を表し、0が最悪、1が完全な検出を意味します。図は参考文献[4]を一部改変しています。

この見方には、2つの意味があります。第一に、ピーク検出のパラメータ設定は、単一の最良値を探せばよい問題ではありません。スペクトルの特徴と有効パラメータ空間の関係は非線形で、形も複雑です。第二に、この性質は機械学習モデルにとっては有利に働きます。モデルは厳密な最適値を一点で当てる必要はありません。各スペクトルの性質に合うように、有効パラメータ空間の内側に入る値を選べばよいからです。

この考え方に基づき、私たちは、スペクトルの形状や特徴量(例えばノイズレベルや平均的なピーク幅)と、適切なパラメータ値との関係を学習するRandom Forestモデルを構築しました。新しいスペクトルが与えられると、モデルはその特徴を解析し、検出パラメータを自動で設定します。

このモデルが学習した傾向は、物理的にも自然でした。例えば、ノイズの多いスペクトルでは、ノイズ由来の局所最大値を抑えるために高めのプロミネンスを設定します。また、ピークが広いスペクトルでは、その広がりに合った幅を設定します。これは、モデルが単に数値を当てずっぽうに出しているのではなく、スペクトルの特徴とパラメータの間にある意味のある関係を学習していることを示しています。

3. 性能とベンチマーク結果

生成スペクトルで評価したところ、MI-6のモデルはF1-scoreで0.94を達成しました。F1-scoreは、偽陽性と偽陰性のバランスを表す指標です。一方、パラメータを調整せず既定値のまま使った場合は、ほぼ実用に耐えない結果になりました。既定値では、多くの局所最大値をピークとして受け入れてしまい、偽陽性が大量に発生するためです。この比較からも、スペクトルに応じてパラメータを選ぶことが、検出品質を大きく左右することが分かります。

さらに注目すべき点は、MI-6のモデルが比較的小さなデータセットで学習されていることです。学習に使ったスペクトルは2,000件であり、比較対象とした深層学習モデルの約100万件のシミュレーションスペクトルと比べると、データ数は約500分の1です。

そのうえで、両モデルを、学習時には使っていない100件以上の実験スペクトルで検証しました。対象にはXRD、Raman、GC–MSが含まれます。これらは性質が大きく異なるスペクトルです。例えば、XRDでは鋭いピークが多く見られる一方、Ramanでは幅が広く、重なり合うピークが現れることがあります。評価に使う正解ピーク位置は、専門研究者による手作業の解析で設定しました。

実験的なXRD、GC–MS、ラマンスペクトルにおけるピーク検出結果。人間によるアノテーション(正解データ)と機械学習モデル、およびCNNベースラインを比較している。このベンチマークは、多様な分光法やクロマトグラフィー技術全体にわたる堅牢な自動スペクトルピーク検出を示しており、AI for Scienceおよびマテリアルズ・インフォマティクスへの応用を強調している。

図3. (a) XRD、(b) GC–MS、(c) Ramanの実験スペクトルにおけるピーク検出結果。人手でアノテーションしたピーク(True peaks)、本手法、CNNモデルが検出したピークを比較しています。各スペクトルの下にある三角形は、検出されたピークを示します。図は参考文献[4]を一部改変しています。

表1. 未知の実験XRD、GC–MS、Ramanスペクトルに対する、MI-6モデルと深層学習ベースラインのピーク検出性能(precision、recall、F1-score)。専門家がアノテーションした正解データに対して評価しています。

Spectral type

手法

Precision

Recall

F1

XRD

MI-6モデル

0.925

0.984

0.952

深層学習

0.515

0.252

0.327

GC–MS

MI-6モデル

0.965

0.929

0.946

深層学習

0.378

0.176

0.236

Raman

MI-6モデル

0.890

0.915

0.893

深層学習

0.092

0.140

0.105

MI-6のモデルは、性質の異なる多種のスペクトルに対して、少ない学習データにもかかわらず良好に一般化しました。検出されたピーク位置は、XRD、GC–MS、Ramanのいずれでも専門研究者が設定したピーク位置とよく一致しています。少なくともピーク位置を特定するという今回のタスクでは、本モデルが専門家のアノテーションを高い精度で再現できることが確認できました。

ただし、この比較は慎重に解釈する必要があります。深層学習モデルのスコアが低い主な理由は、異なるドメインへの転移が難しかったことにあります。一方、MI-6のアプローチの強みは、解釈可能な閾値ベースの検出器を使いながら、パラメータ選択だけを機械学習で自動化している点です。この構成により、異なるスペクトル種別にも比較的よく対応できます。実験スペクトルのテストセットはまだ限定的であり、性能は測定手法によっても変わるため、表の数値は絶対的な結論ではなく、有望な実証結果として捉えるのが適切です。今後、用途やデータセットに合わせてモデルを更新・再設計することで、さらに性能を高められると考えています。

4. まとめ

本手法は、閾値ベースのピーク検出が持つ解釈しやすさと柔軟性を保ちながら、実務上の大きな負担であるスペクトルごとのパラメータ調整を自動化します。検出されたピークを後段の物性予測モデルや特徴選択に渡すハイスループット解析では、特に有用なアプローチです。

また、「有効パラメータ空間」という見方は、ピーク検出の考え方そのものを整理する助けにもなります。閾値ベースの検出では、正解は単一の最適値ではなく、十分によい性能を出せるパラメータの領域として捉える方が自然です。この考え方は、一次元スペクトルに限らず、二次元スペクトルのようなより複雑なデータにも拡張できます。

ピークベースの手法と全スペクトルを用いる手法が、マテリアルズ・インフォマティクスのワークフローの中でどのように位置付けられるかについては、関連記事「Spectral Data Analysis in Materials Science」をご参照ください。ピーク検出における深層学習側のアプローチについては、「Deep Learning for Spectral Peak Detection」で紹介しています。

参考文献

  1. A. Kensert et al., Convolutional neural network for automated peak detection in reversed-phase liquid chromatography, J. Chromatogr. A 1672 (2022) 463005. https://doi.org/10.1016/j.chroma.2022.463005
  2. B. Lafuente et al., The power of databases: the RRUFF project, Highlights in Mineralogical Crystallography (2015) 1–30.
  3. J. Sundberg, Extended characterization of petroleum aromatics by off-line LC-GC-MS (dataset), 2021. https://doi.org/10.5281/zenodo.5121065
  4. T. Yoongsomporn, S. Kanharattanachai, P. Lueangratana, T. Yamashita, C.H. Chen, M. Irie, C. Jirayupat, Automated spectral peak detection with machine learning: Parameter optimization and effective parameter space analysis with SciPy's find_peaks, Chemometrics and Intelligent Laboratory Systems 265 (2026) 105651. https://doi.org/10.1016/j.chemolab.2026.105651