일공이의 IT노트

[Machine Learning] 머신러닝이란? 본문

Data Science/Machine Learning

[Machine Learning] 머신러닝이란?

일공ILGONG 2020. 10. 9. 14:15

 

 

머신 러닝의 탄생

1950년대에 IBM에서 일하던 아서 사무엘(Arthur Samuel)이 컴퓨터에게 체스를 두는 일을 시키는 대신에 체스를 두는 방법을 학습하도록 했다는 이야기가 있다. 체스를 두는 방법을 학습하는, 즉 어떤 작업에 필요한 스킬을 학습하는 작업을 '메타(meta) 작업'이라고 하는데 이는 머신 러닝 시스템의 기초가 되는 개념이다.

 

컴퓨터는 시키는 일을 하고, 우리는 컴퓨터에 능력을 개발하라고 명령할 수 있다. 그러므로 컴퓨터는 학습할 수 있다는 것이다.

 

계산 학습 시스템(computational learning systems)에는 수많은 종류가 있는데, 이러한 종류를 다루는 학문 분야를 머신 러닝(machine learning)이라고 한다.

 

예를 들어, 한 번도 보지 못한 미지의 동물 두 마리를 찍은 사진이 여러 장 있다고 해보자. 우리에게 이 사진을 보여주며 이것이 무슨 동물인지 알려준다면, 나중에 두 동물의 새로운 사진을 보여 주어도 사진 속 동물이 무엇인지 구별할 수 있다. 이를 사례 기반 지도 학습(supervised learning from examples)라고 한다. 

 

 

 

사례 기반 지도 학습(supervised learning from examples)

 

사례를 이용해서 컴퓨터를 학습시킬 때에는 사례를 특정한 방식으로 표현해야 한다. 공통 속성들로 개별 사례를 측정하고, 측정한 속성 값을 개별 사례에 기록한다.

 

예를 들어, 다음과 같이 사람의 의료 정보 데이터셋에 환자의 키, 몸무게, 성별, 나이, 흡연 기록, 수축기 혈압, 이완기 혈압, 평시 심박수 등의 정보가 담겨 있다고 해보자.

테이블의 행은 데이터셋의 사례(example), 열은 특성(feature)이라고 한다.

 

보통 '특성'과 '속성'은 동의어로 사용한다. 좀 더 엄밀히 따지자면, '무엇이 측정되는지'를 속성, '값이 무엇인지'를 값, '측정된 값이 무엇인지'를 특성이라고 한다. 특성은 속성과 값이 묶인 것으로 보면 된다.

 

속성 값의 타입은 다음과 같이 크게 범주형과 이산형, 그리고 타깃 값으로 나뉜다.

 

 

범주형 속성은 성별 {남성, 여성}이나 인종-문화-유전적 기록 {아프리칸 아시안, 유러피언, 아메리칸 원주민, 폴리네시안}과 같이 서로 다른 그룹의 사람들을 분리하는 이산적인 값들을 말한다.

 

반면 수치형 속성은 특성 값을 숫자로 기록하여 사용하는 것을 말한다. 수치형 속성이 되려면 이 값들을 사용해서 사칙 연산을 할 수 있어야 한다. 범주형 데이터 역시 숫자로 표현할 수는 있지만, 이들 값에 수치적 연산을 직접적으로 적용할 수는 없다.

 

지도 학습을 위해서는 구체적이고 측정 가능한 목표를 선택해야 한다. 목표가 범주형이라면 관계를 학습하는 프로세스를 '분류'라고 하고, 목표가 부드럽게 변하는 수치형 값이라면 이를 '회귀'라고 한다.

 

 

지도 학습 시스템의 한계점

1. 데이터가 문제를 푸는 데에 적합한 특성을 보유하고 있어야 한다.

 

2. 데이터의 양(quantity)

데이터의 사례 수가 많으면 많을수록 좋다. 하지만 데이터에 지나치게 노이즈가 많다면 학습에 사용하기 어려울 수 있다.

 

3. 측정 오차

데이터 테이블에 담긴 모든 값이 100% 정확할 수는 없다. 측정 도구나 설문 조사 과정에서 오류가 있을 수 있다.

 

4. 일반적으로 학습에 도움이 되는 정보를 모두 알 수 없다. 

타깃이 100% 정확하게 기록되었는지 알지 못할 때도 있는데, 그렇게 되면 입력과 출력 간 관계를 파악하려고 할 때 유용한 정보를 발견하지 못할 수도 있다. 또한, 핵심적인 측정치를 누락하면 데이터에서 유의미한 관계를 찾지 못할 수도 있다.

 

 

Reference

마크 페너, <머신러닝을 다루는 기술 with 파이썬, 사이킷런>(길벗, 2020)