brunch

You can make anything
by writing

C.S.Lewis

by WiseMir Feb 02. 2021

신경망 모델 간 예측의 차이

적절한 Layer, Node 수는? 질문을 바꿔야 한다!

1. concrete strength case

JMP를 활용하여 다양한 Hidden Layer, Node 수를 설정하여 연속형 Y의 신경망 모델을 구현한 후, 각 모델별 차이를 비교하기 위해 유사한 R-Square를 갖는 모델 3개를 선정하였습니다.

"동일한 요인 변숫값을 대입"하면 "유사한 강도값"을 나타낼 것이라 생각했지만 실제 결과는 예상과 너무도 달랐습니다. 왜 이런 차이가 발생할까?, 주어진 Data 상황에 맞춰 Hidden Layer, Node 수는 어떻게 설정해야 할까? "경험적으로 최적화시킬 수는 있지만 수학적으로 정의된 수는 없다"라고 알려져 있지만 신경망 모델의 실질적 활용을 위해 모델 간 차이를 이해하는 것이 어떤 실마리가 될 것이라 생각했고, 나만의 답을 찾기 위해 다양한 생각과 여러 가지 시도를 해보았습니다.

동일 데이터로 만든 R2 유사 신경망 모델의 예측은 차이가 클까?
실전 활용을 위해 여러 신경망 모델 결과물 중 어떤 것을 선정해야 할까?

2. Modeling Results

1번 모델은 1 Layer, 16 Nodes Modeling. R2 = 0.956

2번 모델은 1 Layer, 24 Nodes Modeling, R2 = 0.965

3번 모델은 2 Layer, each 32 Nodes Modeling, R2 = 0.982

Node 수는 요인 8개에 근거하여 8의 배수로 증대시켰고, 여러 모델 중, R2가 높은 3개 모델 선정.


3. Model Comparison

3개 모델은 동일한 요인 변숫값에서 유사한 Strenth값을 나타내는가? 이를 검증하기 위해 전체 Raw Data를 살펴보고 최소, 중심, 최대 영역의 값을 선정하였습니다. 몇 개 요인은 0을 포함하고 있어 0이 아닌 값 중 가장 작은 값에 근거하여 최소 영역 값을 선정하였습니다. 그 외 각 요인의 최소 ~ 최대 사이의 랜덤 값을 3개 선정하여 모델 비교 준비를 하였습니다.

모델 비교를 위해 준비한 Data Set입니다. 녹색은 3가지 모델의 예측 결과입니다.

최소 영역 : 모델 1,2,3 모두 상이한 수준의 결과를 출력함.

중심 영역 : 대체적으로 유사하지만 모델 2는 다른 수준의 결과로 판단됨.

최대 영역 : 모델 1,2,3 모두 상이한 수준의 결과를 출력함.

랜덤 값 비교 : 모델 1,2,3 모두 상이함.

중심 영역만 대체로 유사한 결과를 나타낸다고 판단됩니다.


4. My Opinion   

Neural Network은 Layer, Node 수를 어떻게 설정하고, 각각에 대한 최적의 수를 판정하는 수학적 기준이 없습니다. 많은 모델링을 시도하여 단순히 가장 R2가 높은 모델을 선정하는 것은 바람직하지 않습니다. Overfit과 Domain Knowlede를 고려하여 모델을 선정하는 것이 바람직하다고 생각합니다.

About Overfit

엔지니어링 영역에서 x, y 관계를 비선형으로 설명할 때 2차, 3차, 지수/로그 함수로 설명할 수 있습니다. 2차 함수는 특정점을 기준으로 증가와 감소의 경향이 변화합니다. 3차 함수는 곡선적으로 증가하거나 감소하는데 특정점을 기준으로 급격 완만한 감소/증가에서 완만 급격한 증가/감소로 변화하는 것을 의미합니다. 지수/로그 함수는 완만한 증가에서 급속 증가하거나, 완만한 감소에서 급속 증가로 변하는 모습을 설명해줍니다.

모델의 Profile을 살펴보면 과적합(Overfit)을 판단할 수 있습니다. 아래 그림 중 1, 2번 모델의 경우 과도하게 구불구불한 선을 볼 수 있습니다. 일반적인 엔지니어링 영역에서 볼 수 없는 프로파일입니다.


About Domain Knowledge

