brunch

You can make anything
by writing

C.S.Lewis

by 더슬로우 Mar 24. 2022

[아무튼 린AI] 비지도학습

Lean AI

매일 스타트업과 브런치. 181 day


앞에서 알아본 지도학습과 달리 비지도학습은 식별할 수 없는 비정제 데이터를 이용하며, 데이터의 기본구조를 발견하는 데 유용하다. 비슷한 데이터를 묶어 클러스터로 만들거나 부정 거래 같은 비정상적인 데이터 이동 정보를 감지하며, 데이터 간 상관관계를 발견하기 위해 사용된다. 


recipe 269. 비지도학습

비지도학습은 어떤 종류의 제품이 어떤 위치의 선반에 비치될 때 많이 팔리는지 알아내는 것을 상관관계의 예시로 볼 수 있다. 그 밖에도 주어진 데이터셋에서 특징의 수를 줄이거나 추가 분석을 위해 데이터셋을 작은 단단위로 나눌 때에도 사용될 수 있다. 


출처: https://ellun.tistory.com/105?category=276044 [Ellun's Library]


비지도학습 기법 - 군집분석 vs 주성분분석

비지도학습의 기법으로는 데이터 간 상관관계를 발견하기 위한 군집분석과 주성분분석이 있다. 


1. 군집분석(Clustering Analysis)




군집분석은 입력된 데이터들의 값에 따라 어떤 데이터들이 좀 더 비슷한 성질을 가지고 있는지 파악하여 비슷한 것들끼리 군집으로 묶어주는 분석방법입니다. 


사람은 어떤 대상이든 일정한 특성에 따라 구분하는 것을 즐겨합니다. 음악같은 경우 곡의 특성에 따라 댄스, 발라드, 힙합, 락 이런 식으로 장르를 구분해서 이름을 붙이기도 하고, 학교에서는 어떤 애들은 모범생 그룹, 어떤 애들은 날라리 그룹, 어떤 애들은 아싸 그룹 이런 식으로 그룹짓기도 하고요.


이렇게 대상을 몇 가지 그룹으로 묶어서 일반화시키는 것은 복잡하고 다양하게 나타나는 대상들을 쉽게 이해하는 데 도움이 됩니다. 이렇게 군집분석은 대상을 좀 더 이해하기 쉽게 특징짓는 데 효과적인 방법입니다.


군집분석 알고리즘은 비교적 우리의 직관을 충실히 따라가는 편입니다. 우리가 흩어진 데이터들을 묶을 때 어떤 기준으로 묶을까요? 가장 먼저 서로 가깝게 다닥다닥 붙어있는 것을 하나의 그룹으로 취급할 것입니다. 그리고 서로 멀리 떨어져 있는 것은 서로 다른 그룹으로 취급할 것입니다. 군집분석 알고리즘도 우리가 머릿속으로 생각하는 사고과정과 유사하게 데이터들을 군집화합니다.


군집분석 알고리즘에는 계층적 군집분석과 비계층적 군집분석이 있는데 용도에 따라 다르게 활용됩니다.




먼저 계층적 군집분석은 한 군집이 다른 군집을 포함할 수 있는 구조로 군집을 만드는 기법입니다. 이것은 음악 장르를 구분하는 것과 비슷하게 음악이라는 것을 댄스, 발라드, 힙합, 락으로 구분하고 락에는 펑크락과 하드락이 있고 그 아래에 또 세분화되고 이런 식으로 계층화되는 형태로 데이터를 군집화합니다.


그래서 계층적 군집분석은 오른쪽 위의 그림과 같이 가지형태로 파생되는 형태로 결과가 얻어지는 데 이것을 덴드로그램(Dendrogram)이라고 합니다.



반면 비계층적 군집분석은 군집끼리 포함관계를 이루지 않고 서로 독립적인 한 군집으로 만드는 기법입니다. 위와 같이 분포한 데이터를 빨강그룹, 파랑그룹, 초록그룹으로 구분하여 그룹짓는 것이 바로 비계층적 군집분석이라고 할 수 있습니다.


비계층적 군집분석은  거리를 기반으로 군집화하는 방법(K-means)(왼쪽 위 그림)과 밀도를 기반으로 군집화 하는 방법(DB-SCAN)(오른쪽 위 그림)이 있는데 데이터가 분포한 특성에 따라 좀 더 말을 잘 듣는 방법을 선택해서 사용할 수 있습니다. 또 하나 차이점은 거리기반 군집분석기법은 미리 몇 개의 군집을 만들 것인지 정의해야합니다. 군집을 3개로 만들겠다고 설정하면 컴퓨터는 3개에 맞도록 구분해 줄 것이고, 5개로 만들겠다고 하면 5개에 맞도록 적절히 구분해줍니다.





