정답 없이 배우는 비지도 학습

Orange를 활용한 코딩 없는 AI 데이터 분석 - Lv.5 군집화와 차원 축소 강좌의 맛보기 강의입니다.

강의 대본 보기

이번 영상에서는 머신러닝에서 정답이 없는 상태로 즉 타겟을 갖고 있지 않은 상태로 학습이 일어나는 비지도 학습이라고 하는 것이 어떤 것인가 라고 하는 것을 한번 살펴보도록 하겠습니다 비지도 학습이 정확히 무엇이냐 라고 하는 것을 우리가 따져보기 전에 일단 우리가 이 수업에서 조금 더 중점적으로 다루게 된 오렌지 도구를 한번 보실까요? 오렌지를 보시면 오렌지 왼쪽에 메뉴 위젯이 있는 것을 보실 수가 있습니다. 여러분께서는 앞 단계 레벨의 코스를 통해서 데이터를 불러오거나 트랜스폼, 변환하는 것, 비주얼라이즈 시각화한다거나 그리고 모델에서 지도 학습하는 것, 평가하는 것 이런 부분들을 배우셨습니다. 보시면 여기에 우리가 크게 데이터 분석 모델 알고리즘을 다루는 두 개의 탭이 있는 걸 볼 수가 있는데 첫 번째로 위쪽에 있는 모델이라고 하는 게 있습니다 모델을 눌러 보시면 모델에는 우리가 흔히 익숙하게 알고 있는 다양한 알고리즘들이 보이죠. 예를 들어서 선형 회귀 분석이라던가 로지스틱 회귀라던가 SVM이라던가 의사결정나무 이런 것들 KNN 같은 것들이 보입니다. 이러한 알고리즘들은 지금 모델 탭에 들어있는 이러한 알고리즘들은 정답이 있는 상태로 학습이 일어나는 알고리즘 우리가 이것을 지도 학습이라고 합니다 지도 학습에 관련된 그러한 분석 모델 알고리즘 위젯들이 모여있는 게 바로 모델이라고 하는 탭이죠 그런데 우리가 이 강좌에서 좀 더 집중적으로 다루려고 하는 주제는 그 아래쪽에 보시면 Unsupervised라고 하는 파란색 탭이 있는 게 보이실 겁니다 이 Unsupervised가 바로 비지도 학습이라고 하는 거예요 비지도 학습 탭 한번 열어보실까요? 열어보시면 Distance라던가 t-SNE라던가 Correlations라던가 K-Means 같은 것들이 보이죠. 대표적으로 계층적 군집화라고 하는 Hierarchical Clustering이라던가 PCA라던가 또는 DBSCAN, K-Means, Louvain Clustering 이런 것들이 보이실 겁니다. 지금 여러분께서 눈으로 보고 계시는 이러한 위젯들, 이러한 알고리즘들이 바로 비지도 학습에 관련되어 있는 것들이다 라고 말씀드릴 수 있겠습니다 이 강좌에서 좀 더 본격적으로 다루려고 하는 주제들인 거죠 한 단계 더 나가서 이러한 오렌지가 가지고 있는 데이터셋이라고 하는 것을 한번 보도록 하겠습니다 오렌지 데이터셋을 열어보시면 데이터셋에 여러가지 오렌지에서 제공하고 있는 데이터들이 있어요 그런데 이 데이터셋에 보시면 타겟이라고 하는 항목이 있죠 목적, 변수, 레이블, 정답, 타겟이 뭐냐 오름차순, 내림차순 정렬 타겟은 크게 3가지 형태로 되어 있습니다. C라고 표현되어 있는 카테고리컬 데이터 그리고 아래로 쭉 내려 보시면은 뭔지 모르겠다 라고 하는 물음표, none, 없어 라고 하는 게 있고 그리고 n으로 표시되는 numeric 이라고 하는 것이 있습니다 우리가 어떤 데이터셋을 가지고 있을 때 데이터셋들은 우리가 참고하기 위해서 존재하게 되는 메타 필드 외에 이러한 분석에 어떤 데이터셋의 성격을 보여주게 되는 중요한 피처들 우리가 흔히 말하는 X들인 거죠. 독립변수 X라고 하는 그 X 피처들이 쭉 존재를 합니다. 이러한 피처들 중에서 기온과 습도와 가격에 따라서 아이스크림 판매량이 몇 개인지 알고 싶다 최종적으로 알고자 하는 목적 목적이 되는 목적 변수들 이것을 타겟이라고 하는 거죠 근데 이 타겟이 세 가지 형태가 있습니다 첫 번째가 뭐였습니까? 카테고리컬 데이터 쉽게 말해서 범주형 데이터, 문자 데이터 이런 것들이 있고 뉴머릭 데이터, 수치형 데이터들이 있는 거죠 어쨌든 그것이 수치형이건 범주형이건 타겟이 존재합니다 타겟이 존재하는 상태로 일어나는 학습, 우리가 이것을 지도학습이라고 부릅니다. 이 데이터셋 중에서 C라던가 N으로 표시되어 있는 것들은 바로 지도학습을 위한 일종의 연습용 데이터셋이라고 보시면 좋을 것 같고요. 그런데 모든 데이터셋이 다 그렇게 타겟을 가지고 있느냐 라고 하면 아니라는 거죠. 그렇지 않고 지금 보시는 것처럼 타겟이 존재하지 않는 데이터셋들도 굉장히 많습니다. 타겟이 없어요. 그러니까 즉 데이터셋을 보면 그 데이터셋이 여러 가지 주석의 역할을 하는 메타 데이터들 그리고 피처들로만 구성이 되어 있고 여기 어디에도 아이스크림 판매량 같은 그러한 내용들은 존재하지 않는 거죠 알고자 하는 목적 변수인 그러한 타겟이 존재하지 않는 이러한 상태로 학습이 일어나는 것을 우리가 비지도 학습이라고 합니다 메뉴에서도 뭔가 차이가 있고 데이터셋에서도 차이가 있다 이 내용을 조금 더 개념적으로 정리를 해보도록 하겠습니다. 머신러닝에서 우리가 어떤 기계적인 학습을 하는데 있어서 이런 데이터셋으로부터 기계가 어떠한 패턴을 학습하게 될 때 이러한 학습이 일어날 수 있는 방식은 학습의 방법이라고 하는 것은 세 가지가 있습니다. 정답이 존재하는 지도학습, 존재하지 않는 비지도학습, 그리고 보상에 따라서 움직이게 되는 강화학습이라고 하는 세 가지가 있죠. 강화학습은 굉장히 특별한 별도의 파트이기 때문에 우리 수업에서는 머신러닝의 가장 기본이 되는 두 개의 큰 기둥, 지도학습과 비지도학습을 중점적으로 다루고 있습니다. 그러면 지도학습과 비지도학습이 있을 때 우리가 정말 머신을 학습시키겠다. 알고리즘을 학습시켜서 모델을 만들 거야. 지도 학습과 비지도 학습 중 어떤 게 더 효율적이냐? 단연코 지도 학습이 압도적으로 효율적입니다. 우리가 실제적으로 학습하는 과정을 생각해 봐도 그래요. 뭔가에 대해서 책을 읽고 국어 문법을 배운다. 영어 문법, 국어 문법 이런 것들을 배운다. 우리가 일반적으로 뭔가를 효율적으로 배우기 위해서 정리노트도 가져다가 하고 문제집도 풀어보고 유형별로도 보고 등등등등 어떠한 문제가 있고 이 문제를 가지고 이런 경우에는 이런 답을 내야 돼 저런 경우에는 저런 답을 내는 게 맞는 거야 라고 하는 것을 학습함으로써 학습에 들어가는 시간을 압도적으로 줄이고 중요한 것들을 파악을 해서 빨리 빨리 빨리 빨리 적용할 수 있는 일반화된 규칙을 도출하기가 굉장히 쉬워요 문제지 푸는 거 생각해 보시면 그런 거죠 비지도 학습이라는 건 어떤 개념이냐면 뭔가를 깨닫게 하기 위해서 토론도 많이 시키고 창작도 많이 시키고 관련된 책도 많이 보게 하고 옆에서 얘기도 많이 하고 많이 보고 많이 듣고 많이 생각하고 하는 이러한 과정들을 통해서 자연스럽게 터득하기를 바라는 거죠 자연스럽게 터득하길 바라는 거니까 당연히 이 과정은 압축적이기가 굉장히 어려워요 그래서 이러한 정답이 존재하지 않는 비지도 학습이라고 하는 것은 정답을 보고 정답이냐 아니냐 정답이 틀렸다면 왜 틀렸냐 이런 부분을 따지는 지도 학습에 비해서는 학습 자체의 효율은 조금 떨어질 수밖에 없다 더 오래 걸리고 더 무겁고 뭐 이럴 수밖에 없고 또 필요로 하는 데이터도 훨씬 많은 거죠 유형별 문제집을 통해서 수학 단원에서의 내용을 배운다면 유형이 30개가 있다. 그럼 그 30개만 집중적으로 일단 보면 전체적인 내용이 한 번에 확 들어오는 거잖아요. 하지만 그런 유형별로 딱 정해진 정답 이런 게 없이 막연하게 많이 보면서 터득한다면 그건 30문제 풀어서 될 건 아니고 정말 300개, 3000개, 30000개 훨씬 더 많은 것들을 보고 듣고 깨달아야만 가능합니다 그래서 이러한 성격은 머신러닝에서도 마찬가지로 적용이 돼요 그래서 지도학습은 조금 더 적은 데이터를 가지고 더 효율적으로 더 빠르게 만들어질 수가 있다면 비지도 학습이 진행이 되려면 훨씬 더 많은 데이터가 필요하다 어떤 특징을 추출하기 위해서 훨씬 더 많은 데이터가 필요하고 이러한 학습의 속도, 과정도 훨씬 더 오래 걸릴 수 있다 라고 하는 것을 알아두실 필요가 있습니다 여기까지만 딱 들으시면 어떠세요? 그러면 당연히 지도학습이 훨씬 효율적이니까 지도학습으로 다 가면 되잖아 라는 생각이 드시죠 하지만 현실적으론 그러기가 굉장히 어렵습니다 왜냐하면 우리가 디지털 사회를 살고 있는데 이런 디지털 세상에서는 굉장히 많은 데이터가 있어요 근데 이 데이터를 가지고 정답이 이거야 이러이러하면 정답이 이거야 라고 하는 것을 가지고 있어야 그렇게 잘 준비된 데이터가 있어야 지도학습이 가능한데 이렇게 정답을 달아주는 것 정답을 우리가 다른 말로 레이블 이라고도 합니다 이런 정답을 달아주는 일 데이터 라벨링이 하나의 직업으로 존재할 만큼 이것은 쉽지 않은 일이에요. 사람의 손이 가는 거고 일일이 정답을 달아주는 게 굉장히 어려움이 있는 거죠. 그렇기 때문에 실제적으로 우리가 가지고 있는 우리가 활용할 수 있는 굉장히 많은 데이터들이 사실은 정답을 가지고 있지 않은 상태에 있고 그렇게 정답이 없더라도 해당한 데이터로부터 어떤 특징을 알아내고 학습시킬 수 있는 방법이 있다면 비지도 학습 방법이 있다면 사용하는 방법, 다루는 방법을 알아둘 필요가 있는 거죠 길게 말씀드린 이 내용을 표로 정리를 해보자면 지도 학습과 비지도 학습이 크게 나눠지고 있습니다 그런데 이 둘의 가장 큰 차이는 뭐냐 라고 하면 우리가 앞서서 오렌지에서 보신 것처럼 타겟이라는 게 있는데 타겟이 존재를 한다 그러면 지도 학습 타겟이 존재하지 않는다 그러면 그것은 비지도 학습이라고 나눠 볼 수가 있습니다 정답이 존재하는 거니까 지도 학습의 궁극의 목표는 정답을 맞추는 겁니다 정답 맞추기 그래서 뭐 예측을 하거나 추론을 하거나 정확한 레이블이 뭐냐 그래서 이 데이터가 어떤 레이블을 갖는 것이 맞는 것이냐 그걸 정말 잘 맞췄느냐 라고 하는 것을 따지는 게 지도 학습이라면 비지도 학습은 애초에 정답이 존재하지 않잖아요 그러니까 정답이 존재하지 않으니까 꼭 이렇게 돼야 한다라고 하는 게 없는 거예요 그래서 이러한 비지도 학습에서는 정답 맞추기가 목표가 아니라 지금 내가 보고 있는 이 데이터가 어떤 특징을 가지고 있는지 이 데이터를 좀 더 효율적으로 다루려면 어떻게 해야 되는지 이런 부분들 이렇게 할 수도 있고 저렇게 할 수 있는 문제에 대해서 어떻게 하는 것이 가장 이득일까 라고 하는 것을 접근하는 게 바로 비지도 학습이다 라고 생각할 수 있습니다 단 맞추기가 아니라 이렇게 하는 게 제일 나을 것 같은데 라고 하는 어떤 하나의 방안을 만들어 내는 그런 과정이다 라고 볼 수가 있습니다 타겟이 존재하는 지도 학습에서는 이러한 타겟이 numeric, 수치형일 수도 있고 categorical, 범주형일 수도 있었습니다. 수치형으로 되어 있는 타겟을 맞추는 것을 우리가 회귀라고 하고 범주형으로 된 타겟을 맞추는 것을 바로 분류라고 하는 거죠. 그런데 비지도 학습에는 이런 타겟이 존재하지 않습니다 그렇다고 해서 비지도 학습 알고리즘에 유형이 없는 건 아니고요 이 비지도 학습이 갖고 있는 어떤 알고리즘들은 크게 보면 몇 가지 유형으로 나눌 수가 있는데 첫 번째로는 비슷한 애들끼리 다 묶어주는 겁니다 이것이 거리를 기반으로 할 수도 있고 밀도를 기반으로 할 수도 있는데 이런 것들을 이렇게 묶어주면 훨씬 더 효율적일 것 같다 라고 하는 접근에 관련된 알고리즘들 군집화에 관련된 것들이 있고요 또 지금 이 데이터가 너무 방대하고 너무 커서 어떻게 이해하고 다루는 게 어려워 그러니 조금 더 효율적으로 변환을 해주면 좋을 것 같아 라고 하는 것에 관련된 문제들 우리가 이것을 차원 축소라고 합니다 이러한 크게 몇 가지 스타일의 이런 알고리즘들이 존재를 합니다 정답 맞추기와 정답이 없지만 특성을 파악하고 지도학습과 비지도학습을 여러분께서 조금 더 쉽게 이해하실 수 있도록 판단의 과정을 다른 예시를 하나 통해서 좀 설명을 들어보겠습니다 위쪽에 있는 이 그림에서 위쪽에 있는 부분은 지도 학습을 설명하기 위한 거고요 아래쪽은 비지도 학습을 설명하기 위한 건데요 먼저 지도 학습을 먼저 보실게요 지도 학습이라고 하는 것은 타겟 목적 변수가 존재하는 학습인 거죠 그러니까 즉 어떤 그림 이 그림이 있습니다 그러면 이 그림을 보고 얘가 사과냐 아니냐 라고 하는 것을 판단하는 게 지도학습에서의 핵심 목표입니다. 이게 사과냐 아니냐인 거죠. 정답인 레이블 사과인가 또는 사과라는 레이블이 아닌가 라고 하는 겁니다. 그럼 얘는 이걸 어떻게 판단한가라고 하면 앞서서 여러 데이터가 있고 여러 데이터들 뭐 이런 저런 많은 과일들이 있었을 거예요. 수박이든 딸기든 뭐든 쭉 있습니다. 사과도 있고 그러면 어떤 예를 들어서 세모랗게 생긴 파란색의 과일이 있다라고 하면 이것은 사과가 아니고 다른 레이블을 가지고 있다. 그런데 얘는 예를 들어서 껍질 색깔이라고 하는 피처를 놓고 볼 때는 값이 5보다 작고 씨앗 위치라고 하는 것은 바깥쪽에 있고 과육의 강도라고 하는 것은 1이라고 하는 그런 상황일 때 그때 정답인 레이블이 사과가 아니었다. 또는 다른 것들이 있는데 얘는 뭐 껍질 색깔이 빨간 정도가 10을 넘고 씨앗의 위치가 과육의 중심부에 있고 강도가 뭐 얘도 뭐 강도 과육의 강도 단단함도 10을 넘는다 그럴 때 정답이 사과였다 라고 하는 것처럼 미리 정답이 주어져 있는 이때 이러한 조건일 때 그 답이 사과인가 아닌가 라고 하는 것을 담고 있는 데이터셋을 여러 개 학습함으로써 알고리즘이 판단하는 능력을 갖게 되는 거죠. 이 피처의 값이 예를 들어서 10보다 크고 씨앗의 위치가 과육의 중심부에 있고 그리고 과육의 강도가 예를 들어서 7보다 크면 이런 조건들이 만족하면 그때는 정답인 레이블을 사과라고 할 수 있겠다 라고 하는 판단의 기준, 일종의 분할선인 거죠. 이 값을 만들어 내게 됩니다. 데이터를 학습해서 우리가 이야기하는 이런 것들을 파라미터를 정해주는 거죠. 껍질 색깔인 피처의 값은 10보다 커야 한다. 씨앗 위치는 중심부여야 한다. 또 과육의 강도는 7보다 커야 한다. 라고 하는 기준선, 분할선을 딱 만들게 됩니다. 이걸 통해서 지도 학습에서의 Prediction, 판단이라고 하는 것은 개별적인 새로운 데이터에 대해서 얘가 사과인가 아닌가를 검사하는 방식으로 가게 되는 거죠 이 기준을 만족했다 그러면 뭐 그때는 이걸 사과라고 하겠다 이 기준을 만족 못했다 그러면 사과라고 하지 않겠다 라고 하는 방식으로 움직이게 됩니다 그러니까 주변에 몇 개가 있건 그런거 중요하잖아요 분할선을 정했고 그 분할선에 의해서 검사가 돼서 뭐 얘랑 얘랑 얘가 사과의 조건을 만족했어 그럼 너는 사과 만족하지 못했어 그럼 너는 사과가 아닌 다른 레이블을 받아야 돼 라고 하는 것처럼 개별적인 데이터에 올바른 레이블을 주는 겁니다 이것을 우리가 1대1 대응이라고 이야기하는 겁니다 하나하나에 대해서 올바른 레이블을 줘서 사과 또는 사과가 아니다 라고 하는 것을 딱 분류를 해주는 거죠 그러면 비지도 학습은 도대체 뭐가 다른가 일단 지도 학습은 여러분이 앞서서도 많이 보셨고 또 일반적으로 우리가 흔히 생각하는 어떤 데이터 분석의 체계에 가깝다 라고 할 수 있어요 비지도 학습, 정답이 없다는 건 도대체 어떻게 이루어지는 거야 라고 하는 의문이 드실 텐데요 비지도 학습은 이런 방식입니다 이런 방식으로 딱 보시면 아래쪽에 지금 보시면 6개의 데이터가 있어요 6개의 데이터 이 6개의 데이터에서 여러분은 이걸 보시고 사과다, 바나나다 이런 걸 생각하셨을지도 모르지만 지금 그것은 필요하지 않습니다 왜냐하면 그건 타겟, 레이블이잖아요 이게 사과다, 바나나다 라고 얘기를 하는 순간 이건 이제 지도학습으로 넘어가는 거예요 그러니까 그렇게 보지 마시고 6개의 어떤 과일들이 있어 라고 보세요 그냥 뭔가 과일이 있는데 6개가 있어 얘네는 좀 다른 거 같네 얼핏 보니 이 데이터를 학습을 쭉 하는 거예요. 정답은 없어요. 이 과일의 이름은 끝까지 안 나올 거예요. 정답인 타겟, 과일의 이름이 없는 거죠. 없을 때 이 데이터들을 비슷한 애들끼리 묶어줄 거야 라고 할 때 우리가 예를 들어서 이렇게 축을 잡아볼까요? X축에는 색깔이 빨간색인가 과일의 색깔이 빨간색인가 노란색인가 그리고 세로축에는 과일이 얼만큼 동그란가 동그란 그래서 안 동그랗다 많이 동그랗다 이런 식으로 우리가 나눠 볼까요 그러면 이 데이터는 어디에 위치하게 될까요 비교적 빨간색이고 비교적 빨간색이고 동그란 쪽에 속하게 되겠네요 여기 어디에 있을 것 같아요 얘는 전혀 동그랗지 않아요 그러니까 아래쪽에 있을 것 같고 그리고 색깔은 노란색에 가까우니까 여기쯤에 있을 겁니다 얘는 비교적 빨갛고 동그라니까 얘도 여기 있고 이것이 사과다, 바나나다라고 하는 정답이 존재하지 않는 상태로, 정답이 없는 상태로 색깔이라던가 동그란 정도라고 하는 피처를 가지고 비슷한 애들을 배치를 해주는 겁니다. 그런 다음에 어? 가만 보니까 얘네가 좀 가까이에 몰려 있네. 그러니까 너희는 같은 그룹 여전히 이름을 몰라요 사과인지 아닌지 그런 거 모릅니다 그래서 여전히 동그랗고 빨간 애들 그런 기준으로 볼 때 얘네가 여기에 모여 있어 또 노랗고 동그랗지 않은 그룹이 이렇게 있어 그러니까 이 6개의 데이터는 지금 보시는 것처럼 이렇게 생긴 애들과 이렇게 생긴 애들의 그룹으로 나뉠 수 있다 여기까지가 비지도 학습인 거죠 사과나 바나나 다 끝까지 안 나오죠? 동그랗다, 빨갛다 이런 기준을 가지고 얘네가 서로 비슷하고 쟤네가 서로 비슷하다. 서로 비슷하다는 말을 집중해서 보셔야 돼요. 왜냐하면 사과를 판단하는 분할선을 정하게 되면 이 분할선을 가지고 개별적인 데이터들 중에서 사과가 뭐냐를 잡아내는 지도 학습의 케이스에서는 이것이 사과다 아니다 라고 하는 것은 다른 애들을 검사하는 것과는 상관이 없습니다 관계가 없는 문제인 거죠 그냥 사과의 기준선이 있고 이 데이터가 그 기준선을 넘었는가 안 넘었는가 어? 넘었네? 그러면 사과 넘지 못했네? 그럼 넌 사과가 아니야 라고 이렇게 레이블을 하나씩 붙여 나가는 구조인 거지 얘가 누구랑 비슷하고 말고는 따지지 않죠 서로 관계가 없습니다 하지만 이 데이터들은 서로 비슷하다는 것에 더 집중을 하게 되는 구조인 거죠. 그래서 예를 들어 여기에 이렇게 생긴 데이터가 새로 들어왔다 쳐요. 물론 여러분 마음속에서는 이것은 어? 그건 사과가 아니야. 그건 토마토야. 이렇게 생각할지도 모르겠어요. 하지만 비지도 학습은 타겟이 없는 거죠. 그러니까 그냥 있는 그대로 생각해보면 얘는 비교적 빨간색이야. 물론 사과들은 조금 더 빨간색이니까 이쪽에 있고 Lv.5 군집화와 차원 축소, 정답 없이 배우는 비지도 학습 들어가 있는 그룹으로 나뉘어 있는데 이렇게 생기다가 들어왔어요 얘는 빨간 걸 기준으로 볼 때도 너무 많이 좀 떨어져 있는 것 같고 얘는 약간 길쭉한 것 같긴 한데 근데 노랗진 않은데 여기 이렇게 있는데 라고 한다면 얘를 어떤 그룹에 넣어야 될까요 답이 없죠 정답이 없지 않습니까 여기서도 멀고 저기서도 멀어요 그러면 얘를 그냥 독립적으로 둬도 되고 조금 더 이걸 조금 더 관대하게 봐서 여기에 넣어도 될 것 같고 이쪽을 좀 더 관대하게 봐서 저기로 넣어도 될 것 같습니다 이런 식으로 얘가 무엇이어야 한다 어디로 들어가야 된다 라고 하는 게 명쾌하게 정해져 있는 것은 아닌 거죠 이러한 특징을 가지고 있는 것이 바로 비지도 학습이다 라고 볼 수 있습니다 어쨌든 이 과정에서는 포도다 토마토다 사과다 이런 부분들은 전혀 필요하지 않게 되는 거죠 그러면 과일 얘기로 조금 쉽게 접근했던 비지도 학습을 조금 더 멋있게 정리해 보도록 하겠습니다 비지도 학습이라는 것은 쉽게 생각하면 정답이 없는, 타겟이 없는, 즉 레이블이 지정되지 않은 데이터를 분석해서 특성을 파악하는 머신러닝의 하나의 방법입니다 레이블이 존재하지 않는다는 게 가장 중요한 부분인 거죠 이런 비지도 학습은 인간의 개입 없이 정보의 유사점과 차이점 얘가 동그랗냐 빨갛냐 노란색이냐 서로 어느 정도 비슷하고 어느 정도 다른가 이런 부분들을 잘 관찰함으로써 여기에 숨겨져 있는 패턴 보니까 얘네들은 이렇게 빨개 얘네들은 이렇게 노랗고 길쭉해 그러니까 이렇게 두 개 그룹으로 나누면 될 것 같아 라고 하는 이런 어떤 패턴 또는 그룹화 이런 것들을 감지해내는 알고리즘이 바로 비지도 학습의 알고리즘입니다. 이러한 비지도 학습의 알고리즘은 크게 보면 세 가지 정도로 우리가 흔히 나눌 수가 있는데요. 첫 번째가 바로 클러스터링, 군집화라고 하는 알고리즘이 있습니다. 쉽게 생각하면 그룹화하는 기술이라고 보시면 좋겠습니다. 앞서 말씀드린 사과를 서로 묶어주고 바나나를 묶어주고 토마토가 들어왔는데 어? 너는 바나나보다는 사과랑 더 비슷해 이렇게 그룹화해주는 방식이 바로 군집화입니다 그리고 차원 축소라고 하는 방법도 있습니다 이제 차원 축소라고 하는 것은 어떤 거냐면 차원 축소는 데이터의 피처가 너무 많아요 우리가 하나하나의 피처를 차원이라고 하는데 피처가 너무 많아서 뭘 어떻게 할지를 모르겠다 다루기도 힘들고 알아보기도 힘들고 이해하는 게 너무 힘들어 라고 할 때 그러면 여러 가지 방법을 이용해서 데이터의 차원을 줄여 줌으로써 우리가 이 데이터가 가진 특징을 좀 잘 드러나게 하고 이해하기 쉽게 하고 훨씬 더 쉽게 다룰 수 있게 만들어 주는 이러한 알고리즘, 그러한 주제를 다루는 것이 바로 차원 축소입니다. 연관 규칙이라고 하는 건 어떤 거냐면요. 연관 규칙은 어떤 데이터셋이 있습니다 그럼 이 데이터셋에 존재하는 변수들 간의 관계를 발견하는 규칙이다 라고 말씀드릴 수 있겠어요 군집화하고 연관 규칙이 이렇게 보면 뭐가 다르지? 라는 느낌 드실 수 있거든요 어떤 느낌이냐면 군집화라고 하는 것은 우리가 데이터셋을 한번 생각해 볼게요 데이터셋을 생각해 보시면 예를 들어 넘버가 있습니다 1번 데이터, 2번 데이터, 3번 데이터 이렇게 쭉 인스턴스들이 있겠죠 그리고 데이터셋 모양 자체만 생각해 보시면 A번 피처, B라고 하는 피처, C라고 하는 피처가 있을 겁니다 군집화라고 하는 것은 개별적인 인스턴스들, 이러한 데이터들이 서로 얘랑 얘랑 얘랑 얘가 비슷해요 라고 하는 것처럼 얘네가 비슷하고 3번이랑 4번은 안 비슷해 4번하고 5번이 또 비슷해서 하나로 그룹핑 될 수 있을 것 같아 라고 하는 어떤 인스턴스를 그룹핑하는 것에 관련된 문제다 라고 한다면 연관 규칙이라고 하는 것은 지금 보시는 것처럼 데이터 세트에서 변수 간의 관계를 발견하는 겁니다 그러니까 여러 인스턴스들을 놓고 봤을 때 A라고 하는 이러한 피처와 B라고 하는 피처 얘네가 관계가 있구나 라고 하는 것을 판단해 내는 것 A와 B가 관계가 있고 C는 F한테 영향을 받고 있고 이런 것들을 판단해 내는 것이 바로 연관 규칙이다 라고 보시면 되겠습니다 우리는 이 강좌에서 군집화 클러스터링과 그리고 차원 축소에 대해서 집중적으로 이야기를 나눠보도록 하겠습니다

이 강좌의 맛보기 강의

Orange를 활용한 코딩 없는 AI 데이터 분석 - Lv.5 군집화와 차원 축소
Orange를 활용한 코딩 없는 AI 데이터 분석 - Lv.5 군집화와 차원 축소강좌 자세히 보기