Notice
Recent Posts
Recent Comments
Link
«   2026/04   »
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
Tags
more
Archives
Today
Total
관리 메뉴

Elevation

ML 기초 (1) - ML 프로젝트 본문

ML, DL

ML 기초 (1) - ML 프로젝트

aste999 2025. 5. 24. 04:27

나 같은 ML 관련 전공자가 아닌 사람이 ML을 배운다면, 수학적 이론을 깊게 파는 것보다는 자신의 분야에 자유롭게 접목시킬 수 있도록 코드를 자유롭게 짤 수 있는 역량이 더 중요하지 않을까 싶다. 그래서 책과 다양한 자료를 접하면서 실전적인 내용 위주로 정리해볼 계획이다.

 

 

머신러닝의 분류

  • 지도 학습(supervised learning): 답이 있는 데이터로 훈련한다. 즉 훈련 과정에서 입력 데이터($X$)와 답($y$, 흔히 레이블이라고 부름)이 주어진다. 훈련된 모델은 기존에 보지 못한 입력값 $X'$에 대해 예상되는 답 $y'$을 출력한다.
  • 비지도 학습(unsupervised learning): 답이 없는 데이터로 훈련한다. 따라서 데이터 자체의 특징을 분석하는 데 초점이 맞춰져 있다. 예로 클러스터링(clustering)은 서로 비슷한 데이터끼리 묶어주는 역할을 수행한다.
  • 강화학습(reinforcement learning): 보상이나 처벌을 줌으로써 최대의 보상을 얻는 전략을 기계가 학습하게 하는 방법이다.
  • 그 외에도 준지도 학습, 자기 지도 학습 등이 있다.

 

 

ML 프로젝트의 흐름

  1. 데이터 수집: 프로젝트에 유용할 만한 데이터를 찾거나 직접 수집하는 과정이 필요하다. 기본적으로 머신러닝은 많은 양의 데이터를 필요로 하고, 데이터가 많을수록 정확해지는 경향이 있기 때문에 MB~TB 단위의 데이터를 보통 이용한다.
  2. 데이터 정제: 수집한 데이터는 양이 많은 만큼 보통 깨끗하지 않다. 즉 정상적인 범주를 벗어난 값인 '이상치'와 데이터가 비어 있는 '결측치'를 적절히 처리해야 한다. 또한 사용할 알고리즘에 따라 데이터를 그대로 이용하지 못하고 다른 형식으로 변환해 주어야 하는 경우도 있다. 그 외에도 성능 향상을 위해 필요없는 데이터를 버리거나 여러 개를 합쳐 보다 좋은 지표가 될 수 있는 데이터로 바꾸어 주는 작업도 진행될 수 있다.
  3. 데이터 라벨링: 지도 학습에는 레이블, 즉 정답이 필요하다. 그러나 수집한 데이터에는 원하는 정답이 포함되어 있지 않은 경우도 많기 때문에 각 데이터마다 정답을 지정해 주어야 한다. 예를 들어 암 판독 인공지능 개발을 위해 인체 영상 데이터를 수집했다고 하면, 전문의가 각 영상을 보고 암이 있는지/없는지 판독해 주는 과정을 거쳐야 될 것이다.
  4. 알고리즘 선택 및 모델 훈련: 데이터가 다 준비되었다면, 수많은 머신러닝 알고리즘 중 몇 개를 적절히 선택해 모델을 만든다. 만든 모델에 데이터를 훈련시킨다. 최선의 결과를 얻기 위해서는 보통 여러 번의 시도가 필요하다.
  5. 모델 미세 튜닝 및 최적화: 좋은 모델을 찾았다면, 마지막으로 인공지능의 성능을 최적화하기 위해 모델에 들어가는 여러 변수들(하이퍼파라미터)을 조절해 가며 최적화 과정을 거친다. 성능이 가장 높은 모델이 최종 모델로 선정된다.

출처: https://www.forbes.com/sites/cognitiveworld/2020/02/02/the-human-powered-companies-that-make-ai-work/?sh=2eb53573670c

 

실제 프로젝트에서 머신러닝 알고리즘을 선택하고, 모델을 훈련시키는 데 드는 시간은 전체 시간의 20% 정도에 불과하다. 나머지 대부분의 시간은 데이터를 수집하고, 정제하고, 라벨링하는 등의 작업에 쓰인다.

 

아무래도 머신러닝은 데이터를 기반으로 동작하는 알고리즘이다 보니, 잘 작동하는 모델을 만들기 위해서는 데이터의 양과 정확도가 생명일 수밖에 없다. 실제로 모델이 원하는 결과를 내지 못하는 많은 경우에 있어 가장 단순한 해결책은 '데이터를 더 모은다'일 정도로 머신러닝 프로젝트에 있어 데이터는 중요하다고 할 수 있다. 물론 그렇다고 머신러닝 알고리즘을 배우는 것이 중요하지 않은 것은 아니다. 머신러닝 알고리즘의 동작 원리를 잘 이해하고 있는 개발자는 데이터에 적합한 알고리즘과 각종 파라미터를 더 빠르고 정확하게 찾아낼 수 있으며, 결과적으로 더 좋은 성능의 모델을 만들어낼 수 있다.

 

'ML, DL' 카테고리의 다른 글

ML 기초 (3) - pandas 2편  (0) 2026.02.03
ML 기초 (2) - pandas  (0) 2026.02.02