ETC/AI

기계학습, 분류⦁회귀⦁군집, 기계학습의 유형

범데이 2022. 1. 16. 16:11
728x90

기계학습

기계학습(Machine Learning, 머신러닝)은 인공지능의 한 분야로 컴퓨터가 학술할 수 있는 능력을 지닌 알고리즘과 응용 기술을 개발하는 분야를 말한다. 아서 사무엘(Arthur Lee Samuel)은 기계학습을 '컴퓨터가 명시적으로 프로그램되지 않고도 학습할 수 있도록 하는 연구 분야'라고 정의하며 프로그래머가 일일이 코딩을 하지 않고도 기계가 스스로 특징을 찾아 현실의 사물이나 이미지를 구별할 수 있는 기능을 제공한다고 했다.

 

기계학습은 데이터를 이용한 모델링의 형태이다. 데이터는 실세계의 객체과 사실들을 감각 기관(센서, Sensor)으로 받아들인 것이다. 즉, 숫자, 문자, 그림, 소리, 음악, 영상, 촉각, 맛, 기온, 느낌, 현상 등 입력받는 모든 것이 자료이다. 이러한 입력 데이터가 무엇이고 문제해겨로가 생존에 어떻게 유리하게 적용할 것인지를 설정하는 것이 모델링이다. 인간은 뇌를 통해 모델링 작업을 한다 .기계도 센서로부터 입력받은 데이터를 갖고 모델링하는 작업을 하는데, 이것이 바로 기계학습의 과정이다. 기계학습의 모델링은 입력 데이터와 출력 조건을 주면 컴퓨터가 특징을 찾아 스스로 규칙을 학습하게 된다 .

출처: https://bi.snu.ac.kr/~scai/Courses/ML2017/ch1.pdf

컴퓨터는 데이터를 입력하면 연산과 제어 알고리즘을 거쳐 출력을 내놓는다. 기계학습은 반대로 데이터와 원하는 결과를 넣으면 데이터를 결과로 바꿔주는 알고리즘을 만들어 출력을 내놓는다. 이렇게 학습한 알고리즘으로 새로운 데이터를 입력하면 그에 맞는 추론을 통해 예측값을 출려갛게 된다.

 

예를 들어, 기존 컴퓨터를 활용해 나누기를 계산하는 프로그램의 경우, 사람이 입력 숫자와 나누기 연산자를 활용해 결괏값을 계산할 수 있도록 알고리즘을 작성하지만, 기계학습의 경우 문제와 정답을 활용해 컴퓨터가 스스로 학습해 함수를 찾는다. 따라서 새로운 데이터가 입력되면 함수를 이용해 계산 결과를 출력하게 된다.

 

카네기 멜론 대학의 기계학습 연구자인 톰 미첼(Tom Mitchell)은 "만약 어던 작업 T에서 경험E를 통해 성능 측정 방법인 P로 측정했을 때 성능이 향상된다면 이런 컴퓨터 프로그램은 학습한다고 말한다." 라고 했다.

 

위 수식의 경우로 살펴보면 작업 T는 나눗셈의 몫 구하기, 경험 E는 입력값이고 성능 P는 수식이 정확한 확률이 된다. 정답인 나눗셈의 몫 값을 찾으면 이 프로그램은 "학습한다." 라고 정의할 수 있다는 것이다.

 

여기에서 컴퓨터가 학습한다는 말이 컴퓨터가 스스로 공부하는 것처럼 느껴질 수 있지만, 컴퓨터라는 기계가 인간의 문제해결 과정을 흉내내어 '학습하는 것처럼 보인다.' 라는 뜻으로 이해하면 된다. 즉, 은유적 표현으로 접근하는 것이 좋다.

 

 

기계학습과 분류⦁회귀⦁군집

인간의 학습을 인공지능의 기계학습으로 설명하기에는 여러 가지 오해와 이해에서 한계가 발생한다. 기계에서의 학습을 명쾌하게 설명하기 위해 계산적인(Computational) 방법, 즉 수학에서 사용하는 용어 중 계산 관련된 용어를 사용하며 그 의미가 명확해질 것이다. 기계학습을 수학적으로 정의하면 회귀(Regression), 분류(Classification), 군집(Cluster)이라고 말할 수 있다.

 

분류와 군집은 2개 이상의 그룹으로 나누는 것이고, 이 둘의 차이는 이미 분류된 기준이 레이블링으로 정의가 돼서 알고 있는 것을 나누는 것인지(분류), 레이블링 없이 모르는 것을 개연적인 특징에 의해 나누는 것인지(군집)의 차이다.

 