[그림출처 : 신한카드 블로그]


군집분석은 연구나 기획 등 의사결정이 필요한 다양한 업무에서 활용됩니다. 그 중 잘 알려진 사례로 신한카드의 사례가 있습니다.


신한카드는 2014년부터 빅데이터를 적극적으로 활용하기 시작했는데, 그 결과가 바로 Code 9(코드나인)이라고 하는 것입니다. 신한카드는 고객정보와 카드 결제내역을 군집분석하여 남녀 고객을 위와 같이 총 18가지로 분류하고 각 분류별로 Rookie, It-Girl 같은 명칭을 지었습니다. (이런 명칭을 짓는 건 각 고객군집의 특성을 사람이 직접 확인해서 판단하는 거겠죠?)


이렇게 고객들을 군집화한 것은 고객마다 원하는 카드혜택이 다르기 때문에, 고객 특성을 몇 가지로 축약하여 정의함으로써 고객 특성별로 특화된 카드 상품을 만드는 데 유용하게 활용될 수 있습니다.

그 결과 특정 고객유형에게 효과적인 혜택을 제공하는 23.5º 카드와 S-Line 카드상품을 출시했다고 하네요.


(그런데 맞춤형 혜택을 제공하면 사람들이 많이 써야할 것 같은데 딱히 좋은 평을 듣지 못한 걸 보면 고객 분류가 적절치 않았거나 지나치게 특정타겟에 혜택을 맞추다보니 범용성이 떨어지거나 했던 것 같네요.) 


출처: https://ellun.tistory.com/105?category=276044 [Ellun's Library]

가볍게 읽어보는 머신러닝 개념 및 원리 - (4) 비지도학습 알고리즘(군집분석, 주성분분석)


클러스터링은 마케팅 영역에서 활발하게 활용된다. 문서 분류, 배송 경로 최적화, 범죄 지역 식별, 고객 세분화, 가상 스포츠 통계 분석, 보험 사기 탐지, 승차 공유 데이터 분석, 사이버 범죄 분석, 통화기록 분석, IT 경고 자동 클러스터링 등이 있다. 


이 외에도 지도 또는 비지도 형태의 학습 알고리즘을 활용한 방법론이 몇가지 더 있다. 


2. 결정 트리(Decision Tree)

나뭇가지 형태의 모델을 사용해 결론을 도출하는 의사결정의 한 형태이다. 결정트리는 예상 수익, 필요한 장비나 리소스에 소요되는 비용을 예측하고 판단하거나 조건부 제어문을 적용해 알고리즘을 가시화하는 데 효과적이다. 


3. 나이브 베이즈(Naive Bayes)

확률 분류의 한 계열로 1950년대의 광범위한 연구 이후, 텍스트 분석 영역에서 가장 대중적으로 사용되는 기법이다. 텍스트 분석은 단어 사용의 빈도를 기반으로 특정 문서가 어떤 범주에 속하는지 판단하는 방식이다. 스팸 메일인지 아닌지, 정치인지 스포츠인지, 과거인지 현재인지, 미혼인지 기혼인지를 판별 한다. 


4. 랜덤 포레스트(Random Forest) 

의사결정의 최종 결론을 도출하고 정확하게 예측하기 위해서는 하나의 결정 트리보다는 복수의 결정 트리를 사용하는 것이 더 효과적이다. 회귀, 분류 등의 분석 작업을 하기 위해 랜덤 포레스트를 자주 사용하며, 평균 예측치나 데이터 분류 양식을 도출해낼 수 있다. 


미래를 예측하기 위해 사용되거나, 고객 성장 전략이나 제품의 품질을 평가하는 데에도 활용된다. 예를 들어 와인의 품질을 정하기 위해 알코올 함량, 이산화황 농도, 수소 농도 지수, 산도, 당 함략 등이나 제품의 속성 혹은 고객의 관심사, 고객의 니즈에 대한 충족 원인이 변수가 될 수 있다. 



보다 자세한 내용은

출처: Lean AI 에서.    



목표일: 181/365 days

리서치: 269/524 recipes 

매거진의 이전글 [아무튼 린AI] 지도학습

작품 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari