본 기사에서는 스펙트럼 데이터에 대해 기계 학습 기법을 이용하여 시료를 식별하기 위한 분류 모델을 구축하는 예를 제시한다.
아래 그림은 딸기 퓌레의 중적외 분광(FT-IR) 데이터를 시각화한 것입니다.
왼쪽의 빨간색은 딸기 퓌레, 오른쪽의 파란색은 비 딸기 퓌레 (딸기가없는 과일의 퓌레)의 스펙트럼을 나타냅니다.

적색(딸기)과 청색(비딸기)의 스펙트럼은 전체적으로 유사한 형상을 나타내지만, 특정 파수 영역에서는 흡광도(Y축의 값)에 차이가 보인다.
따라서 여러 파수의 흡광도 데이터를 입력으로 사용하고 딸기/비딸기를 출력(라벨)으로 하여 양자를 식별하는 기계 학습 모델을 구축합니다.
또한 얻은 모델에서 어떤 파수 영역이 이들을 식별하는 데 유용한지 고려합니다.
데이터 세부정보
데이터는 딸기 퓌레 (딸기) 및 비 딸기 과일 유래 퓌레 (비 딸기)를 대상으로 얻은 중적외선 (MIR) FT-IR 스펙트럼 데이터로 구성됩니다 (출처는 블로그 끝에 기재).
각 샘플에 대해 900-1800 cm⁻¹ 의 파수 영역에서의 흡광도를 측정하고, 딸기와 비 딸기를 합하여 983개의 스펙트럼 데이터를 얻었다.
아래 그림은 딸기를 적색(N=351), 비딸기(N=632)의 스펙트럼 데이터를 중첩한 것입니다. 앞서 언급했듯이 스펙트럼의 모양 자체는 비슷하지만 특정 파수 영역에서 차이가 있음을 알 수 있습니다.

이러한 스펙트럼 데이터에 대해, 기계 학습의 기법을 이용해, 복수의 파수에 있어서의 차이를 파악해, 딸기와 비딸기의 식별을 시도합니다.
데이터 구성
분석에 사용되는 데이터는 다음과 같이 구성됩니다.
딸기와 비 딸기를 식별하기위한 열 "Category"가 제공되며, 이는 분류 모델의 레이블에 해당합니다.
그 이외의 열에는 각 파수에 있어서의 흡광도가 입력되어 있으며, 이 데이터에서는 235 파수점분의 스펙트럼 정보가 설명 변수로서 이용됩니다.

※이하에서는 JMP Pro의 기능을 사용합니다.
게다가 983행의 데이터를 랜덤으로 분할해, 75%를 학습 데이터, 25%를 검증 데이터로서 이용합니다.
JMP Pro에서는 분석 > 예측 모델 > 유효성 검사 열 만들기 를 시작하고 계층별 열에 "Category"를 지정하여 아래 그림과 같이 Category 수준 간에 학습 데이터와 검증 데이터의 비율이 거의 균등하도록 분할한 열 "검증"을 작성할 수 있습니다.

함수 주성분 분석에 의한 스펙트럼 데이터의 차원 축소
이번 예와 같이 스펙트럼 데이터는 다수의 연속 변수를 가지는 다변량 데이터이기 때문에 주성분 분석(PCA)을 이용하여 저차원으로 축약하고 그룹간 분리가 가능한지를 시각적으로 확인하는 것이 일반적입니다.
그러나 여기에서는 함수 주성분 분석(FPCA) 을 이용하여 스펙트럼 전체를 "함수"로 취급하고 그 형상의 차이에 기초한 분류를 시도합니다.
JMP Pro에서는 "함수 데이터 탐색기" 라는 플랫폼을 사용하여이 기능 주성분 분석을 수행 할 수 있습니다.
함수 주성분 분석을 수행하려면 먼저 각 스펙트럼에 적합한 웨이블릿 함수를 적용하고 스펙트럼을 하나의 함수로 표현합니다. 그런 다음 함수 모양의 차이를 주성분으로 추출합니다.
아래 그림은 이번 스펙트럼 데이터에 대해 웨이블릿 모델을 맞추어 함수 주성분 분석을 실시했을 때의 보고서입니다. 여기에서 출력되는 「스코어 플롯」은, 주성분 분석의 함수판의 플롯이라고 생각해 주세요. 함수의 모양을 2차원으로 축소하고 각 983개 샘플의 좌표를 플로팅합니다.

