BLOG

인사이트/블로그

머신러닝 대표 활용 사례 (지도학습, 비지도학습, 시계열분석, 클러스터링)

루이
2022-03-11

이전 글에서는 머신러닝의 기본 개념, 통계와의 차이 등을 다루어봤습니다. 그리고 현업 비즈니스 담당자가 머신러닝 모델을 원활히 개발하려면 자동화 머신러닝 솔루션이 필요하다는 말씀도 드렸죠.


그렇다면 자동화 머신러닝 솔루션이라는 게 어떻게 구성되어 있으며, 무엇을 타겟으로 모델을 개발할 수 있는지 구체적인 예시를 통해 알아볼까요?



1. 지도학습 예측 모델링 : 타겟을 명확하게 예측한다


머신러닝 지도학습 판매량 예측

지도학습 예측 모델링 : 상품 판매량 예측 (수요예측)


위 예시는 기본적으로 머신러닝에서 가장 많이 쓰이는 기능인 지도학습 예측 모델링입니다.

편의점 사업을 운영하는 한 기업에서 상품이 얼마나 많이 팔릴 것인지 예측을 해보고 싶었습니다. 기존에는 소량의 샘플로 미리 테스트 판매를 해보고 실제 판매량을 예측해왔었는데, 이 방법으로는 오차가 많이 발생을 하고 있었습니다.


그래서 이번에는 머신러닝을 활용해서 판매량을 예측해보고 이를 실제 판매량과 비교해본 것이죠. 분석을 위한 기존의 판매 데이터에는 판매 가격, 상품 범주, 판매 기간, 평균 고객수, 판매 대리점, 날씨 등의 여러가지 변수들이 있었습니다. 이러한 변수들이 판매량이라는 타겟에 어떤 영향을 주는지 머신러닝으로 패턴을 찾아내보았습니다.


결과적으로 어떻게 되었을까요?

그림에서 보시다시피 A라는 상품은 예측 판매량과 실제 판매량의 오차가 120개/월에서 30개/월로 줄어들었고 B라는 상품은 심지어 6개/월로 줄었습니다. C라는 상품도 60개/월에서 10개/월로 줄었네요.

이렇게 기업에서 판매량 예측이 정확해지면 재고 관리를 효율적으로 할 수 있기 때문에 비즈니스적으로 상당한 이익을 도모할 수 있겠습니다.


위 예시에서 지도학습(Supervised Learning)이라는 생소한 용어가 등장한 이유는, 예측하고자 하는 타겟이 명확히 존재하기 때문입니다. 무엇을 맞춰야 하는지 정확하게 지도했다는 뜻이죠. 이 방법은 예측 타겟이 명확히 존재하지 않는 비지도학습과는 구별되는 학습법이며, 뒤에서 다시 설명드리겠습니다.


2. 지도학습 클러스터링 : 타겟을 지정하여 샘플을 묶어준다


머신러닝 지도학습 클러스터링 고객 세그먼팅 타겟팅

지도학습 클러스터링 : 이탈 위험이 높은 고객 집단 선별


두번째 예시는 아일리스의 솔루션이 유일하게 제공하고 있는 특별한 모듈입니다. 바로 지도학습 클러스터링(Supervised Clustering)입니다. 그림 제목에는 Rule generation이라고 쓰여져있는데, 고객을 묶어주는 규칙(룰)을 만들어주겠다는 뜻입니다. 어떤 룰을 말하는 것일까요?


예시를 살펴보겠습니다. 보험회사에서는 계약을 체결한 고객이 상품을 해지하거나 실효되는 것을 미연에 방지하고자 여러가지 전략을 펼치게 됩니다. 이를 위해서는 일단 상품을 해지하거나 실효가 될 가능성이 높은 고객을 잘 찾아내는 게 중요합니다. 그래서 어떤 특성을 지니고 있는 고객들이 이탈 가능성이 높은지 기존 데이터를 분석해본 것이죠. 기존 데이터에는 연령, 납입 방법, 가입 채널, 계약 건수, 차월수, 인출 실패 횟수, 전화 횟수, 마케팅 정보 등의 다양한 변수들이 있을 겁니다. 그리고 타겟 변수를 해지나 실효로 지정하고 클러스터링을 실행합니다.


그 결과 실효 위험군의 특징과 해지 위험군의 특징이 도출되었습니다. 실효가 될 가능성이 높은 고객 집단은 최종 납입 방법이 실시간 이체, PAYCO, 지로 등이고 상품군은 시니어, 치매, 종합 등이며 월평균 인출실패회수가 0.572 이상인 경우라고 합니다. 그리고 그림에는 나와있지 않지만 이러한 고객 집단은 총 xxx명이 있으며 실효가 될 가능성은 xx%인지도 결과가 나옵니다.


어떻게 보면 고객 집단을 묶어주는 규칙(Rule)을 생성했다고 보시면 됩니다. 이렇게 특정한 타겟값을 만족하는 고객들을 묶어주는 것을 머신러닝 용어로 지도학습 클러스터링이라고 하고, 아일리스는 Rule을 생성했다고 표현하고 있습니다. 신용평가시스템에서 Rule을 통해 고객을 분류하고 신용등급을 매기는 것과 비슷한 개념이기 때문이죠. 이렇게 지도학습 클러스터링은 고객 세그먼팅을 통한 맞춤형 전략에서 유효하게 활용된다고 할 수 있습니다.


3. 시계열 분석 : 시간의 흐름에 따라 타겟을 예측한다


시계열 분석 : 10일동안 상품 출하량 예측