모델 3은 상대적으로 매끈한 비선형을 나타내고 있습니다. 각 요인별 프로파일은 Domain Knowlege와 일치하는지 검토가 필요합니다.            

시멘트량 vs. 콘크리트 강도 해석

콘크리트량이 증가할수록 강도는 커질 것입니다. 그러나 무한정 커지는 것이 아니라 어떤 시점부터는 강도가 유지되거나 그 증가세가 미미해질 수도 있습니다. 모델 1의 경우 증가하다가 어떤 지점에서 곡선의 증가세로 변화합니다. 가능한 프로파일입니다. 모델 2는 증가세를 나타내지만 어떤 지점에서 증가가 구불구불해집니다. 기존 지식과 불일치도가 높습니다. 모델 3은 직선의 증가세에서 특정 지점을 지나면 증가 없이 유지되는 모습입니다. 가능한 프로파일로 판단됩니다.

물량 vs. 콘크리트 강도 해석

물량은 시멘트량에 맞춰 적정량을 맞춰야 최고의 강도를 가질 것입니다. 물량이 너무 적으면 되고, 너무 많으면 질 것입니다. 현재 데이터는 시공이 가능한 정도의 물 조절이 된 것으로 판단하고 해석해야 할 것입니다. 그렇다면 물량이 많아질수록 강도는 낮아질 것입니다. 기본적으로 우하향의 추세일 것입니다. 모델 1은 물량 증가에 따라 강도가 낮아지고 유지되는 추세에서 특정점을 지나면 위로 볼록한 2차 곡선의 프로파일입니다. 불가능한 프로파일입니다. 물량에 따른 강도의 차이는 미비하다 정도로 해석할 수 있겠습니다. 모델 2는 두 번의 위로 볼록 프로파일입니다. 요인의 특성을 설명하기보다는 과적합으로 판단됩니다. 모델 3은 3차 곡선의 프로파일입니다. 물량 210 이후는 증가세라기보다는 유지로 해석할 수 있으며 지금 모델은 다소 과적합으로 보입니다.

시멘트량과 물량의 상호작용을 고려해야 하지 않을까?

몇몇 요인들에 대해서 직선으로 단순화시킨 상호작용 그래프를 그려보았습니다. 각 요인의 중간값 전후로 기울기가 달라짐을 확인할 수 있습니다. 신경망 모델은 수식에 상호작용 항은 없습니다. 학습 데이터로 상호작용을 찾은 후, 이를 모델에 추가 반영한다면 예측력을 더 증가시키지 않을까? 상호작용이 적용된 프로파일을 볼 수 있다면 더 적정한 모델 선정에 도움이 될 것입니다.

JMP가 제공하는 Interaction Profiles과 My Questions

1) 신경망 모델은 상호작용을 반영하고 있는 것일까?

2) Least Square Model로 찾아낸 유의미한 상호작용 항을 기존 신경망 모델에 추가할 수 있을까?

3) 추가가 가능하다면 그 모델의 예측력은 더 우수해질까?

ash 요인과 다른 요인 간 상호작용이 복잡하게 얽혀있다. 각 직선을 별도로 해석하여 Domain Knowledge로 설명이 가능한지 확인해야 할 것이다. 콘크리트 강도와 관련된 지식 부족으로 내 해석은 이 정도로 마무리하겠습니다.


5. My Conclusion   

동일 데이터로 다르게 학습(Layer, Node 수가 다른)한 신경망 모델들은 유사한 예측을 하지 않는다.

각 변수의 중심 영역은 유사하게 예측하는 편이다.

신경망 모델의 실질적 활용을 위해서는 최소 3개 이상의 모델을 잠재적으로 선정한 후, Overfit과 Domain Knowlege 관점에서 의사 결정해야 한다. Profile을 볼 수 없다면 실전 활용에 매우 주의를 기울여야 한다.

모델의 최종 선정을 위해 사전에 Data Set을 Training / Validation / Test로 구분하는 것은 최종 모델 선정을 위한 대안이 될 수 있을 것이다.

원하는 Y를 찾는 문제에서는 여러 모델을 동시에 활용할 수 있지 않을까? 3개 모델의 y = 65를 동시에 만족하는 각 X의 값은? ( DOE, Multiple Ys 해 찾기 Concept )

신경망 모델은 특정 모델로 의사결정 후, 실전에 활용하면서 진화시켜야만 한다.



작가의 이전글 다시 찾아온 Largo
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari