본문 바로가기

Study/ML DS

머신러닝이란?

머신 러닝의 일반적 정의

머신 러닝이란 인공 지능을 구현하기 위한 방법 중의 하나로, 외부 입력에 대해 올바른 출력을 내도록 컴퓨터를 학습 시키는 프로세스다. 그런데 위의 정의는 뭔가 부족하다. 외부 입력에 대해 올바른 출력을 내도록 하려면, 사용자가 프로그램을 구현할 수도 있다.

 

예를 들어, 임의의 사진을 입력 받으면 이 사진이 사과인지 아닌 지를 판별하는 프로그램이 있다고 하자. 사용자가 직접 프로그램을 구현한다고 하면, 사용자가 조건을 직접 입력하여 사과를 가려내는 알고리즘을 만들어 내야 할 것이다.

https://kr.freepik.com/free-photo/apples-red-fresh-mellow-juicy-perfect-whole-on-white-desk_8077501.htm

머신 러닝을 사용한다면 어떨까? 사용자가 사과를 가려내는 알고리즘을 만들 필요 없이, 컴퓨터가 사과 사진에 대하여 학습을 한다. 사용자가 컴퓨터에게 제법 많은 사과 사진 자료를 주어 학습을 시킨다고 하는 편이 맞겠다. 그 학습 경험을 바탕으로 컴퓨터는 사과인지 아닌 지를 가려낸다.

 

일반적으로, 머신 러닝에 대하여 다음과 같이 정의할 수 있다.

"머신 러닝은 명시적인 프로그래밍 없이 컴퓨터가 학습하는 능력을 갖추게 하는 연구 분야다."
- Arthur Samuel, 1959, (핸즈온 머신러닝에서 발췌)

머신 러닝을 사용하는 이유

위의 사과와 관련된 예시처럼, 사람이 프로그램을 만들면 조금 다르거나 새로운 사과 사진이 나오면 항상 수동적으로 코드를 수정해 주어야 한다. 또한 문제의 변수가 따질 수 없을 정도로 많고 복합적인 경우 기계 학습을 활용할 수 있다. 

편리하고 유능하니까. 

머신 러닝의 활용 분야

머신 러닝이 현재 아주 활발하게 연구되고 있고, 또한 활용 분야가 무궁무진하다는 것은 웬만큼 미디어에 노출이 된 사람이라면 누구나 알고 있을 것이다. 다만, 대표적인 활용 분야는 아래와 같다.

 

  • 음성 인식: Ex) Alexa, Siri, Bixby. 자연어 처리(NLP)를 활용하여 사람의 목소리를 이용하여 기계에 명령을 내릴 수 있도록 하는 서비스.
  • 이미지 분류: 뇌를 스캔하여 종양을 진단하거나, 쓰레기 분리수거에 활용할 수 있다. 합성곱 신경망(CNN)을 주로 활용한다. 
  • 부정 금융 거래 감지: 이상치 탐지 작업. 인간이 감시하기 어려운 방대한 양의 데이터를 감시한다.
  • 추천 및 마케팅: 쿠키 등의 고객 및 사용자 정보를 기반으로 상품을 추천한다.
  • 지능형 게임 봇: 알파고와 같이 인간을 상대로 게임을 플레이. 강화 학습을 활용한다.

머신 러닝 시스템의 종류

머신 러닝 시스템의 종류는 생각보다 방대하다. 아래와 같이 넓은 범주에서 분류할 수 있다.

 

  • 사람이 훈련을 감독하는가?
    • 지도, 비지도, 준지도, 강화 학습
  • 실시간으로 점진 학습을 하는가?
    • 온라인 학습, 배치(Batch) 학습
  • 데이터셋의 패턴을 기반으로 예측 모델을 만드는가?
    • 사례 기반 학습, 모델 기반 학습 

 

참고 문헌: 핸즈온 머신러닝(오렐리앙 제롱, 박해선)