세번째 예시는 시간의 흐름에 따라 타겟을 예측하는 시계열 분석(Time Series Analysis) 모듈입니다. 1번 예시인 지도학습 예측 모델링에서도 주어진 데이터의 변수를 토대로 타겟을 예측한다고 설명드렸었죠. 이와 비슷하게 시계열 분석에서도 예측하고 싶은 타겟이 명확히 존재합니다. 위 그림에서는 상품의 재고량을 최적화하기 위해 적절한 출하량을 예측해보고 싶은 목표를 세운 거죠.


단, 지도학습 예측 모델링과의 차이는 출하량을 시간의 흐름에 따라 예측한다는 사실에 있습니다. 따라서 데이터에는 반드시 날짜 변수가 포함되어있어야 하며, 모델링을 할 때 날짜 변수를 별도로 지정해주어야 합니다. 1번 예시인 지도학습 예측 모델링에서는 날짜 변수가 별도로 필요하지 않았습니다. 최종적인 타겟값만 예측해내면 되니까요. 하지만 시계열 분석에서는 위 그림의 분석결과 그래프에서 보시다시피 시간에 따른 타겟값의 변화를 면밀하게 관찰할 수 있습니다. 일반적인 예측 모델링보다 더욱 고도화된 기술이라고 할 수 있죠.


4. 비지도학습 클러스터링 : 타겟을 지정하지 않아도 알아서 묶어준다


머신러닝 비지도학습 클러스터링 사기탐지

비지도학습 클러스터링 : 사기 행위 탐지(FDS)


네번째 예시는 샘플을 알아서 묶어주는 비지도학습 클러스터링(Unsupervised Clustering) 모듈입니다. 2번 예시인 지도학습 클러스터링에서는 고객을 묶는 기준을 제시하였습니다. 예를 들어 보험에 가입한 고객 중에서 이탈할(해지나 실효) 확률이 높은 고객을 묶어주라는 식이었죠. 즉 해지나 실효라는 타겟을 지정했기 때문에 지도학습 클러스터링이 가능했습니다.


그러나 클러스터링에는 지도학습 뿐만 아니라 비지도학습도 있습니다. 비지도학습의 경우 타겟을 지정하지 않습니다. 즉, 고객을 묶는 기준이나 조건을 사용자가 별도로 지정하지 않는다는 뜻이죠. 그럼 도대체 어떻게 묶어보라는 얘기일까요? 정답은 알아서 묶어보라는 겁니다. 컴퓨터가 알아서 비슷한 특성을 지닌 샘플들끼리 묶어보고, 클러스터별로 차이가 확연하게 드러나거나 특별한 클러스터가 있는지 찾아보라고 명령을 내린 셈이죠.


예를 들어 위 그림 예시에서는 금융 거래 내역 데이터를 분석하여 부정 사기 행위를 탐지하고자 하였습니다. 일반적으로 사기 행위는 어떤 특징이 있는지 명확히 규정하기가 힘든 게 사실입니다. 그래서 사기 행위라는 타겟을 지정해서 지도학습으로 예측하는 게 큰 의미가 없죠. 과거의 패턴과는 다르게, 미래에는 어떤 신종 사기 행위가 발생할 지 모르기 때문입니다. 이러한 경우 비지도학습 클러스터링을 적용하면 컴퓨터는 고객의 거래 정보를 탐색하면서 알아서 묶어주기 시작하는데, 특히 부정 사기 행위를 일으킬 가능성이 높은 고객에 대해서는 기존 고객의 패턴과는 다르기 때문에 별도의 집단으로 분리해줍니다. 즉, 우리에게는 사기일 가능성이 높다는 경고를 받게 되는 셈입니다.




지도학습, 비지도학습과 클러스터링의 의미지도학습, 비지도학습, 클러스터링의 관계


정리하자면 지도학습, 비지도학습, 클러스터링의 관계는 위 그림과 같습니다.


위 그림에서 화살표를 왼쪽에서 오른쪽으로 향하겠습니다. 데이터의 특성으로부터 예측하고 싶은 타겟을 지정하여 모델링을 하는 것을 지도학습 예측 모델링이라고 부릅니다. 예를 들어 남성이고 24살이고 결혼을 했으며 연봉이 4,500만원이고 자가를 보유한 사람은 대출 상환을 할 수 있는지 없는지 따져보고 싶을 때에는 예측 모델링을 하시면 됩니다. 이와 더불어, 예측하고 싶은 타겟을 시간의 흐름에 따라 관찰하고 싶을 때에는 시계열 분석을 활용하시면 되구요.


이제 화살표는 오른쪽에서 왼쪽으로 향해서 특정한 타겟값을 만족하는 집단은 어떤 특성을 가지고 있는지 역추적하는 것을 지도학습 클러스터링이라고 부릅니다. 예를 들어 대출 상환을 할 가능성이 높은 사람들만 묶어봤을 때, 그 집단의 성별, 나이, 가족, 연봉 등의 변수 정보를 출력해주게 되죠. 어떤 집단은 500명이 있는데 성별은 여성이고 나이는 34살~42살이고 연봉은 3,200만원에서 3,900만원 사이였고 결과적으로 대출 상환할 가능성이 89%였다는 식으로 말이죠.


마지막으로 화살표는 데이터의 특성으로부터 타겟으로 향하지 않고 그대로 밖으로 빠져나옵니다. 타겟을 지정하지 않아도 알아서 묶어주는 비지도학습 클러스터링이 이에 해당합니다. 예를 들어 고객 금융 거래 내역을 알아서 묶어줬더니 정상적인 거래와는 다른 독특한 집단이 발견되었습니다. 우리는 이를 힌트로 삼아 사기 행위 탐지(Fraud Detection)에 활용할 수 있습니다.