cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Naohiro Masukawa

Choose Language Hide Translation Bar
スペクトルデータを用いた食品識別のための分類モデル構築例

本記事では、スペクトルデータに対し機械学習手法を用い、試料を識別するための分類モデルを構築する例を示します。

下図は、イチゴピューレの中赤外分光(FT-IR)データを可視化したものです。
左側の赤はイチゴピューレ、右側の青色は非イチゴピューレ(イチゴが含まれていない果実由来のピューレ)のスペクトルを示しています。

Masukawa_Nao_0-1770270782967.png

赤色(イチゴ)と青色(非イチゴ)のスペクトルは、全体として類似した形状を示していますが、特定の波数領域では吸光度(Y軸の値)に差が見られます。

そこで、複数の波数における吸光度のデータを入力とし、イチゴ/非イチゴ を出力(ラベル)として、両者を識別する機械学習モデルを構築します。

また、得られたモデルから、どの波数領域がこれらを識別するうえで有用であるかについても検討します。

 

データの詳細

データは、イチゴピューレ(イチゴ)および非イチゴ果実由来ピューレ(非イチゴ)を対象として取得された中赤外(MIR)FT-IR スペクトルデータで構成されています(出典はブログの最後に記載)。


各試料について 900–1800 cm⁻¹ の波数領域における吸光度が測定されており、イチゴおよび非イチゴを合わせて983本のスペクトルデータが取得されています。

下図は、イチゴを赤色(N=351)、非イチゴ(N=632)のスペクトルデータを重ね合わせたものです。先ほど述べたように、スペクトルの形状自体は類似していますが、特定の波数領域で差があることが確認できます。

Masukawa_Nao_1-1770271425271.png

このようなスペクトルデータに対し、機械学習の手法を用いて、複数の波数における差異を捉え、イチゴと非イチゴの識別を試みます。

 

データの構成

分析に用いるデータは、次のように構成されています。
イチゴと非イチゴを識別するための列 「Category」 が用意されており、これが分類モデルにおける ラベル に相当します。

それ以外の列には、各波数における吸光度が入力されており、本データでは 235 波数点分のスペクトル情報 が説明変数として用いられます。

Masukawa_Nao_0-1770273181048.png

 

※以下では、JMP Proの機能を用います。

さらに、983行のデータをランダムに分割し、75%を学習データ、25%を検証データとして用います。

JMP Proでは、[分析] > [予測モデル] > [検証列の作成]を起動し、[層別]の列に「Category」を指定することで、下図のように、Categoryの水準間で、学習データと検証データの割合がほぼ均等になるように分割した列「検証」を作成できます。

Masukawa_Nao_1-1770273431158.png

 

関数主成分分析によるスペクトルデータの次元縮約

今回の例のように、スペクトルデータは多数の連続変数をもつ多変量データであるため、主成分分析(PCA)を用いて低次元に縮約し、グループ間が分離ができるかを視覚的に確認することが一般的です。

しかしここでは、関数主成分分析(FPCA)を用い、スペクトル全体を「関数」として扱い、その形状の違いに基づく分類を試みます。

JMP Proでは、「関数データエクスプローラ」というプラットフォームを用いて、この関数主成分分析を実施できます。

関数主成分分析を行うには、まず各スペクトルに適したウェーブレット関数をあてはめ、スペクトルを1つの関数として表現します。その後、関数形状の違いを主成分として抽出します。

下図は、今回のスペクトルデータに対してウェーブレットモデルをあてはめ、関数主成分分析を実施した際のレポートです。ここで出力される「スコアプロット」は、主成分分析の関数版のプロットであるとお考えください。関数の形状を2次元に縮約し、983サンプルそれぞれの座標がプロットされています。

Masukawa_Nao_2-1770274278028.png

近くに位置するサンプル同士はスペクトルの形状が似ており、逆に離れて位置するサンプル同士はスペクトルの形状が異なることを意味します。

スコアプロットを見ると、イチゴ(赤色)は中心付近に集中して分布している一方で、非イチゴ(青色)はより広く分散していることが分かります。

