본문 바로가기
DS & AI/ML

[머신러닝/ML] 머신 러닝 기초 - 1 (개념과 예시)

by 뒹굴거리는프로도 2023. 2. 15.
반응형

 

 

기계 학습의 정의


사전적 의미의 학습이란 경험의 결과로 나타나는, 비교적 지속적인 행동의 변화나 그 잠재력의 변화, 또는 지식을 습득하는 과정을 말합니다. 

그렇다면 기계 학습이란 무엇일까요? 바로 특정한 응용 영역에서 발생하는 데이터들을 이용하여, 높은 성능으로 문제를 해결하는 컴퓨터 프로그램을 만드는 작업을 뜻합니다.

컴퓨터는 사람이 어려워하는 일을 쉽게 하지요. 하지만 1950년대의 컴퓨터는 계산은 잘하지만 얼굴을 구분하는 등의 인식하는 일은 못 했다고 해요. 그런데 이 시기에 컴퓨터 전망에 관해 통찰력이 있던 몇몇 사람들은 ‘인공지능’이라는 단어를 만든 뒤, 컴퓨터가 사람 얼굴을 구분하는 일, 문자 인식과 같은 패턴 인식을 하도록 연구하였습니다.

연구 초반 사람들은 지식기반, 규칙 기반 방식으로 패턴 인식에 접근했다고 해요. 지식기반 방식이란, 사람들이 인식할 때 사용할 것으로 보이는 지식을 프로그램에 이용하는 건데요. 예를 들면 컴퓨터가 단추를 인식하도록 하기 위해 단추의 모양, 색깔, 그림자 등의 지식을 프로그램 설계에 이용하는 거예요. 하지만 사람이 일일이 물체에 대해 규칙을 만들어 주어야 하므로 복잡도가 너무 높았고, 연구자들은 한계를 깨닫기 시작해요.

그리고 규칙을 일일이 만들어 프로그램에 심는 방식 대신, 데이터를 충분히 수집하여 입력하는 방식을 채택합니다.
예를 들면 단추에 대한 수많은 사진을 기계 학습 알고리즘에 넣는 거예요. 이렇게 기계 학습은 인공 지능의 핵심 기술이 됩니다.

 

기계 학습 관련 개념과 예시


[그림-1, 아주 간단한 기계 학습의 예]

 

아주 간단한 예를 통해 기계 학습의 개념을 알아봅시다!
그림-1 을 한번 볼까요? 가로축은 시간, 세로축은 이동체의 위치라고 가정해 보아요.

가로축(시간)에서 2, 4, 6, 8인 점을 샘플링하여 세로축(이동체의 위치)을 측정한 결과, 3, 4, 5, 6인 값 4개를 얻었다고 가정합시다.
이때 우리는 특정 시간에 대한 이동체의 위치를 예측하는 문제를 풀어야 합니다.

기계 학습은 바로 이러한 형태의 예측 문제를 풀어줍니다. 
예측에는 회귀와 분류가 있으며, 위의 예처럼 실숫값을 예측하는 문제를 회귀(regression)라고 하고,
단추 인식처럼 부류를 예측하는 문제는 분류(classification)라고 합니다.

이제 가로축을 입력 또는 입력 패턴, 세로축을 출력 또는 목푯값(target value)이라고 부릅시다.
기계 학습에서는 가로축에 해당하는 패턴을 특징(feature)이라고 하는데요, 앞으로 특징을 x, 목푯값을 y로 표기하겠습니다.

오늘 설명한 그림-1에서는 특징이 한 개였지만, 대부분 두 개 이상의 특징으로 구성되는 특징 벡터(feature vector) 형태를 띠므로, 스칼라 표기인 x가 아니라 벡터 표기인 X(두꺼운 엑스)를 사용하겠습니다.

아래 이미지 그림-2를 확인해 주세요!
여러 개인 특징 벡터와 목푯값 쌍을 구분하기 위하여 아래 첨자를 이용하여 표기할 수 있어요. x 문자 아래에 1,2,3,4를 표시하고 y 문자 아래에 1,2,3,4를 표시하는 것이지요. 
기계 학습에 주어질 그림-1의 이 네 개의 쌍은 학습 집합(learning set) 또는 훈련 집합(training set)이라고 합니다.

 

[그림-2, 훈련 집합 표기 예시]

 

훈련 집합의 분포를 직선 모델로도 표현할 수 있는데요, 이것을 기계학습에서는 ‘모델로 직선을 선택했다.’라고 합니다.
점들이 좀 더 복잡한 비선형 분포를 이룬다면 2차 곡선 또는 더 높은 차수의 곡선을 모델로 선택해야 합니다.

직선 모델은 식 y = wx + b로 표현할 수 있습니다.
이 식의 w, b는 매개변수(parameter)라고 합니다.

기계학습이란, 가장 정확하게 예측할 수 있는, 즉 최적의 매개변수값을 찾는 작업입니다. 
식 y = wx + b 을 통해 표현하자면 w = 0.5, b = 2.0 이 최적의 매개변수이고, 그림-1에서는 f3에  해당합니다.

처음에 최적의 매개변숫값을 알 수 없었지만, 임의의 값으로 설정하여 f1이 되었는데 f2를 걸쳐 최적의 매개변수에 도달했다면, 즉 성능을 개선하면서 최적의 상태에 도달했다면 이 작업을 학습(learning) 또는 훈련(training)이라고 합니다.

학습 과정을 마치면, 이 학습된 모델을 이용하여 예측이 가능합니다. 예를 들어 10이라는 시간에서 이동체의 위치를 알고 싶다면, 그림-1의 f3의 식에 값을 집어넣고 7을 출력할 수 있습니다. 이처럼 훈련 집합에 없는 새로운 샘플에 대한 목푯값을 예측하는 것을 테스트(test)라고 합니다.

기계 학습 최종 목표는, 훈련 집합에 없는 새로운 샘플값에 대해 오류를 최소화하는 것입니다.
새로운 샘플을 가진 데이터를 테스트 집합이라고 하는데요, 테스트 집합에 대해서 높은 성능을 가진 것을 일반화 능력(generalization)이라고 합니다. 그리고 훈련 집합과 테스트 집합을 합쳐 데이터 베이스라고 부릅니다.

 

 


 

 

 

반응형