강의실/머신러닝

02-3 비지도학습

파아란기쁨 2022. 1. 6. 11:22

출처 : 생활코딩

위의 그림에서 사람의 감독여부에 따라 지도학습/비지도학습/강화학습으로 구분을 할 수가 있습니다.

여기서 지도학습은 사람이 정답을 제공하는 학습이며 비지도 학습은 정답을 제공하지 않고 머신러닝 스스로 학습을 하는 형태라고 배웠습니다.

오늘은 비지도 학습에서 사용하는 군집화/변환/연관의 관계들을 알아 보도록 하겠습니다.

군집화(Clustering)란?

클러스터의 정의를 살펴보면 다음과 같습니다.

클러스터란 비슷한 특성을 가진 데이터들의 집단
반대로 데이터의 특성이 다르면 다른 클러스터에 속해야 한다.

 

클러스터 정의와 같이 비슷한 것을 만들어 그룹을 만드는 것을 군집화(Clustering)라고 합니다.

그렇다면 군집화와 분류의 차이는 무엇일까요?

여러분이 이사를 한다고 생각해 보세요.

이삿짐 센터 직원들이 안방에 들어갈것,작은방,화장실에 들어갈것 과 같이 비슷한 것끼리 적당한 그룹을 만듭니다.

이렇게 그룹을 만드는 것을 군집화라고 합니다.

그리고 난 뒤 이 그룹에 속하는 물건들을 구분하겠죠?

이것이 분류입니다.

정리하면 가상의 공간 그룹을 만드는 것이 군집화, 해당 물건이 어느 그룹에 속하는지 태그를 붙이는 것이 분류입니다. 

 

군집화의 예를 살펴 봅시다.

여러분이 카페를 경영하다가 코로나19의 직격탄을 맞아 배달사업에 뛰어 들었습니다.

다행히 온라인에서 인기를 얻어서 여러분의 고객이 1000만명이 되었다고 가정합시다.

아래 표는 여러분의 서비스를 이용하는 1000만명의 위치(위도,경도)를 표시하고 있는 표입니다.

출처:생활코딩

 

여기서 여러분은 배송을 빠르게 하기 위해 100개의 물류센터를 설치 하려고 하는데 어디가 적당한지를 찾아야 합니다.

1000만개의 데이터를 하나 하나 그림을 그리고 분포도를 그린 후 100개 그룹을 만들려고 합니다.

위의 그림에서 6개의 점을 찍고 3개의 그룹을 만드는 것은 간단하게 해결 되겠지만~ 

아마도 1000만개의 그림을 그리다가 점을 잘못 찍는 경우도 많이 발생하겠죠? 잘못 찍는 것은 둘째치고 정확하게 1000만개의 점을 모두 표현했다고 장담할 수 있을까요? 아마도 1000개쯤 표본으로 찍어 놓고 대략 이쯤에 설치하면 되겠지 라고 생각하고 100개를 뽑아내지는 않을까요?

아마도 운이 좋아서 1000개의 표본이 대표성을 가지고 있다고 하면 성공하겠지만 1000개의 데이터가 우연히 한쪽으로 치우친 데이터 였다고 하면 엄청난 손실을 가져 올 것입니다.

이런 데이터 지옥에서 구해줄 도구가 바로 머신러닝 중에 군집화 입니다.

그림으로 나타내면 다음과 같습니다.  

군집화를 한마디로 표현하면 => 비슷한 행을 그룹핑하는 것 입니다.

 

연관규칙학습(Association)란?

연관규칙학습이란 특정사건이 발생했을때 함께 발생하는 또다른 사건의 규칙을 찾는 방법

 

정의에서와 같이 어떤 이벤트가 발생했을때 그 이벤트와 같이 다른 이벤트가 같이 발생한다면 그 두가지 이벤트는 연관이 있다라고 보고 그 연관성을 찾는 방법을 연관규칙 학습이라고 합니다.

우리가 쇼핑몰을 운영하고 있다고 가정해 봅시다.

A라는 상품을 산 고객들이 AA라는 상품을 많이 구매하는 연관규칙을 찾았습니다.

그렇다면 우리는 어떤 사람이 A라는 상품을 장바구니에 담을때 AA라는 상품을 추천하여 더 많은 상품을 판매 할 수 있을 것입니다.

요즘에 오징어게임으로 핫한 넷플릭스를 살펴 보면 어떤 드라마 혹은 영화를 보게 되면 그 영화에 따른 추천 영화를 볼 수 있습니다.

대부분 제가 좋아하는 영화가 자동으로 추천되어 보여 지기 때문에 그 영화를 보고 추천영화를 보는 경향이 많습니다.

이렇게 어떤 상품에 연관되어 추천을 해 주는 시스템이 바로 머신러닝의 연관규칙입니다.

 

자 그럼 연관규칙 학습은 어떤 식으로 이루어지는 지 살펴 보겠습니다.

출처: 생활코딩

 

위의 주문사항을 정리한 표에서 라면을 사면 계란을 살 확률이 높은 것을 알수 있습니다.

즉 라면과 계란은 서로 연관성(Association) 이 높다는 것을 알 수 있습니다.

출처: 생활코딩

 

정리를 해 보면 다음과 같습니다.

출처:생활코딩

 

데이터를 그룹핑 해 주는 것이 군집화, 특성을 그룹핑 해 부는 것이 연관규칙입니다.

이렇게 그룹을 만든 데이터를 데이터 가시화를 위해 2차원 또는 3차원으로 축소 하는 것을 변환이라고 합니다.

 

 

비지도학습에 사용하는 알고리즘

출처: 머신러닝도감

 


이 문서는 생활코딩의 강의를 참고하여 학생들과 같이 공부하기 위해 작성된 문서입니다.

 

[참고]

생활코딩(https://opentutorials.org/course/4548)

머신러닝 도감

사업자 정보 표시
원당컴퓨터학원 | 기희경 | 인천 서구 당하동 1028-2 장원프라자 502호 | 사업자 등록번호 : 301-96-83080 | TEL : 032-565-5497 | Mail : icon001@naver.com | 사이버몰의 이용약관 바로가기

'강의실 > 머신러닝' 카테고리의 다른 글

[파이썬기초] 파이썬 자료형 - 리스트  (10) 2022.01.24
[파이썬기초] 파이썬 연산  (7) 2022.01.12
02-3 비지도학습  (9) 2022.01.06
02-2 지도학습  (16) 2021.12.23
02-1 독립변수와 종속변수  (7) 2021.12.15
01-5. 퍼셉트론이란?  (12) 2021.12.03