본문 바로가기
바삭한 인공지능

바삭한 인공지능(비지도 학습 / 강화학습)

by Oceanlighth AI 2023. 1. 17.

목차

1. 머리글

2. 비지도학습이란?

3. 비지도학습의 종류

4. 군집화 알고리즘의 종류

5. 시각화 및 차원축소 알고리즘의 종류

6. 연관규칙학습 알고리즘

7. 강화학습

8. 강화학습과 지도/비지도학습의 차이

9. 마치며

 

안녕하세요. 오션라이트에이아이 백승기연구원입니다. 

머리글

 

오늘은 비지도학습(Unsupervised Learning)에 대해서 알아보겠습니다.

 

비지도학습이란?

 

비지도학습이란 주어진 데이터(X)에 대한 레이블(Y)을 사용자가 정해주지 않고 컴퓨터가 X에 대한것만 학습한 뒤, 학습한 결과를 토대로 컴퓨터 스스로 상관관계나 특성을 찾아내게 하는 방법을 말합니다.

그림 1. 비지도학습

 

 

그림 1.과 같이 Input Data에 대해 라벨링을 제공하지 않고 컴퓨터가 학습을 통해 스스로 데이터들의 특성을 파악해서 비슷한 특성을 가진 것들끼리 묶어서 군집화를 진행합니다.

비지도학습의 종류

 

군집화(Clustering)
  • 데이터들의 특성을 고려해 데이터집단(Cluster)를 정의하고, 데이터 집단을 대표할 수 있는 중심점을 찾는 알고리즘
  • 데이터의 특성이 다를 경우에는 각각 다른집단에 속해야 함
시각화 및 차원 축소
  • 대규모의 고차원 데이터를 도식화 가능한 2D난 3D로 시각화 하는 알고리즘
  • 상관관계가 겹치는 특성들을 합쳐 차원을 축소해 나감
연관규칙 학습
  • 대량의 데이터에서 특성 간의 흥미로운 관계를 찾는 알고리즘
  • 관계가 없어보이는 특성들을 분석하고 새로운 상관관계를 찾아냄

 

군집화 알고리즘의 종류

 

데이터들을 군집화 하는 알고리즘에는 다음과 같이 설명할 수 있습니다.

 

그림 2. 군집화 알고리즘

 

 

시각화 및 차원축소 알고리즘의 종류

 

다음은 시각화 및 차원축소 알고리즘의 종류에 대해서 알아보겠습니다.

그림 3. 시각화 및 차원축소 알고리즘

 

연관규칙학습 알고리즘

 

연관규칙 학습의 대표적인 알고리즘은 Apriori Algorithm, FP-growth Algorithm, DHP Algorithm 등이 있습니다. 

 

그 중에서 비교적 구현이 간단하고 성능이 높은 Apriori Algorithm에 대해서 알아보겠습니다.

 

 Apriori Algorithm은 최소지지도 이상을 가지는 항목집합을 추출하는 것이 기본원리입니다. 

 

모든 항목집합에 대한 계산을 줄이기 위해서 최소 지지도를 정하고, 정해놓은 최소지지도 이상의 값만 찾은 후 연관규칙을 생성하게 됩니다.

 


각각의 알고리즘에 대한 자세한 설명은 추후, Code 분석글을 통해 알아보도록 하겠습니다.


강화학습(Reinforcement Learning)

그림 4. 강화학습(Reinforcement Learning)

강화학습은 주어진 환경(Environment)에서 주체(Agent)가 더 높은 보상(Reward)를 위해서 최적의 행동(Action)을 취해서 가중치와 편향을 학습해나가고, 최종적으로 가장 높은 보상을 얻을 수 있는 행동(Action)이 무엇인지 학습해나가는 과정을 알고리즘으로 만든 것입니다.

 

강화학습과 지도/비지도학습의 차이

 

그럼, 강화학습과 지도/비지도학습의 차이는 어떤것이 있을까요?

 

먼저 우리가 앞서 배웠던 지도학습의 경우에는, 적절히 분류된(Labeled) 데이터를 제공받아서 학습하고, 그 학습을 토대로 새로운 값에 대한 예측을 하는 것이였습니다.

그에 반해, 강화학습은 분류된 데이터가 아닌 환경과의 상호작용을 통해 얻은 보상(Reward)으로부터 학습을 하는 차이를 보입니다.

 

비지도학습은 분류되지 않은 데이터의 상관관계나 특성을 스스로 찾아내는것이 목적이라고 할 수 있습니다.

데이터가 가진 일련의 규칙을 찾아내고자 하는 비지도 학습과는 달리, 강화학습은 보상을 최대하 하는것이 목표라고 할 수 있습니다.

 

 

마치며

 

이번 글에서는 비지도학습과 강화학습에 대해서 알아보았습니다.

각각의 알고리즘에 대한 예시 코드 예시글을 통해 하나씩 알아보도록 하겠습니다.

 

다음글 부터는 딥러닝에 대해서 알아보도록 하겠습니다.

댓글