この 2 軸のみでは完全な分類は困難ですが、特に主成分 1 方向における分布の偏りから、スペクトル形状の違いが多変量的に分類へ影響している可能性が示唆されます。

 

機械学習手法による分類モデルの構築

ここからが本番です。機械学習における分類モデルの手法はさまざまなものがありますが、「モデルのスクリーニング」プラットフォームを用いると、同一データに対し複数のモデルをあてはめ、その性能を比較することができます。

今回のデータに対し、「モデルのスクリーニング」にて、以下のように、[Y,目的変数]、[X,説明変数]、[検証]の列を指定します。検証列を指定することで、学習データでモデルをあてはめ、検証データでそのモデル性能を検証できます。

左下の「手法」では、あてはめたいモデルを選択します。ここでは、分類モデルに関する手法を選択します。

Masukawa_Nao_0-1770276201976.png

この設定でチェックしたすべてのモデルをあてはめると、以下のように「検証」データに対する各手法の適合度統計量が表示されます。デフォルトでは、「エントロピーR2乗」が大きい順に並べ替えられています。

Masukawa_Nao_1-1770276650996.png

結果をみると、「ニューラルブースティング」(ブースティングにより予測精度を高めたニューラルネット)が、すべての適合度統計量において最も良い結果を示しています。

R2乗は1に近く、誤分類率も0.0041と1%未満になっているので、235個のスペクトル変数を用いて、イチゴ・非イチゴをほぼ完全に識別できていることがわかります。

 

注意:「モデルのスクリーニング」では、推定するパラメータ数の上限が 450 個に制限されています。
そのため、取得している波数点数がさらに多いスペクトルデータの場合は、個別のプラットフォームを利用してください。

 

最良モデルによる重要変数の評価

最も性能が良い「ニューラルブースティング」のあてはめレポートを確認します。

レポートには、学習データおよび検証データのそれぞれについて、適合度統計量や混同行列(分離の実測カテゴリと予測カテゴリの対応を示す二元表)が表示されます。

Masukawa_Nao_0-1770277326263.png

混同行列から、学習データ・検証データともに、誤分類は 1 サンプルのみであることが分かります。

では、結局どの波数がイチゴ・非イチゴを分類するのに重要だったのでしょうか。

ニューラルネットワークは予測性能を重視した手法であり、予測式が複雑なため、各説明変数の寄与を直接解釈することは容易ではありません。

しかし JMP には、乱数シミュレーションを用いて予測に寄与する要因を評価する機能が用意されています。

「ニューラル」のレポートから「予測プロファイル」を表示し、予測プロファイルから「変数重要度の評価」オプションを選択します。

以下のレポートは、変数重要度の評価に関する要約レポートと、「全効果」に基づいて色付けした予測プロファイルを示しています。この結果から、波数 1802.564、899.327、1312.346 cm⁻¹ の順に、予測への寄与が大きいことが分かります。

Masukawa_Nao_1-1770277681121.png

*全効果:関係する他の因子と組み合わせた、全効果の重要度。

 

最後に「要約レポート」の数値を使って、横軸を波数、縦軸を全効果とした棒グラフを示します。このグラフより、全効果が大きい波数領域が複数存在することが確認できます。

Masukawa_Nao_0-1770282628523.png

これらの領域は予測に強く寄与しており、イチゴと非イチゴの識別に重要なスペクトル情報が含まれていることが示唆されます。

このような結果から、全効果の大きい波数領域を参照することで、分類に寄与している化学構造由来の情報を考察することが可能になります。

 

参考文献、データの出典

Use of Fourier transform infrared spectroscopy and partial least squares regression for the detection of adulteration of strawberry purees" Holland JK, Kemsley EK, Wilson RH. (1998). Journal of the Science of Food and Agriculture, 76, 263-269

 

by 増川 直裕(JMP Japan)

Naohiro Masukawa - JMP User Community

Last Modified: Feb 5, 2026 7:00 PM