본문 바로가기

AI ML/ML

<ML기초> 지도학습 | 비지도학습 | 강화학습

1. 지도학습

 - 지도학습(Supervised Learning)은 과거의 데이터로부터 학습하여 결과를 예측하는 머신러닝의 한 분야이다. 이 때, 학습에 사용되는 데이터는 원인인 독립변수과 결과인 종속변수로 이루어져 있어야 한다. 지도학습에서 데이터를 훈련시키면 모델을 만들 수 있게 된다.

 

  - 아래 테이블은 이전 장에서 봤었던 아이스크림 판매량 데이터 세트이다.

 - 위 데이터를 학습시키면 "판매량 = 온도 * 2" 라는 식의 모델을 만들어낼 수 있다. 이처럼 독립변수와 종속변수의 관계를 학습시키면 컴퓨터는 그 관계를 설명할 수 있는 공식을 만들고, 이를 '모델'이라 한다. 이 공식으로 우리는 다음의 결과를 예측할 수 있다.

 

 - 이 지도학습은 크게 회귀(regression)와 분류(classification)로 나뉜다.

 

* 회귀

 - 회귀는 예측하고 싶은 종속변수가 숫자일 때 주로 사용하는 머신러닝의 방법이다. 예를 들어, 공부시간에 따른 시험점수를 예측하려면 사람들의 공부시간과 그에 따른 점수 데이터를 학습시켜야 한다. 또한, 집과 역까지의 거리에 따른 집값 예측도 회귀 모델을 사용할 수 있다.

 

 - 참고로 데이터 산업에서는 숫자라는 표현보다는 '양적'이라는 표현을 많이 사용한다. 정도를 표현하는 데이터는 앞으로 양적(Quantitative)데이터라고 표현하자.

 

 

* 분류

 - 분류는 앞선 장의 티처블머신이 좋은 예시이다. 새로운 강아지나 고양이 이미지를 보고 강아지인지 고양이인지 분류할 수 있게 모델을 생성했었다. 이것이 분류의 좋은 예시인 이유는 과거에 만든 데이터를 통해 배운다는 점과, 독립변수와 종속변수로 이루어져있다는 점에서 지도학습이기 때문이다. 그러나 결과는 숫자가 아닌 '고양이' '강아지'와 같은 이름이다.

 

 - 우리가 추측하고자 하는 결과가 위처럼 이름 혹은 문자라면 지도학습 중 분류가 어울린다. 예를 들자면, 공부시간에 따른 시험합불여부나 어떤 사람의 행동이나 체온 등에 따른 코로나 양성여부를 판단할 수도 있겠다.

 

 - 참고로 데이터 산업에서는 이름이라는 표현보다는 범주(Categorical)라는 표현을 많이 사용한다.

 

 

2. 비지도학습

* 군집화

 - 군집화는 영어로 'clustering'이라고 한다. 그룹을 만드는 것이 군집화인데, 그룹을 만든 후에 아이템을 적당한 그룹에 위치시키는 것은 '분류'이다.

 

 - 위의 표를 군집화시킨다고 가정하자. 표만 보고는 쉽지 않으므로 이를 좌표평면에 나타내보았다. 좌표평면을 보면 가까운 것들끼리 묶을 수 있겠다는 느낌이 든다. 이를 묶고 표로 나타내면 다음과 같다.

 

 - 지금은 우리의 눈으로 군집화가 바로 가능해보이지만 데이터의 수가 많아지면 불가능에 가까울 것이다. 이럴 때 필요한 도구가 머신러닝의 비지도학습 중 군집화이다. 수천만개의 관측치를 입력하고 100개의 클러스터가 필요하다고 말하면 군집화를 통해 100개의 군집을 만들 수 있을 것이고, 비슷한 행을 그룹화하는 것이 가능해진다.

 

 - 군집화의 예시를 생각해보면 우리가 흔히 아는 MBTI와 같은 성격분류에 사용할 수 있겠다.

 

