ML

[ML] 머신러닝 기초 (1) 머신러닝 소개

moonzoo 2024. 1. 29. 23:20

 

머신러닝 공부를 시작하며...

 

데이터 사이언티스트, AI 엔지니어, ML 엔지니어 직무를 준비하면서 학부 시절에 배운 머신러닝, 딥러닝 기초 이론들을 많이 잊어버린거 같아 다시 기초부터 다지고자 합니다. 다음과 같은 커리큘럼으로 블로그 글을 작성해보려고 합니다.

 

1. 머신러닝 기초 이론

2. 딥러닝 기초 이론

3. NLP 전통적인 논문 리뷰 및 구현

4. LLM 논문 리뷰 (현재 리소스로 구현이 가능하다면.. 구현까지)

5. NLP 분야 최신 논문에서 구현체가 없는 모델 구현

 

NLP 도메인에 대한 관심으로 공부를 시작하는 것이기 때문에 논문을 읽고 소스코드 없이 구현할 수 있는 수준까지 역량을 키워볼 생각입니다. 그럼 머신러닝 기초 이론부터 다뤄보겠습니다.

 

학부 시절에 사용한 머신러닝 교재를 모두 버린 상태라서 어떤 강의를 듣는게 좋을까 찾아보다가 메타코드에서 유튜브에 올려준 강의를 듣고, 해당 내용을 정리하기로 결정했습니다. 앞으로 제가 작성하는 글의 사진, 자료들은 대부분 메타코드의 머신러닝 기초 1편 강의와 자료에서 가져온 것입니다.

https://www.youtube.com/watch?v=oyzIT1g1Z3U

 


그럼 강의를 들으면서 정리를 시작해보겠습니다.

 

인공지능(AI)란?

 

인공지능 > 머신러닝 > 딥러닝

 

인공지능은 가장 큰 개념으로 머신러닝과 딥러닝을 포함하며, 머신러닝은 딥러닝을 포함하는 개념입니다.

 

인공지능 : 사람을 흉내낼 수 있는 기술, 알고리즘

 

머신러닝 : 전문가가 준 데이터를 기계가 학습하는 것. 통계적이고 작은 모델을 사용한다.

 

딥러닝 : 전문가가 준 데이터를 기계가 학습하는건 머신러닝과 동일하나 크기가 큰 신경망 구조를 가진 기계를 사용.

 

딥러닝의 경우 학습을 최적화 시켜야하는 파라미터 수가 많아 모델의 사이즈가 굉장히 커지게 되는데, 그만큼 더 좋은 모델을 만들 수 있습니다. 하지만 파라미터를 크게하려면 많은 데이터연산을 빠르게할 수 있는 장치가 필요해 이전에는 각광받지 못했으나, 기술의 발전으로 딥러닝이 주목받고 있습니다.


머신러닝?

머신러닝은 단어 그대로 기계를 학습하는 것입니다.

 

머신? : 인간이 제공한 데이터에 존재하는 관계를 표현할 수 있는 모델 (=함수)

 

학습? : 데이터를 가장 잘 표현할 수 있는 모델을 찾는 것(=모델의 파라미터 최적화)

 

어떻게? : 통계적인 방법 혹은 경사하강법을 이용해 최적의 파라미터를 찾음

 

어떤 형태의 데이터가 머신에게 주어지는지에 따라 다음의 세부 분야들로 분류됩니다.

위의 세가지의 예시가 어떤 차이점이 있는지 설명하기 전에 머신러닝에서 피처(Feature)와 라벨(Label)의 개념에 대해 먼저 설명드리겠습니다. 피처와 라벨은 머신러닝 모델을 훈련시키고 예측을 생성하는데 사용되는 데이터의 주요 구성 요소입니다.

 

피처(Feature)

 

피처는 데이터의 개별적인 구성 요소로서, 머신러닝 모델이 입력으로 사용하는 변수들을 의미합니다. 이들은 모델이 패턴을 학습하고 예측을 만들기 위해 분석하는 데이터의 특성들입니다.

  • 예시: 야구선수의 연봉(라벨)을 예측하는 모델을 만든다고 할 때, 야구선수의 타율, 연차, 경기 수 등은 모두 야구선수의 연봉(라벨)을 예측하는 데 도움이 되는 피처들입니다.
  • 종류: 피처는 수치형(연속적인 값), 범주형(제한된 범위의 값), 이진형(예/아니오 같은 두 가지 값), 텍스트 데이터 등 다양한 형태를 가질 수 있습니다.
  • 중요성: 피처의 선택과 처리는 모델의 성능에 큰 영향을 미칩니다. 잘못 선택되거나 처리되지 않은 피처는 모델의 정확도를 떨어뜨릴 수 있습니다.

라벨 (Label)

라벨은 머신러닝에서 모델이 예측하려고 하는 대상입니다. 즉, 머신러닝 모델이 예측하는 출력값입니다.

  • 지도학습: 라벨은 지도학습에서 중요한 개념입니다. 지도학습에서는 입력 피처와 함께 라벨이 제공되며, 모델은 이 라벨을 정확하게 예측하도록 학습됩니다.
  • 예시: 야구선수의 연봉을 예측하는 모델의 경우, 실제 야구선수들의 연봉라벨이 됩니다. 이를 통해 모델은 야구선수의 정보(피처)를 기반으로 연봉(라벨)을 예측하는 방법을 학습합니다.

머신러닝 모델은 피처를 사용하여 라벨을 예측하는 방법을 학습합니다. 이 과정에서 모델은 피처와 라벨 사이의 관계를 이해하고, 새로운 데이터에 대해 정확한 예측을 할 수 있게 됩니다. 

 

비지도학습, 지도학습, 강화학습에 대해 설명 드리기 전에 피처와 라벨에 대해 자세하게 설명을 드린 이유는라벨이라는 정답지가 존재하느냐 하지 않느냐에 따라 비지도학습지도학습을 구분하기 때문입니다.

 

  • 지도학습 : 데이터에서 라벨이라는 정답지가 존재하는 상황
  • 비지도학습 : 정답지가 존재하지 않는 상황. EX) 클러스터링(군집화), 차원축소
  • 강화학습 : State(상태)reward(보상)이 존재하는데 보상을 키워주는 방향으로 모델을 최적화 시키는 것

물론 정답지가 있는 지도학습이 성능이 좋을 것이지만 머신러닝 트렌드정답이 없는 상황에서 어떻게 모델을 학습할 수 있을까?로 트렌드가 변하는 중입니다. 대부분의 현업에서 데이터는 라벨이 없습니다. 라벨링을 진행하는 작업은 시간과 비용이 많이 들지비지도학습은 라벨이 필요 없기 때문에 이러한 데이터를 활용할 수 있으며 시간과 비용을 절약할 수 있기 때문에 각광받고 있습니다.

 


여기까지 작성하고 글을 마치고 다음 글 부터는 머신러닝 기초수학 이론으로 찾아오면서 본격적으로 머신러닝 이론에 대해 정리해보도록 하겠습니다.