근처에 위치한 샘플끼리는 스펙트럼의 형상이 비슷하고 반대로 멀리 떨어진 샘플들은 스펙트럼의 모양이 다른 것을 의미합니다.
점수 플롯을 보면 딸기(빨간색)가 중심 부근에 집중되어 분포하고 있는 반면, 비딸기(파란색)는 보다 넓게 분산되어 있는 것을 알 수 있습니다.
이 2축만으로는 완전한 분류는 어렵지만, 특히 주성분 1 방향에서의 분포의 편향으로부터 스펙트럼 형상의 차이가 다변량적으로 분류에 영향을 미치고 있을 가능성을 시사합니다.
기계 학습 기법에 의한 분류 모델 구축
여기에서가 프로덕션입니다. 기계 학습에 있어서의 분류 모델의 수법은 여러가지가 있습니다만, 「모델의 스크리닝」 플랫폼을 사용하면, 동일 데이터에 대해 복수의 모델을 맞추어, 그 성능을 비교할 수 있습니다.
이 데이터에 대해 "모델 스크리닝"에서 다음과 같이 [Y, 목적 변수], [X, 설명 변수], [검증] 열을 지정합니다. 검증 열을 지정하면 학습 데이터로 모델을 맞추고 검증 데이터로 모델 성능을 검증할 수 있습니다.
왼쪽 하단의 "기법"에서는 적용할 모델을 선택합니다. 여기에서는 분류 모델에 대한 기법을 선택합니다.

이 설정에서 확인한 모든 모델을 적용하면 아래와 같이 "검증" 데이터에 대한 각 기법의 적합도 통계량이 표시됩니다. 기본적으로 "엔트로피 R2승"은 큰 순서로 정렬됩니다.

결과를 보면, '뉴럴 부스팅'(부스팅에 의해 예측 정밀도를 높인 뉴럴 넷)이 모든 적합도 통계량에서 최상의 결과를 나타냅니다.
R2승은 1에 가깝고, 오분류율도 0.0041과 1% 미만이 되어 있으므로, 235개의 스펙트럼 변수를 이용해, 딸기·비딸기를 거의 완전하게 식별할 수 있는 것을 알 수 있습니다.
참고: "모델 스크리닝"에서는 예상되는 매개 변수 수의 상한이 450개로 제한됩니다.
그러므로 획득하는 파수 점수가 더 많은 스펙트럼 데이터의 경우 별도의 플랫폼을 사용하십시오.
최상의 모델에 의한 중요 변수 평가
가장 성능이 좋은 '신경 부스팅'에 맞는 보고서를 확인합니다.
보고서에는 학습 데이터와 검증 데이터 각각에 대해 적합성 통계량과 혼동 행렬(분리된 실측 및 예측 카테고리 간의 대응을 나타내는 이원 테이블)이 표시됩니다.

혼동 행렬로부터 학습 데이터와 검증 데이터 모두 오분류는 1 샘플만임을 알 수 있습니다.
그렇다면 결국 어떤 파수가 딸기와 비 딸기를 분류하는데 중요했을 까요?
신경망은 예측 성능에 중점을 둔 기법이며, 예측 수식이 복잡하기 때문에 각 설명 변수의 기여를 직접 해석하는 것은 쉽지 않습니다.
그러나 JMP는 난수 시뮬레이션을 사용하여 예측에 기여하는 요인을 평가하는 기능을 제공합니다.
신경 보고서에서 예측 프로필을 표시하고 예측 프로필에서 변수 심각도 평가 옵션을 선택합니다.
다음 보고서는 변수 심각도 평가에 대한 요약 보고서와 '전체 효과'를 기반으로 색칠한 예측 프로필을 보여줍니다. 이 결과로부터 파수 1802.564, 899.327, 1312.346 cm⁻¹ 의 순서로 예측에 대한 기여가 큰 것을 알 수 있습니다.

* 전체 효과 : 관련된 다른 요인과 결합된 전체 효과의 중요도.
마지막으로 「요약 리포트」의 수치를 사용해, 가로축을 파수, 세로축을 전체 효과로 한 막대 그래프를 나타냅니다. 이 그래프에서 전체 효과가 큰 파수 영역이 복수 존재하는 것을 확인할 수 있습니다.

이러한 영역은 예측에 강하게 기여하고 있으며 딸기와 비 딸기의 식별에 중요한 스펙트럼 정보가 포함되어 있음을 시사합니다.
이러한 결과로부터, 전체 효과가 큰 파수 영역을 참조하는 것으로, 분류에 기여하고 있는 화학 구조 유래의 정보를 고찰하는 것이 가능하게 됩니다.
참고 문헌, 데이터 출처
"푸리에 변환 적외선 분광법과 부분 최소 제곱 회귀 분석을 이용한 딸기 퓨레의 불순물 혼입 탐지" Holland JK, Kemsley EK, Wilson RH. (1998). Journal of the Science of Food and Agriculture, 76, 263-269
by 마스카와 나오히로(JMP Japan)
마스카와 나오히로 - JMP 사용자 커뮤니티