* 연관규칙

 - 연관규칙학습은 'Association rule learning' 이라고 하며, 장바구니 학습이라고도 불린다.

 

 - 위와 같은 온라인 쇼핑몰 판매내역이 있다고 가정하자. 연관성을 파악한다면 우리는 고객이 구매할 가능성이 매우 높은 상품을 추천해줄 수 있다. 위의 표를 보면 떡볶이 떡을 산 고객은 고추장을 구매한 것을 알 수 있다. 즉 연관성이 매우 높다. 만일 떡볶이 떡을 산 고객이 있다면 고추장을 추천해준다면 살 확률이 매우 높을 것이다.

 

 - 위의 예시에서는 쉽게 연관성을 찾을 수 있지만 현실에서 제품의 종류와 주문량은 어마어마할 것이다. 이럴 때 연관성을 찾으려면 비지도학습 중 연관규칙학습이 적절하다.

 

 - 쇼핑추천, 영화추천, 검색어추천, 동영상추천 등 '추천'이 들어간 것들은 주로 연관규칙학습을 통해 구현되어 왔다. 최근에는 연관규칙 학습 외에도 많은 방법을 통해 추천 성능을 높이고 있다.

 

 - 정리해보면 관측치(행)들을 그룹화하는 것은 군집화, 특성(열)을 그룹화하는 것은 연관규칙이다.

 

3. 강화학습

 - 강화학습(Reinforcement Learning)은 머신러닝의 한 분야로, 에이전트가 환경과 상호작용하며 보상을 최대화하기 위한 행동을 학습하는 방법이다. 이를 통해 에이전트는 주어진 문제를 스스로 해결하고 최적의 해답을 찾을 수 있다.

 

 - 장애물 피하기 게임으로 비유해보자. 장애물 피하기 게임을 하는 게이머는 현재의 상태를 관찰하고, 결과에 따라 게임을 조작하는 행동을 할 것이다. 게임에서는 판단이 필요하며, 이를 통해 게임의 실력을 차근차근 향상시키게 된다. 이 때, 게이머는 장애물에 부딪히지 않으면 점수가 오르고 부딪히면 점수가 떨어지거나 게임오버 상태가 된다. 이러한 상벌은 강화학습에서는 보상(reward)라고 부른다. 강화학습에서는 게이머가 에이전트이다. 상태(state)에 따라 더 많은 보상을 받는 행동(action)을 에이전트가 하도록 정책(policy)을 만드는 것이 목적이다. 이제 용어를 정리해보자.

  • 환경(environment) : 에이전트가 상호작용하는 대상
  • 에이전트(agent) : 학습을 수행하는 대상
  • 상태(state) : 에이전트가 관찰하는 현재 상황
  • 보상(reward) : 에이전트가 특정 행동을 할 때 받는 보상
  • 정책(policy) : 에이전트가 상태에 따라 선택할 수 있는 행동을 결정하는 규칙
  • 행동(action) : 에이전트가 취할 수 있는 행동

 - 강화학습은 어디에 이용될 수 있을까. 강화학습은 자동차의 주차능력을 향상시키는데 쓰일 수 있으며, 로봇이 농구공을 골대에 넣는 등 다양한 분야에 적용될 수 있다. 또한 게임을 하는 인공지능을 만드는데에도 사용될 수 있다.

 

 


참고

 

 해당 포스팅은 생활코딩 머신러닝 이론편을 읽고 개인적으로 필요한 내용을 추가 및 정리한 글입니다.

 

 

 

생활코딩 머신러닝 이론편 - YES24

누구나 이해할 수 있는 모두의 인공지능 입문서!인공지능은 현대인이라면 교양과 상식으로 누구나 알아야 합니다. 초등 교육 과정을 비롯해 아이들의 정규 교육 과정에도 포함될 예정이라고 합

www.yes24.com

 

 

 

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

<ML기초> 통계와 머신러닝 분류  (0) 2023.05.17
<ML기초> 머신러닝이란  (0) 2023.05.15