Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Archives
Today
Total
관리 메뉴

머신러닝 내공쌓기

[머신러닝] 머신러닝 조감도 그리기 본문

머신러닝

[머신러닝] 머신러닝 조감도 그리기

mlprodev 2021. 6. 16. 11:47

머신러닝은 크게 원재료, 기계, 산출물로 나누어 볼 수 있습니다. 원재료는 데이터를 가리키고, 기계는 머신러닝 모델을, 산출물은 머신러닝 모델이 학습한 것을 바탕으로 예측하는 예측치를 말합니다. 유명한 예시인 개와 고양이 분류기를 떠올릴 수 있습니다.

기계가 개와 고양이를 구분할 수 있도록 만들기 위해 여러 샘플 사진들을 학습시킵니다. 이때 기계는 학습한 결과를 토대로 새로운 고양이의 사진을 보았을 때, 이를 개가 아닌 고양이로 분류한다면 정확한 예측을 하게 됩니다.

위의 사례에서 볼 수 있듯이, 머신러닝 모델은 엄밀히 보면 크게 두 가지의 인풋을 받습니다. 하나는 학습용 데이터에 대한 인풋이고, 다른 하나는 테스트 데이터에 대한 인풋입니다.

이와 같이 머신러닝의 진행과정은 크게 input, 모델링, output의 세 가지로 구분되고, 각 과정마다 그에 걸맞는 작업이 필요합니다.

[1] input에서는 데이터를 모델이 적절히 학습할 수 있게 가공하는 데이터 전처리가 요구됩니다.

[2] 모델링의 과정은 다음과 같이 세분화됩니다.

먼저, 머신러닝 엔지니어들이 만들어 놓은, 같은 기능을 하는 여러 종류의 모델들이 있는데, 이 중 한 가지를 선택하여야 합니다. 예를 들어 학습알고리즘 중에는 xgboost, lightgbm 등이 있습니다. 이 중 무엇이 더 좋은지는 일반화할 수 없고 그때 그때 다르기 때문에 직접 학습을 시켜 그 정확도 등을 비교해 보아야 합니다.

다음으로, 하이퍼파라미터를 튜닝해 주어야 합니다. 말이 조금 어렵지만, 사실 알고 보면 어려운 내용은 아닙니다. 하이퍼파라미터는 엄밀히 따지면 파라미터와 구분되는 용어인데, 하이퍼파라미터는 사용자가 변경 가능한 변수를, 파라미터는 데이터와 모델에 의해 확정이 되어 사용자가 임의로 변경할 수 없는 변수를 말합니다. 모델의 하이퍼파라미터를 튜닝한다는 것은 사용자가 선택한 모델의 조정 가능한 부분을 튜닝한다는 것입니다. 흔히 자동차 튜닝을 한다고 할 때, 그 튜닝의 의미와 크게 다르지 않습니다. 자동차 매니아들은 자신이 원하는 브랜드의 차를 선택한 후에 자신의 입맛에 맞게 세부적인 부분을 세팅하는데, 머신러닝의 모델에 대한 하이퍼파라미터 튜닝도 그와 같은 이치입니다.

[3] output에서는 모델이 제대로 학습하였는지 평가가 이루어 집니다. 머신러닝의 목적은 정확하게 예측하는 데 있으므로, 모델이 얼마나 정확하게 예측하였는지를 평가할 필요가 있습니다. 이 과정에서 정확도 등이 낮게 나왔다면, 데이터 전처리의 문제인지 아니면 모델링의 문제인지를 다시 재검토해야 합니다.