본문 바로가기
AI/ML

[ML] 머신 러닝 소개

by hyeok1235 2024. 7. 21.

머신러닝 정의

Machine learning is the science (and art) of programming computers so they can learn from data.

머신 러닝컴퓨터가 데이터로부터 학습할 수 있게 만드는 것입니다.

 

머신 러닝을 활용한 대표적인 예시로 스팸 필터가 있습니다.

스팸 필터를 만약 머신러닝 없이 하드코딩한다면 스팸에 자주 나오는 단어들을 찾아보고 규칙을 정의해서 필터링하게 해야 합니다. 이 경우에는 만약 스팸에 기존의 스팸 메일에 자주 나왔던 키워드들이 변형되면(스팸 메일을 보내는 사람이 규칙을 알아채거나, 사용되는 단어의 트렌드가 바뀔 수도 있기 때문), 규칙을 일일이 업데이트해야 되기 때문에 비효율적이고 어렵습니다

 

하지만 머신 러닝은 스스로 데이터를 보고 학습하기 때문에, 수고를 덜 들이면서 더 정확한 결과를 알아낼 수 있습니다. 엄청나게 많은 스팸 메일들의 복잡한 패턴들을 인간이 직접 넣어줘야 할 필요도 없을 뿐더러, 스팸 메일의 형식이 바뀌어도 그 변화를 스스로 포착해낼 수 있습니다. 그리고 대부분의 머신 러닝 모델들은 어떤 기준으로 판단했는지도 알 수 있기 때문에, 인간의 입장에서도 머신러닝 모델이 알아낸 패턴/상관관계/결과를 이해하기 쉽습니다.

 

요약하자면 머신 러닝은 기존의 문제나 접근 방식이 너무 복잡하거나, 데이터가 계속해서 변화하거나, 데이터의 크기가 너무 클 때 사용하면 좋습니다.

 

머신 러닝이 활용된 예시들 중 일부를 간단하게 언급만 하면, 다음과 같습니다.

  • 이미지 분석/분류 : CNN, 트랜스포머 사용
  • 기사 분석/분류 : 자연어 처리 사용
  • 문서 요약 : 자연어 처리 사용
  • 음성 인식 : RNN, CNN, 트랜스포머 등을 사용
  • 게임에서의 컴퓨터 봇 : 강화 학습 사용

 

머신 러닝의 유형

머신 러닝은 크게 3가지의 기준으로 분류를 할 수 있습니다. 

1) Supervision 유형 기준

2) 실시간으로 새롭게 들어오는 데이터 학습 가능 여부

3) 새로운 데이터 추론 방식 (instance based vs model based 학습)

ex) 스팸 메일 필터는 인간이 어떤 메일이 스팸인지 분류해놓았기 때문에 supervised, 메일마다 실시간으로 학습하기 때문에 online, training data로부터 예측 모델을 만들기 때문에 model-based입니다.

 

머신 러닝의 해결 과제

머신 러닝의 성능을 저하하는 요인들로 주의하고 해결해야 할 과제는 다음과 같습니다. 

  • Training 데이터 부족
  • Training 데이터의 일반화, 대표성 부족
  • 데이터 오염
  • 관계 없는 특징
  • 오버피팅/언더피팅

 

머신 러닝 평가와 검증

Training 데이터로 학습을 한 다음에 바로 결과를 얻고자 활용하는 것은 권장되는 방법은 아닙니다. 평가와 검증을 통해 머신 러닝 모델이 잘 작동하는지를 먼저 확인해야 합니다. 이러한 과정이 평가(Testing)와 검증(Validation)입니다. 이 과정에서 다루는 것은 다음과 같습니다.

  • 하이퍼파라미터 튜닝
  • 모델 선택
  • 데이터 불일치

 

각 섹터에 대해서 자세한 내용은 추후 링크로 달아두겠습니다. 

 

728x90
반응형

'AI > ML' 카테고리의 다른 글

[ML] 모델 파인튜닝  (0) 2024.08.14
[ML] 데이터셋 준비  (0) 2024.08.13
[ML] 모델의 평가와 검증 (Test, Evaluation)  (0) 2024.07.26
[ML] 머신 러닝의 성능 저하 요인  (1) 2024.07.24
[ML] 머신 러닝 유형  (1) 2024.07.23