JMP Pro를 활용한 "공통 해 찾기" 방법을 생각해보다.
모델링의 목적은 다양합니다. 엔지니어링에서는 주로 원하는 "Y값"을 만족하는 "X값" 찾기입니다. 최적화의 다양한 유형이 있지만 우선 "Single 연속형 Y의 최적화 과정"에서 신경망 모델의 실전적 활용을 어떻게 할 것인가?라는 질문을 시작으로 제게 찾아온 생각을 정리하였습니다. 신경망 모델은 동일 데이터를 학습한 유사한 R2의 모델들이 "동일 Xs, 다른 Y의 이슈"가 있습니다. 제 생각은 이를 극복하는 대안일 수도 있을 것입니다.
데이터 학습을 통해 최종 신경망 모델을 확정했다면 검증을 실시합니다. 원하는 Y의 X값들을 찾아 실제 적용하여 예측 값과 실제 값의 Gap을 확인하는 것입니다. 제 생각은 이 Gap을 줄이는 대안일 수도 있을 것입니다.
신경망 모델 실전화를 위한 제 생각은 "3개 모델 선정 후, 공통 해 찾기"입니다.
콘크리트 강도 데이터에 JMP Pro를 활용하여 정리하였습니다.
데이터 전처리
신경망 모델 탐색
1차 신경망 모델 선정 (R-Square)
2차 신경망 모델 선정 (Overfit, Domain Knowledge)
Top 3 신경망 모델의 "공통 해" 찾기
신뢰할 수 있는 데이터 프레임을 구축해야 합니다. 이를 위해 결측, 이 상치 등의 데이터 처리가 필요합니다. "Outlier를 어떻게 판단할 것인가?"는 참 어려운 문제입니다. 향후 별도로 정리해보겠습니다.
1 Layer 탐색 3→5→8→12→16→32→40→48 진행.
Node 수 3~8까지 R2는 순차적으로 커졌으나, 12에서 감소. 요인 수 8의 배수로 Node 수 증대함.
16~48까지 증대에서 40에서 R2=95%, 이후 48에서 감소함.
2 Layer 탐색, 최소 Node 수 지향으로 우선 탐색 후, 8의 배수 조합으로 R2 값이 더 커지지 확인함.
H1(32),H2(32)에서 R2=98%로 Max를 나타내고 이후 Node 수 증대에서는 R2 값이 감소함.
Validation R-Square 90% 이상의 모델을 선정함.
H1 : Hidden Layer 1차, (N) : Node 수
Potential 1 Layer Models : H1(8), H1(32), H1(40), H1(48) → 4개
Potential 2 Layer Models : H1(8)H2(8), H1(16)H2(8), H1(16)H2(16), H1(24)H2(24), H1(32)H2(32), H1(40)H2(40), H1(48)H2(48) → 7개
Profile을 확인하며 과적합으로 판단되는 모델을 제거함.
1) 1 Layer Profile 비교
순차적 번호로 호칭 (1~4)
Overfit Issue : 2,4번 모델 제거
Domain Knowledge : 3번 제거 (water, age)
#01 Model 선정
2) 2 Layer Profile 비교
순차적 번호로 호칭 (5~11)
Overfit Issue : 6번 모델 제거
Domain Knowledge : 11번 제거 (water profile, age), 10번 제거 (slag), 9번 제거 (ash, coarseagg)
#05, #07, #08 Model 선정
1, 5, 7, 8번 모델 중 향후 활동의 시간을 단축하기 위해 의도적으로 1 Layer 중 하나, 2 Layer 중 Validation R2가 큰 7번, Training R2가 큰 8번을 선정하여 다음 과정 진행을 의사결정하였습니다.
세 개 모델을 선정한 이유는 컴퓨터 성능과 재현 검증의 최소는 3이라 생각하기 때문입니다.
선정된 신경망 모델의 모델링 결과와 프로파일 모음.
#08 모델은 Training의 R2=98%로 높으나, Validation R2=91%로 떨어짐. (과적합 가능성, water)
#01,07 모델은 Validation R2가 높음.
강도값 65를 만족하는 X값을 찾아봤습니다.
#01 Model의 해 찾기
#07 Model의 해 찾기
#08 Model의 해 찾기
세 Model의 공통 해 찾기
강도값 40을 만족하는 X값을 찾아봤습니다.
여기서 공통 해가 늘 존재할까라는 의문이 생겼고, 40과 33의 강도를 만족하는 공통 해를 구해봤습니다.
이 결과를 통해 최소, 최대 극단을 제외하면 대부분 공통 해가 존재할 것이라 생각합니다.