이미 정의됐다는 것은 이름이 붙어 있다는 의미이고 레이블링(Labeling)이라 한다. 우리는 사과 vs 배, 남자 vs 여자, 사자 vs 호랑이 등으로 이름을 정의하고 과일과 성별, 동물을 구분할 수 있다. 이때 사용하는 학습 방법이 바로 '분류(Classification)'이다. 

 

이를 위해 우리는 사전에 부모나 교사의 지도를 통한 학습해야 한다. 이름이 붙은(레이블링이 된) 데이터셋이 있어야 하고 훈련을 통해 그것이 무엇인지 알고 있어야 새롭게 입력된 자료를 분류된 하나로 인식할 수 있게 된다.

 

하지만 우리가 아마존 저글에서 생전 보지도 못한 동물이 등장해 위험한 동물 vs 안전한 동물로 구분한다거나 생소한 과일 중에서 식용 과일 vs 독성 과일로 구분해야 하는 경우가 있다. 이때 우리는 생존을 위해 모르는 동물이나 생소한 과일의 특징을 면밀하게 살펴보고 결정해야 한다. 이때 바로 먹어도 되는 과일류, 안전한 동물류 등을 구분하는 것과 같은 방법이 '군집화(Clustering)'라고 할 수 있다.

 

회귀(Regression) 문제는 기존에 알고 있는 데이터를 바탕으로 앞으로 일어날 사건이나 기존의 사건을 추론하는 학습 방법이다. 이것은 통계적으로 분석하는 방법으로 남성보다는 여성이 치마를 선호한다거나 여름이 되면 자연스레 비가 많이 오고 태풍이 온다는 것을 예측하는 회귀의 사례가 되겠다.

 

기계학습을 이해하거나 구현할 때 해결해야 할 분야와 작업이 회귀 문제인지, 분ㄹ튜인지, 군집 문제인지 이해하는 것이 올바른 알고리즘을 선택하는 데 중요하다. 

 

기계학습의 유형

앞에서 살펴본 것처럼 사람이 학습하는 방법은 크게 세 가지로 구분된다. 교사나 엄마를 통해 지도를 받는 방법. 세상의 관찰과 경험을 통해 스스로 학습하는 방법, 자신의 행동에 대해 환경으로부터 유리한 결과를 얻는 방법이다. 이와 마찬가지로 기계학습도 크게 지도학습, 비지도학습, 강화학습으로 나눌 수 있다. 입력하는 데이터에 레이블(명시적인 정답)을 주느냐, 주지 않느냐에 따라 지도, 비지도학습으로 구분한다. 지도학습과 비지도학습의 중간에 위치하는 강화학습은 행동(상태)의 변화 후에 환경으로부터 보상을 받아 학습한다. 최근 딥러닝의 발전으로 인해 강화학습이 결합된 형태로 발전해 인공지능의 강력한 기계학습 방법이 됐다.

 

출처: https://busy.org/@urobotics/5bksow

지도학습 알고리즘은 주어진 훈련 데이터를 통해 이전에는 보이지 않던 데이터 패턴을 찾는다. 지도학습의 목표는 우리가 인식하는 형태로 기계에 맵핑 기능을 제공하는 것이다. 충분한 데이터(예제)가 제공되면 지도학습 알고리즘은 명확한 프로그래밍이나 지시 없이도 데이터의 패턴을 인식하고 응답하는 방법을 학습하게 된다. 지도학습은 일반적으로 분류 작업에 사용되며 여기에서 입력된 데이터를 2개 이상의 영영(예 - 합격/불합격, 동의/중립/반대 등)으로 나눠 분류하거나 새롭게 입력받은 데이터의 추세가 어디에 포함되는지 예측하는 회귀 작업을 한다.

 

비지도학습은 알고리즘에 입력 데이터만 제공하고 데이터의 패턴을 스스로 식별한다. 비지도학습의 목표는 알고리즘이 데이터에서 기본 패턴 또는 특징을 식별해 이를 더 잘 이해하는 것이다. 비지도학습은 관찰, 경험 및 유추를 통해 인간이 실생활에서 배우는 방법에 더 가깝다. 비지도학습은 군집 문제에 적합하다.

 


#References

한선관, 류미영, 고태령, 고병철, 서정원, 놀랍게 쉬운 인공지능의 이해와 실습, 성안당(2021), p90-98.

반응형

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

인공지능의 불확실성 & 베이지안 정리  (0) 2022.01.16