KR102264969B1 - 빅데이터 분석을 위한 시장 세분화 반딧불 알고리즘 방법 및 시스템 - Google Patents
빅데이터 분석을 위한 시장 세분화 반딧불 알고리즘 방법 및 시스템 Download PDFInfo
- Publication number
- KR102264969B1 KR102264969B1 KR1020190016440A KR20190016440A KR102264969B1 KR 102264969 B1 KR102264969 B1 KR 102264969B1 KR 1020190016440 A KR1020190016440 A KR 1020190016440A KR 20190016440 A KR20190016440 A KR 20190016440A KR 102264969 B1 KR102264969 B1 KR 102264969B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- solution
- market
- clusters
- distance
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0637—Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0202—Market predictions or forecasting for commercial activities
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Entrepreneurship & Innovation (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Data Mining & Analysis (AREA)
- Educational Administration (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 반딧불 알고리즘(Firefly algorithm; FA)을 이용하여 빅데이터 분석을 위한 시장 세분화 반딧불 알고리즘 방법 및 시스템에 관한 것으로, 최근 거래 데이터(Recency; R), 거래 횟수 데이터(Frequency; F) 및 거래 대금 크기 데이터(Monetary; M)를 포함하는 시장 데이터를 수집 및 전처리(preprocessing)하는 단계, 상기 RFM을 포함하는 복수의 시장 데이터들의 특징값과 가중치를 산출하는 단계, 상기 복수의 시장 데이터들 사이의 거리 및 거리의 상대적 비율을 산출하여 초기 해를 생성하고, 상기 초기 해에 대한 실루엣 평가값을 산출하여 적합 클러스터 수(K)를 결정하는 단계, 상기 시장 세분화 반딧불 알고리즘을 이용하여 상기 적합 클러스터 수에서의 최적해를 획득하는 단계 및 상기 최적해를 참조하여 상기 시장 데이터를 복수의 클러스터들로 최종 클러스터링하는 단계를 포함한다.
Description
본 발명은 빅데이터 분석을 위한 시장 세분화 반딧불 알고리즘 방법 및 시스템에 관한 것으로서, 보다 상세하게는 반딧불 알고리즘(Firefly algorithm; FA)을 이용하여 빅데이터 분석을 통한 시장 데이터를 세분화하는 방법 및 시스템에 관한 것이다.
고객관계관리(Customer Relationship Management; CRM)는 기업이 고객을 확보하고, 유지하며 이윤을 추구하기 위해 고객과 의미 있는 소통을 하고 이해하기 위한 경쟁력 확보 수단이다. Ngai&etc. (2009)는 CRM에서 고객을 식별(identification),, 유도(Attraction), 유지(Retention), 개발 및 발전(Development) 시키는 선순환 과정을 주장하였다.
고객관계관리의 주요 기능 중에서 특히, 기업의 주 타겟 고객(가장 높은 이익을 창출하는 고객)을 인식하고 식별하는 것은 매우 중요하고 이 핵심적인 고객 그룹을 어떻게 공략하고 유지하면서 발전시키는가 하는 것은 기업 영업 전략의 목표이기도 하다.
고객을 구별하고 식별하기 위해서는 고객 가치 분석(Customer value analysis)을 통한 고객 세분화(Customer segmentation)가 필요하다. 보다 상세하게, 고객 세분화를 하기 위해서는 고객의 최근 거래(Recency), 고객과의 거래 횟수(Frequency), 고객과의 거래 대금 크기(Monetary) 특징을 고려한 RFM 모델과 데이터 분석 기법으로 분류(Classification)와 군집화(Clustering)이 필요하다.
다만, 기존 기술에서는 군집화 방법인 K-means 또는 K-medoid를 적용하였으나, 데이터 사이즈가 크고 해 경우의 수가 커질 경우, 해 탐색 시 초기 값에 따라 다른 최종 해가 탐색될 가능성이 높고, 해의 표준편차가 높아 안정적인 해 탐색이 어려워 지역 해에 머무를 가능성이 높은 문제점이 존재한다.
본 발명은 고객가치 분석(Customer Value Analysis) 또는 고객 세분화(Customer Segmentation)을 위해 최근 거래 데이터(Recency; R), 거래 횟수 데이터(Frequency; F) 및 거래 대금 크기 데이터(Monetary; M)의 RFM 모델을 적용한 FA(반딧불 알고리즘) 데이터 클러스터링 방법을 제안하고자 한다.
본 발명의 실시예에 따른 시장 세분화 반딧불 알고리즘(Firefly algorithm; FA)을 이용하여 빅데이터 분석을 위한 데이터 세분화 방법에 있어서, 최근 거래 데이터(Recency; R), 거래 횟수 데이터(Frequency; F) 및 거래 대금 크기 데이터(Monetary; M)를 포함하는 시장 데이터를 수집 및 전처리(preprocessing)하는 단계, 상기 RFM을 포함하는 복수의 시장 데이터들의 특징값과 가중치를 산출하는 단계, 상기 복수의 시장 데이터들 사이의 거리 및 거리의 상대적 비율을 산출하여 초기 해를 생성하고, 상기 초기 해에 대한 실루엣 평가값을 산출하여 적합 클러스터 수(K)를 결정하는 단계, 상기 시장 세분화 반딧불 알고리즘을 이용하여 상기 적합 클러스터 수에서의 최적해를 획득하는 단계 및 상기 최적해를 참조하여 상기 시장 데이터를 복수의 클러스터들로 최종 클러스터링하는 단계를 포함한다.
상기 최적해를 획득하는 단계는 상기 상대적 비율에 반비례하는 확률과 상기 적합 클러스터 수의 데이터 중심 간의 거리에 의한 중심 데이터를 결정하는 단계, 상기 적합 클러스터 수의 상기 중심 데이터를 기반으로 상기 복수의 시장 데이터들을 클러스터링하여 클러스터링 해를 생성하는 단계, 상기 클러스터링 해에 대해 이웃 유인(Neighborhood-Attraction) 기법 및 풀 유인(Full-Attraction) 기법을 적용하여 최적해를 탐색하는 단계 및 동일한 해의 발생에 따라, 상대적 비율 및 클러스터의 중심 데이터 간의 거리(UVj)를 산출하여 새로운 영역 및 새로운 해를 탐색하는 단계를 포함할 수 있다.
상기 중심 데이터를 결정하는 단계는 상기 복수의 시장 데이터들 중 상기 복수의 시장 데이터들 각각으로부터의 상기 거리의 상대적 비율이 가장 작은 어느 하나의 데이터를 복수의 클러스터들 중 제1 클러스터의 중심 데이터로 선택하는 단계 및 상기 제1 클러스터를 제외한 나머지 클러스터들 각각에 대해, 상기 제1 클러스터를 포함하는 모든 클러스터의 선택된 모든 중심 데이터로부터의 거리 및 상기 복수의 시장 데이터들 각각으로부터의 거리의 상대적 비율과 관련된 평가함수를 최소화하는 데이터를 중심 데이터로 선택하는 단계를 포함할 수 있다.
상기 클러스터링 해를 생성하는 단계는 상기 적합 클러스터 수에 따라, 상기 복수의 클러스터들 각각의 중심 데이터를 기준으로 상기 복수의 시장 데이터들을 클러스터링하여 상기 클러스터링 해를 생성할 수 있다.
상기 최적해를 탐색하는 단계는 초기에 상기 이웃 유인 기법을 적용하여 해 탐색하고, 탐색 후 탐색 범위가 좁아지면 말기에 상기 풀 유인 기법을 적용하여 상기 최적해를 탐색할 수 있다.
상기 최적해를 탐색하는 단계는 상기 복수의 시장 데이터들에 클러스터 내부 거리(intra-cluster distance) 수식을 적용하여 산출되는 클러스터 내부 거리 평가값이 기 설정된 종료 조건에 부합하거나, 기 설정된 시간 범위에 충족할 때, 상기 시장 세분화 반딧불 알고리즘(Firefly Algorithm; FA)을 종료하여 상기 최적해를 도출할 수 있다.
상기 새로운 영역 및 새로운 해를 탐색하는 단계는 상기 탐색된 최적해에서 동일한 해가 발생되는 경우, 상기 중심 데이터를 결정하는 단계 및 상기 클러스터링 해를 생성하는 단계를 통해 상기 상대적 비율 및 클러스터의 중심 데이터 간의 거리(UVj)를 산출하여 다양한 해 탐색을 추구할 수 있다.
상기 복수의 시장 데이터들의 특징값과 가중치를 산출하는 단계는 상기 복수의 시장 데이터들에 대한 타겟 고객(target customer, most profitable customer)의 점수를 통해 상기 시장 데이터의 특징값을 결정하고, 마케팅 전략과 상품에 따른 상기 타겟 고객의 기준값으로 상기 시장 데이터의 가중치를 결정할 수 있다.
상기 클러스터링 해를 생성하여 적합 클러스터 수(K)를 결정하는 단계는 상기 복수의 시장 데이터들 중 p차원 특징을 나타내는 제i 데이터에서 제j 데이터까지의 거리(dij)를 산출하여 저장하는 단계, 상기 산출된 제i 데이터에서 제j 데이터까지의 거리(dij)의 합에서, 상기 복수의 시장 데이터들에 대한 상기 제j 데이터까지의 거리의 상대적 비율(Vj)을 산출하는 단계, 상기 산출된 상대적 비율을 확률적으로 적용하여 상기 복수의 시장 데이터들에 대한 상기 초기 해를 생성하는 단계, 상기 초기 해에 대한 상기 실루엣 평가값을 산출하는 단계 및 상기 실루엣 평가값에 기반하여 상기 적합 클러스터 수(K)를 획득하는 단계를 포함할 수 있다.
본 발명의 실시예에 따른 빅데이터 분석을 위한 시장 세분화 반딧불 알고리즘(Firefly algorithm; FA) 방법을 실행시키기 위해 컴퓨터로 읽을 수 있는 매체에 저장된 컴퓨터 프로그램에 있어서, 최근 거래 데이터(Recency; R), 거래 횟수 데이터(Frequency; F) 및 거래 대금 크기 데이터(Monetary; M)를 포함하는 시장 데이터를 수집 및 전처리(preprocessing)하는 단계, 상기 RFM을 포함하는 복수의 시장 데이터들의 특징값과 가중치를 산출하는 단계, 상기 복수의 시장 데이터들 사이의 거리 및 거리의 상대적 비율을 산출하여 초기 해를 생성하고, 상기 초기 해에 대한 실루엣 평가값을 산출하여 적합 클러스터 수(K)를 결정하는 단계, 상기 시장 세분화 반딧불 알고리즘을 이용하여 상기 적합 클러스터 수에서의 최적해를 획득하는 단계 및 상기 최적해를 참조하여 상기 시장 데이터를 복수의 클러스터들로 최종 클러스터링하는 단계를 포함하는 매체에 저장된 컴퓨터 프로그램.
본 발명의 실시예에 따른 시장 세분화 반딧불 알고리즘은 복수의 시장 데이터들에 대한 제i 데이터에서 제j 데이터까지의 거리의 상대적 비율(Vj)을 산출하는 단계, 상기 상대적 비율을 확률적으로 적용하여 획득되는 상기 복수의 시장 데이터들에 대한 실루엣 평가값에 따라 적합 클러스터 수(K)를 획득하는 단계, 상기 상대적 비율에 반비례하는 확률과 상기 적합 클러스터 수의 데이터 중심 간의 거리에 의한 중심 데이터를 결정하는 단계, 상기 적합 클러스터 수의 상기 중심 데이터를 기반으로 상기 복수의 시장 데이터들을 클러스터링하여 클러스터링 해를 생성하는 단계, 상기 클러스터링 해에 대해 이웃 유인(Neighborhood-Attraction) 기법 및 풀 유인(Full-Attraction) 기법을 적용하여 최적해를 탐색하는 단계 및 동일한 해의 발생에 따라, 상대적 비율 및 클러스터의 중심 데이터 간의 거리(UVj)를 산출하여 새로운 영역 및 새로운 해를 탐색하는 단계를 포함한다.
본 발명의 실시예에 따른 시장 세분화 반딧불 알고리즘(Firefly algorithm; FA)을 이용하여 빅데이터 분석을 위한 데이터 세분화 시스템에 있어서, 최근 거래 데이터(Recency; R), 거래 횟수 데이터(Frequency; F) 및 거래 대금 크기 데이터(Monetary; M)를 포함하는 시장 데이터를 수집 및 전처리(preprocessing)하는 수집부, 상기 RFM을 포함하는 복수의 시장 데이터들의 특징값과 가중치를 산출하는 산출부, 상기 복수의 시장 데이터들 사이의 거리 및 거리의 상대적 비율을 산출하여 초기 해를 생성하고, 상기 초기 해에 대한 실루엣 평가값을 산출하여 적합 클러스터 수(K)를 결정하는 결정부, 상기 시장 세분화 반딧불 알고리즘을 이용하여 상기 적합 클러스터 수에서의 최적해를 획득하는 획득부 및 상기 최적해를 참조하여 상기 시장 데이터를 복수의 클러스터들로 최종 클러스터링하는 클러스터링부를 포함한다.
상기 획득부는 상기 상대적 비율에 반비례하는 확률과 상기 적합 클러스터 수의 데이터 중심 간의 거리에 의한 중심 데이터를 결정하는 중심 데이터 결정부, 상기 적합 클러스터 수의 상기 중심 데이터를 기반으로 상기 복수의 시장 데이터들을 클러스터링하여 클러스터링 해를 생성하는 해 생성부, 상기 클러스터링 해에 대해 이웃 유인(Neighborhood-Attraction) 기법 및 풀 유인(Full-Attraction) 기법을 적용하여 최적해를 탐색하는 최적해 탐색부 및 동일한 해의 발생에 따라, 상대적 비율 및 클러스터의 중심 데이터 간의 거리(UVj)를 산출하여 새로운 영역 및 새로운 해를 해 탐색부를 포함할 수 있다.
상기 중심 데이터 결정부는 상기 복수의 시장 데이터들 중 상기 복수의 시장 데이터들 각각으로부터의 상기 거리의 상대적 비율이 가장 작은 어느 하나의 데이터를 복수의 클러스터들 중 제1 클러스터의 중심 데이터로 선택하고, 상기 제1 클러스터를 제외한 나머지 클러스터들 각각에 대해, 상기 제1 클러스터를 포함하는 모든 클러스터의 선택된 모든 중심 데이터로부터의 거리 및 상기 복수의 시장 데이터들 각각으로부터의 거리의 상대적 비율과 관련된 평가함수를 최소화하는 데이터를 중심 데이터로 선택할 수 있다.
상기 해 생성부는 상기 적합 클러스터 수에 따라, 상기 복수의 클러스터들 각각의 중심 데이터를 기준으로 상기 복수의 시장 데이터들을 클러스터링하여 상기 클러스터링 해를 생성할 수 있다.
상기 최적해 탐색부는 초기에 상기 이웃 유인 기법을 적용하여 해 탐색하고, 탐색 후 탐색 범위가 좁아지면 말기에 상기 풀 유인 기법을 적용하여 상기 최적해를 탐색할 수 있다.
상기 최적해 탐색부는 상기 복수의 시장 데이터들에 클러스터 내부 거리(intra-cluster distance) 수식을 적용하여 산출되는 클러스터 내부 거리 평가값이 기 설정된 종료 조건에 부합하거나, 기 설정된 시간 범위에 충족할 때, 상기 시장 세분화 반딧불 알고리즘(Firefly Algorithm; FA)을 종료하여 상기 최적해를 도출할 수 있다.
상기 해 탐색부는 상기 탐색된 최적해에서 동일한 해가 발생되는 경우, 상기 중심 데이터를 결정하는 단계 및 상기 클러스터링 해를 생성하는 단계를 통해 상기 상대적 비율 및 클러스터의 중심 데이터 간의 거리(UVj)를 산출하여 다양한 해 탐색을 추구할 수 있다.
상기 결정부는 상기 복수의 시장 데이터들 중 p차원 특징을 나타내는 제i 데이터에서 제j 데이터까지의 거리(dij)를 산출하여 저장하고, 상기 산출된 제i 데이터에서 제j 데이터까지의 거리(dij)의 합에서, 상기 복수의 시장 데이터들에 대한 상기 제j 데이터까지의 거리의 상대적 비율(Vj)을 산출하며, 상기 산출된 상대적 비율을 확률적으로 적용하여 상기 복수의 시장 데이터들에 대한 상기 초기 해를 생성하고, 상기 초기 해에 대한 상기 실루엣 평가값을 산출하여 상기 적합 클러스터 수(K)를 획득할 수 있다.
본 발명의 실시예에 따르면, 시장 세분화 반딧불 알고리즘(Firefly algorithm; FA)을 적용하여 적절한 고객 클러스터 수를 결정하고, 최적 해를 탐색하여 빅데이터 분석을 통한 효과적인 마케팅 전략에 효과적인 시장 세분화가 가능할 수 있다.
또한, 본 발명의 실시예에 따르면, 고객가치 분석(Customer Value Analysis) 또는 고객 세분화(Customer Segmentation)을 위해 최근 거래 데이터(Recency; R), 거래 횟수 데이터(Frequency; F) 및 거래 대금 크기 데이터(Monetary; M)의 RFM 모델을 적용한 FA(반딧불 알고리즘) 데이터 클러스터링 방법을 제안하여 전역 최적해 탐색 확률이 높고, 표준편차가 작아 안정적인 해 탐색이 가능하며, 기존 K-means에 비해 더 정확하고 우수한 고객 식별이 가능하여 효과적인 마케팅 전략 수립이 가능할 수 있다.
도 1은 본 발명의 실시예에 따른 복수의 데이터들이 복수의 클러스터들로 클러스터링되는 데이터 클러스터링 문제 및 실루엣 목적 함수를 설명하기 위해 도시한 것이다.
도 2는 본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 방법의 동작 흐름도를 도시한 것이다.
도 3은 본 발명의 실시예에 따른 시장 세분화 반딧불 알고리즘의 흐름도를 도시한 것이다.
도 4 내지 도 7은 본 발명의 실시예에 따른 FA 방법과 기존의 K-means 방법을 비교 분석한 결과를 도시한 것이다.
도 8는 본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 시스템의 세부 구성을 블록도로 도시한 것이다.
도 9는 본 발명의 실시예에 따른 획득부의 세부 구성을 블록도로 도시한 것이다.
도 2는 본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 방법의 동작 흐름도를 도시한 것이다.
도 3은 본 발명의 실시예에 따른 시장 세분화 반딧불 알고리즘의 흐름도를 도시한 것이다.
도 4 내지 도 7은 본 발명의 실시예에 따른 FA 방법과 기존의 K-means 방법을 비교 분석한 결과를 도시한 것이다.
도 8는 본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 시스템의 세부 구성을 블록도로 도시한 것이다.
도 9는 본 발명의 실시예에 따른 획득부의 세부 구성을 블록도로 도시한 것이다.
이하, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
또한, 본 명세서에서 사용되는 용어(terminology)들은 본 발명의 바람직한 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 시청자, 운용자의 의도 또는 본 발명이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 실시예들은, 반딧불 알고리즘(Firefly algorithm; FA)을 이용하여 빅데이터 분석을 통한 시장 데이터를 세분화하는 것을 그 요지로 한다.
고객 가치 분석을 통하여 기업의 수입 창출을 위한 우수한 고객을 그룹화하는 경우, 기존 방법인 K-means는 초기값에 따라 다른 최종해가 탐색될 가능성이 높고, 지역해에 머무를 가능성이 높다. 반면에, 본 발명에 따른 기술은 기존 방법의 한계점을 극복할 수 있는 시장 세분화 반딧불 알고리즘(Firefly algorithm; FA)을 제안한다.
나아가, 본 발명에 따른 기술은 효과적인 마케팅 전략 수립의 핵심 정보가 되는 고객가치 분석 또는 시장 세분화를 위해 최근 거래 데이터(Recency; R), 거래 횟수 데이터(Frequency; F) 및 거래 대금 크기 데이터(Monetary; M)를 포함하는 RFM 모델을 적용한 FA 데이터 클러스터링 방법을 제안한다.
이러한 본 발명에 대해 도 1 내지 도 9를 참조하여 설명하면 다음과 같다.
도 1은 본 발명의 실시예에 따른 복수의 데이터들이 복수의 클러스터들로 클러스터링되는 데이터 클러스터링 문제 및 실루엣 목적 함수를 설명하기 위해 도시한 것이다.
도 1을 참조하면, 데이터 클러스터링은 복수의 데이터들 각각의 복수의 클러스터들로 클러스터링 되는 문제의 해로서 수리적으로 정립화될 수 있다.
예를 들어, 복수의 데이터들이 과 같이 n개의 데이터 집합으로 구성되고(각 데이터 는 d 차원 특징(feature)로 구성되며, i번째 데이터의 특징 값은 로 표현됨), 복수의 데이터들이 k개의 복수의 클러스터들(복수의 클러스터들 중 어느 하나의 클러스터 k는 의 값을 가짐)로 클러스터링되는 경우, 복수의 데이터들이 복수의 클러스터들로 클러스터링되는 데이터 클러스터링 문제의 해는 [수학식 1]과 같이 제1 논리값 또는 제2 논리값 중 어느 하나로 결정되는 이진 변수로 표현되는 매트릭스 로 정의될 수 있다.
[수학식 1]
또한, 데이터 클러스터링 문제의 해는, 복수의 데이터들 각각이 복수의 클러스터들 중 하나의 클러스터에 클러스터링되는 조건 및 복수의 클러스터들 각각에 복수의 데이터들 중 적어도 하나 이상의 데이터가 클러스터링되는 조건을 만족해야 한다. 즉, 데이터 클러스터링 문제는 i번째 데이터 가 하나의 클러스터에 클러스터링되는 것과 k번째 클러스터에 적어도 하나 이상의 데이터가 클러스터링되는 것을 전제로 한다.
[수학식 2]
[수학식 3]
한편, 데이터 클러스터링 문제에서 실루엣 평가 함수는, 복수의 클러스터들 각각 내에서 데이터들(동일한 클러스터로 클러스터링된 데이터들)이 얼마나 조밀하게 모여 있는지, 그리고 복수의 클러스터들 사이가 얼마나 뚜렷하게 구분되는지를 평가하는 평가 기준으로 사용된다. 따라서, 실루엣 평가 함수는 복수의 클러스터들 각각 내에서 데이터들 사이의 거리와 복수의 클러스터들 간 데이터들 사이의 거리로 표현될 수 있다.
보다 상세하게는, 클러스터 A에 클러스터링되어 있는 데이터 와 클러스터 A에 클러스터링되어 있는 다른 데이터들 사이의 평균 거리 는, 클러스터 A 내에서 데이터들이 조밀하게 모여있는 정도를 나타낸다. 예를 들어, 가 작을수록 클러스터 A 내에서 데이터들이 조밀하게 모여있음을 의미한다.
또한, 클러스터 A와 다른 클러스터 B 및 C가 존재하고, 클러스터 A에 클러스터링되어 있는 i번째 데이터 에서 다른 클러스터 B 및 C의 각 데이터들과의 평균 거리를 각각 와 라 할 때, 는 [수학식 4]와 같이, 클러스터 A에 클러스터링되어 있는 i번째 데이터 에서 다른 클러스터 B 및 C의 각 데이터들 사이의 평균 거리 중 가장 작은 값을 의미한다. 예를 들어, 가 보다 작다면, 가 된다.
[수학식 4]
따라서, [수학식 5]와 같이 표현되는 실루엣 값 는 i번째 데이터 가 클러스터링되어 있는 클러스터 내에서 데이터들 사이의 거리 및 i번째 데이터 와 다른 클러스터(i번째 데이터 가 클러스터링되어 있는 클러스터와 다른 클러스터)에 클러스터링된 데이터들 사이의 거리를 나타낸다.
[수학식 5]
즉, [수학식 5]에서, 실루엣 값 가 클수록 i번째 데이터 가 클러스터링되어 있는 클러스터 내에서 데이터들은 조밀하게 모여 있고, i번째 데이터 가 클러스터링되어 있는 클러스터와 다른 클러스터 간 데이터들 사이가 뚜렷하게 구별됨을 의미한다.
[수학식 6]
[수학식 6]에서, 평균 실루엣 값 이 1에 가까운 경우는 데이터 클러스터링이 매우 잘된 것을 의미하고, -1에 가까운 경우는 데이터 클러스터링이 잘 되지 않음을 의미한다. 평균 실루엣 값 이 0에 가까운 경우는 데이터 클러스터링에서 데이터 클러스터 소속이 불분명한 경우를 의미한다.
데이터 클러스터 과정에서 평균 실루엣 값 이 계산되는 예시는 다음과 같다. 도면과 같이, 10개의 데이터들 각각이 특징 a1과 a2로 구성되고, K=3으로 3개의 클러스터들로 10개의 데이터들이 클러스터링되어, 클러스터 1에 데이터 x1(1,1), x2(1,2), x3(2,1)가 클러스터링되고, 클러스터 2에 데이터 x4(5,6), x5(5,7), x6(6,6), x7(6,7)가 클러스터링되며, 클러스터 3에 데이터 x8(9,1), x9(10,1), x10(10,2)가 클러스터링된 경우, 클러스터 1에 속한 x1과 클러스터 1의 다른 데이터들과의 평균 거리 a(x1)이 1.207로 산출되고, 클러스터 1에 속한 데이터 x1에서 다른 클러스터 2의 각 데이터들과의 평균거리 d(x1,2)가 7.1238로 산출되며, 클러스터 1에 속한 데이터 x1에서 다른 클러스터 3의 각 데이터들과의 평균 거리 d(x1,3)가 8.7058로 산출될 수 있다.
이에, [수학식 4]에 따라, 이 7.1238로 산출되고, [수학식 5]에 따라, 이 0.8596으로 산출된다. 이와 같이, 내지 도 동일한 방식으로 산출되어, 최종적으로 [수기 6]에 의해 평균 실루엣 값 이 0.8214로 산출될 수 있다.
구체적으로, 본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 방법 및 시스템은, 데이터 클러스터링 중 적절한 고객 가치 구분 수(또는 적합 클러스터 수(K))를 결정하는 과정에서 실루엣 목적 함수 를 적용할 수 있다.
도 2는 본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 방법의 동작 흐름도를 도시한 것이다.
도 2를 참조하면, 단계 210에서, 최근 거래 데이터(Recency; R), 거래 횟수 데이터(Frequency; F) 및 거래 대금 크기 데이터(Monetary; M)를 포함하는 시장 데이터를 수집 및 전처리(preprocessing)한다.
고객가치 빅데이터 분석을 위해서는 특정 기업(또는 타겟 고객)의 시장 데이터(RFM 데이터)를 수집하여야 하므로, 본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 방법은 S-company의 사례를 예로 설명하나, 특정 기업은 한정하지 않는다.
단계 210은 특정 기업으로부터 최근 거래 데이터(Recency; R), 거래 횟수 데이터(Frequency; F) 및 거래 대금 크기 데이터(Monetary; M)를 포함하는 시장 데이터를 수집하며, 데이터 클러스터링을 위한 데이터 전처리(preprocessing)를 할 수 있다.
단계 220에서, RFM을 포함하는 복수의 시장 데이터들의 특징값과 가중치를 산출한다.
단계 220은 복수의 시장 데이터들에 대한 타겟 고객(target customer, most profitable customer)의 점수를 통해 시장 데이터의 특징값을 결정하고, 마케팅 전략과 상품에 따른 타겟 고객의 기준값으로 시장 데이터의 가중치를 결정할 수 있다.
본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 방법은 시장 데이터인 RFM 모델을 적용하여 고객을 세분화하고, 타겟 고객(target customer, most profitable customer)을 구별하여 효과적인 마케팅 전략을 수립하기 위해 복수의 시장 데이터들의 특징값과 가중치를 산출한다.
단계 220은 타겟 고객의 20%씩 1 내지 5의 값으로 시장 데이터의 특징값을 결정하고, 각 기업의 마케팅 전략과 상품에 따라 또는 임직원이 함께 판단하는 기준값으로 시장 데이터의 가중치를 결정할 수 있다. 예를 들면, 최근 거래 데이터(Recency; R)에 대하여, 최신 거래가 많을수록 타겟 고객을 1에서 5의 값으로 점수화하여 결정하고, 거래 횟수 데이터(Frequency; F)에 대하여, 거래 횟수가 많을수록 타겟 고객을 1에서 5의 값으로 점수화하여 결정하며, 거래 대금 크기 데이터(Monetary; M)에 대하여, 거래 대금이 많을수록 타겟 고객을 1에서 5의 값으로 점수화하여 결정할 수 있다. 이 때, 단계 220은 RFM 모델에 대해 거래가 많을수록 5에 근접한 점수를 결정하는 것을 특징으로 하나, 이에 한정하지 않으며, 점수화하는 기준은 적용되는 실시예에 따라 다양하게 적용 가능함은 당연하다.
단계 230에서, 복수의 시장 데이터들 사이의 거리 및 거리의 상대적 비율을 산출하여 초기 해를 생성하고, 초기 해에 대한 실루엣 평가값을 산출하여 적합 클러스터 수(K)를 결정한다.
보다 구체적으로, 단계 230은 복수의 시장 데이터들 중 p차원 특징을 나타내는 제i 데이터에서 제j 데이터까지의 거리(dij)를 산출하여 저장하는 단계, 산출된 제i 데이터에서 제j 데이터까지의 거리(dij)의 합에서, 복수의 시장 데이터들에 대한 제j 데이터까지의 거리의 상대적 비율(Vj)을 산출하는 단계, 산출된 상대적 비율을 확률적으로 적용하여 복수의 시장 데이터들에 대한 초기 해를 생성하는 단계, 초기 해에 대한 실루엣 평가값을 산출하는 단계 및 실루엣 평가값에 기반하여 적합 클러스터 수(K)를 획득하는 단계를 포함할 수 있다.
단계 230은 하기의 [수학식 7]을 사용하여 P개의 특징을 가진 복수의 시장 데이터들 즉, 제i 데이터에서 제j 데이터까지의 거리를 산출하여 저장할 수 있다.
[수학식 7]
[수학식 7]을 통해 단계 230은 k개의 그룹으로 클러스터링된 n개의 시장 데이터들 간의 거리 즉, 제i 데이터에서 제j 데이터까지의 거리를 산출할 수 있다. 이 때, p는 P차원(특징, feature)을 나타내며, a는 좌표를 나타낸다. 실시예에 따라서, 단계 230은 [수학식 7]을 통해 산출된 거리 값을 저장하고, 필요 시 재 사용할 수 있다.
이후에, 단계 230은 산출된 제i 데이터에서 제j 데이터까지의 거리(dij)의 합에서, 복수의 시장 데이터들에 대한 제j 데이터까지의 거리의 상대적 비율(Vj)을 산출할 수 있다. 단계 230은 하기의 [수학식 8]을 사용하여 복수의 시장 데이터들에 대하여 제j 데이터까지의 거리의 상대적인 비율(Vj)을 산출할 수 있다.
[수학식 8]
이 때, [수학식 8]을 통해 산출되는 상대적인 비율 값이 작을수록 해당 데이터 j가 클러스터링할 때 중심 데이터 역할을 하는 것이 유리할 수 있고, 실루엣 평가값이 좋은 해 탐색에 효과적으로 적용될 수 있다.
나아가, 단계 230은 상대적 비율 및 클러스터의 중심 데이터 간의 거리(UVj)를 적용하여 복수의 시장 데이터들에 대한 초기 해를 생성할 수 있다. 예를 들면, 단계 230은 복수의 시장 데이터들에서 제j 데이터까지의 거리의 상대적인 비율 및 클러스터의 중심 데이터 간의 거리(UVj)를 확률적으로 적용하여 상대적으로 향상된 초기 해를 생성할 수 있다. 이로 인해, 본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 방법은 생성된 초기 해를 이용함으로써, 데이터의 복잡도가 크더라도 성능이 우수한 반딧불 알고리즘 출력이 가능하며, 계산시간을 효율화할 수 있다. 이 때, 상대적 비율 및 클러스터의 중심 데이터 간의 거리(UVj)는 이하에서 설명되는 단계 310 및 단계 320에 의해 산출될 수 있다.
단계 240에서, 시장 세분화 반딧불 알고리즘을 이용하여 적합 클러스터 수에서의 최적해를 획득한다.
반딧불 알고리즘(FA)은 밝기(light)의 강도(intensity)에 따른 선호도(attractiveness)와 거리(distance)에 따른 해 탐색 방법으로, 각각의 초기 해(반딧불, firefly)가 좋은 실루엣 평가값을 갖는 해(이하에서는 ‘이웃 해’로 지칭함)에 대하여 선호도를 닮아가는 과정(탐색)에서, 거리를 동시에 고려할 수 있다. 즉, 본 발명의 실시예에 따른 반딧불 알고리즘(FA)은 밝기의 강도가 높은 반딧불을 닮기 위해 더 좋은 즉, 더 나은 실루엣 평가값을 갖는 이웃 해를 탐색하며, 동시에 가능한 가까운 거리에 위치하는 해의 선호도를 탐색할 수 있다.
이러한 경향은 전체 해 군을 자동적으로 지역 그룹으로 나누게 되고, 각 반딧불은 각 지역 그룹의 지역 최적해(local optimum)를 탐색하게 된다. 이 지역 최적해들 중 가장 좋은 해가 전역 최적해(global optimum)가 될 수 있다.
이에 따라서, 본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 방법에서, 각 반딧불(해)은 지역에서 가장 가까운 거리의 더 좋은 반딧불(해)을 닮아 해를 탐색하기 때문에, 각각의 지역 최적해 탐색능력이 다른 알고리즘과 비교할 때, 지역 최적해의 탐색능력이 상대적으로 뛰어나다. 그러므로, 본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 방법은 초기 해 군의 크기(population size)를 충분히 한다면, 동시에 지역 최적해 및 전역 최적해의 탐색이 가능하다.
도 3은 본 발명의 실시예에 따른 시장 세분화 반딧불 알고리즘의 흐름도를 도시한 것이다.
도 3을 참조하면, 상대적 비율(Vj)에 반비례하는 확률과 적합 클러스터 수(k)의 데이터 중심 간의 거리에 의한 중심 데이터를 결정하고, 적합 클러스터 수(k)의 중심 데이터를 기반으로 복수의 시장 데이터들을 클러스터링하여 클러스터링 해를 생성할 수 있다(단계 310 및 단계 320).
단계 310은 복수의 시장 데이터들 중 복수의 시장 데이터들 각각으로부터의 거리의 상대적 비율이 가장 작은 어느 하나의 데이터를 복수의 클러스터들 중 제1 클러스터의 중심 데이터로 선택하는 제1 단계, 및 제1 클러스터를 제외한 나머지 클러스터들 각각에 대해, 제1 클러스터를 포함하는 모든 클러스터의 선택된 모든 중심 데이터로부터의 거리 및 복수의 시장 데이터들 각각으로부터의 거리의 상대적 비율과 관련된 평가함수를 최소화하는 데이터를 중심 데이터로 선택하는 제2 단계를 포함할 수 있다.
도 1을 참조하여 설명하면, 기존의 데이터 클러스터링 방법은 n개의 데이터 집합으로 구성되는 복수의 데이터들 각각으로부터의 거리의 비율을 이용하여 데이터 클러스터링 문제의 해를 탐색하는 기법으로서, [수학식 8]과 같이 계산되는 복수의 데이터들 각각으로부터의 거리의 비율 Vj이 작은 순서대로 클러스터의 개수인 K개의 중심 데이터들을 선택하고, 나머지 데이터들을 중심 데이터들에 할당함으로써, 중심 데이터를 기준으로 복수의 데이터들을 클러스터링한 해를 획득하는 방법이다.
[수학식 8]에서 dij는 데이터 xi에서 데이터 xj까지의 거리를 의미하며, [수학식 7]과 같이 계산된다.
우선, 데이터 클러스터링 문제의 해를 탐색하기 위해서는, 복수의 데이터들이 클러스터링될 클러스터들의 개수가 결정되어야 한다. 이를 위해, 기존의 데이터 클러스터링 방법은, 데이터 클러스터링 문제에서 복수의 데이터들이 클러스터링되는 클러스터들의 개수를 실루엣 값에 기초하여 결정할 수 있다.
본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 방법 역시 설명된 원리를 바탕으로 데이터 클러스터링 문제에서 클러스터의 개수를 사전에 결정할 수 있다.
이와 같은 기존의 데이터 클러스터링 방법은, 클러스터들의 개수를 결정한 뒤, 클러스터들의 개수에 따라 Vj가 작은 순서대로 각 클러스터의 중심 데이터를 선택하고, 각 클러스터의 중심 데이터 중 거리가 가까운 중심 데이터에 나머지 데이터들을 할당함으로써, 데이터 클러스터링 문제의 해를 탐색할 수 있다.
예를 들어, 15개의 데이터들(각 데이터 xi는 특징 a1과 a2를 가짐)의 데이터 클러스터링 문제에서, 15개의 데이터들 각각의 Vj(해당 데이터로부터 나머지 데이터들까지의 거리의 비율)는 [표 1]과 같이 계산될 수 있다.
[표 1]
단계 310의 상기 제1 단계는 [표 1]의 데이터 클러스터링 문제에서 하기의 [수학식 9]를 이용하여 Vj가 가장 작은 데이터 x6을 제1 클러스터의 중심 데이터 C1으로 선택할 수 있다.
[수학식 9]
그 후, 제1 클러스터를 제외한 나머지 클러스터들 각각에 대해, 상기 제2 단계는 제1 클러스터를 포함하는 모든 클러스터의 선택된 모든 중심 데이터로부터의 거리 및 복수의 데이터들 각각으로부터의 거리의 상대적 비율과 관련된 평가함수를 최소화하는 데이터를 중심 데이터로 선택할 수 있다. 보다 상세하게, 상기 제1 단계는 나머지 클러스터들에 대해 하기의 [수학식 10]과 같이 계산되는 평가함수 를 이용하여 순차적으로 각각의 중심 데이터를 선택할 수 있다.
[수학식 10]
[수학식 10]에서, Cj는 이전에 선택된 클러스터의 중심 데이터를 의미하고, xi는 이전에 선택되지 않은 나머지 데이터들 중 어느 하나의 데이터를 의미한다.
예를 들어, 상기 제2 단계는 상기 제1 단계에서 선택된 데이터를 제외한 나머지 데이터들 각각에 대한 평가함수를 하기의 [표 2]와 같이 산출할 수 있다.
[표 2]
이에, 상기 제1 단계는 계산된 나머지 데이터들 각각에 대한 평가함수를 기초로 하기의 [수학식 11]을 이용하여 가장 작은 평가함수 값을 갖는 x13을 제2 클러스터의 중심 데이터 C2로 선택할 수 있다.
[수학식 11]
이어서, 상기 제2 단계는 제2 클러스터의 중심 데이터로 선택된 데이터를 제외한 나머지 데이터들 각각에 대한 평가함수를 하기의 [표 3]과 같이 업데이트할 수 있다. 보다 구체적인 예를 들면, x1 데이터의 평가함수를 하기의 [수학식 12]와 같이 계산하여 업데이트할 수 있다.
[수학식 12]
[표 3]
따라서, 상기 제1 단계는 업데이트된 나머지 데이터들 각각에 대한 평가함수를 기초로 [수학식 11]을 이용하여 가장 작은 평가함수 값을 갖는 x9를 제3 클러스터의 중심 데이터 C3으로 선택할 수 있다.
이 때, 상기 제1 단계는 나머지 클러스터들에 대해 평가함수를 이용하여 순차적으로 각각의 중심 데이터를 선택하도록 할 수 있으며, 이는 모든 클러스터들의 중심 데이터들을 선택할 때까지 반복될 수 있다. 이에, 상기 제1 단계는 제1 클러스터에 대해 선택된 중심 데이터 및 나머지 클러스터들에 대해 선택된 중심 데이터들의 총 개수를 복수의 클러스터들의 개수와 비교하여, 총 개수가 복수의 클러스터들의 개수와 일치하는 경우, 나머지 클라이언트들 각각의 중심데이터를 선택하는 것을 중지할 수 있다.
단계 330에서, 클러스터링 해에 대해 이웃 유인(Neighborhood-Attraction) 기법 및 풀 유인(Full-Attraction) 기법을 적용하여 최적해를 탐색할 수 있다.
예를 들면, 단계 330은 복수의 초기 해 각각에 클러스터 내부 거리(intra-cluster distance) 수학식을 적용하여 초기 해의 클러스터 내부 거리 평가값을 산출할 수 있다.
보다 구체적으로, 단계 330은 클러스터 수(K=3)와 데이터 수(n=10)의 매트릭스 W={Wik}로 해를 표현할 수 있으며, 2차원(3*10) 해로 표현할 수 있으며, 모든 고객 Gj를 확률적으로 적합 클러스터 수 K(=1, 2, 3)에 랜덤으로 할당하여 초기 해를 생성하고, 하기의 [수학식 13]를 통해 클러스터 내부 거리(intra-cluster distance) 평가값을 산출한다.
[수학식 13]
[수학식 14]
여기서, 는 하기의 [수학식 15]과 같이 표현되며, 는 의 클러스터 k에서 특징(feature) 데이터 j의 평균값을 나타낸다. 또한, d는 3차원(R, F, M 특징)으로 구성된다.
[수학식 15]
이 때, [수학식 15]은 전술한 [수학식 1] 내지 [수학식 3]에 의해 산출될 수 있다.
또한, 단계 330은 복수의 초기 해 간의 거리 및 클러스터 내부 거리 평가값의 차이값을 이용하여 클러스터 내부 거리 평가값에 반비례하는 선호도를 산출할 수 있다.
[수학식 16]
전술한 [수학식 13]을 통해 산출되는 클러스터 내부 거리 평가값은 최소화 문제이므로, 선호도는 평가값에 반비례할 수 있다.
예를 들어, 초기 해 의 실루엣 평가값 이 초기 해 의 실루엣 평가값 보다 높은 경우, 초기 해 가 초기 해 를 만큼 따라가려는 성향을 나타낼 수 있다. 이 때, 단계 330은 초기 해 와 의 거리 r을 계산하고, 와 r을 고려하여 선호도 를 산출할 수 있다.
본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 방법은 선호도를 기반으로 이웃 해를 탐색할 수 있다(단계 330).
단계 330은 선호도가 산출되는 경우, 초기 해의 클러스터 내부 거리 평가값 및 선호도를 동시에 고려하여 이웃 해를 탐색하고, 선호도가 산출되지 않는 경우, 랜덤하게 이웃 해를 탐색할 수 있다.
일 예로, 단계 330은 초기 해의 클러스터 내부 거리 평가값 및 선호도를 동시에 고려하여 와 사이의 거리 r을 계산하며, 초기 해 에 비해 더 좋은 이웃 해 가 존재하는 경우, 를 닮아가면서 더 좋은 해를 탐색하는 과정에서 하기의 [수학식 17]을 통한 에 따라 수렴하여 이웃 해를 탐색할 수 있다.
[수학식 17]
[수학식 18]
[수학식 17] 및 [수학식 18]을 일반화하면, 하기의 [수학식 19]와 같다.
[수학식 19]
본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 방법은 초기 해(반딧불) i와 j 각각의 실루엣 평가값 중에서 실루엣 평가값 가 보다 좋은 경우, 수렴 속도를 조절할 수 있는 파라미터 를 적절하게 선택하여 초기 해 가 를 거리 r에 따라 탐색하도록 조정할 수 있다. 이와 같이, 반딧불 알고리즘을 이용한 데이터 세분화 방법은 거리를 고려하기 때문에 각 지역별 탐색 기능이 뛰어나며, 비선형, 멀티모달(Multi-Model) 최적화 문제에 적절히 적용될 수 있다.
나아가, 본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 방법은 [수학식 19]를 기반으로, 초기에 이웃 유인(Neighborhood-Attraction) 기법을 적용하여 계산시간을 줄이면서 효율적으로 해 탐색을 하고, 탐색 후 탐색 범위가 좁아지면, 말기에 풀 유인(Full-Attraction) 기법을 적용하여 정밀하게 세밀한 탐색을 할 수 있다.
이 때, 상기 이웃 유인 기법은 풀 유인 기법과는 다르게 선택된 초기 해(반딧불)에 대하여 선택된 더 좋은 일부 이웃의 초기 해(반딧불)를 닮아가려는 기법이므로, 계산시간을 최소화할 수 있다. 다만, 상기 이웃 유인 기법은 풀 유인 기법처럼 면밀한 해 탐색은 부족하다. 이에 따라서, 본 발명의 실시예에 따른 반딧불 알고리즘은 이웃 유인(Neighborhood-Attraction) 기법 및 풀 유인(Full-Attraction) 기법을 모두 적용하여 보다 정확도 높은 최적해를 탐색할 수 있다.
예를 들어 [수학식 18]을 적용할 때, 일수록 실시예에 따른 반딧불 알고리즘은 수렴 속도가 낮고, 세밀한 탐색을 할 수 있다. 반면에, 일수록 반딧불 알고리즘은 수렴 속도가 높고, 실루엣 평가값 차이인 에 큰 영향을 받을 수 있다.
본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 방법의 340은 반딧불 알고리즘(FA)을 적용하여 해가 수렴하면서 동일한 해가 발생하는 경우 예를 들어, 초기 해(반딧불)의 실루엣 평가값과 해 표현이 같게 되는 경우, 해당 초기 해(반딧불) 중 어느 하나를 제거하고, 상대적 비율 및 클러스터의 중심 데이터 간의 거리(UVj)를 통해 새로운 해 생성하여 투입할 수 있다. 즉, 본 발명은 다양한 해 탐색을 위한 새로운 영역을 탐색할 수 있다.
예를 들어, 초기 해 간의 거리를 고려하지 않는 경우(일 경우), 파티클 군집 최적화(Particle Swarm Optimization, PSO)는 반딧불 알고리즘(Firefly Algorithm, FA)의 특별한 케이스가 될 수 있다. 다시 말해, 반딧불 알고리즘(FA)은 파티클 군집 최적화(PSO)의 일반화된 최적화 방법이며, 파티클 군집 최적화(PSO)보다 더 향상된 방법일 수 있다.
반딧불 알고리즘(FA)은 거리를 고려하기 때문에, 파티클 군집 최적화(PSO)처럼 기존 지역 최선해(pbest)와 전역 최선해(gbest)를 무조건 모방하여 발생할 수 있는 잘못된 조기 수렴 위험을 최소화할 수 있다.
본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 방법은 클러스터 내부 거리 평가값 및 상기 선호도를 기준으로 탐색된 이웃 해 간의 초기 해들을 업데이트하여 적합 클러스터 수에서의 최적해를 획득할 수 있다(단계 350).
단계 350은 탐색된 이웃 해에 대하여, [수학식 13]를 통해 클러스터링 해에 대한 클러스터 내부 거리 평가값을 재 산출하여 적합 클러스터 수와 초기 해들을 업데이트할 수 있다. 이 때, 단계 350은 클러스터 내부 거리 평가값이 기 설정된 종료 조건에 부합하거나, 기 설정된 시간 범위(예를 들어, 사용자가 정보를 필요로 하는 시간 범위)에 충족할 때, 시장 세분화 반딧불 알고리즘(Firefly Algorithm; FA)을 종료하여 최적해를 도출할 수 있다.
실시예에 따라서, 단계 350은 종료 조건에 만족하지 않는 경우, 다음으로 적절한 적합 클러스터 수를 선택하여 데이터 중심 간의 거리에 의한 중심 데이터를 결정하고, 중심 데이터에 따른 복수의 시장 데이터들을 클러스터링하여 클러스터링 해를 생성하며, 클러스터링 해에 대해 이웃 유인 기법 및 풀 유인 기법을 적용하여 최적해를 탐색하는 과정을 재 수행할 수 있다.
단계 250에서, 최적해를 참조하여 시장 데이터를 복수의 클러스터들로 최종 클러스터링한다. 이후에, 본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 방법은 단계 260에서, 시장 세분화 결과를 적용할 수 있다. 예를 들면, 단계 260은 최종 클러스터링된 시장 데이터를 타겟 고객에 따른 마케팅에 적용할 수 있다.
도 4 내지 도 7은 본 발명의 실시예에 따른 FA 방법과 기존의 K-means 방법을 비교 분석한 결과를 도시한 것이다.
도 4를 참조하면, 클러스터 수 K=5일 때, 본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 방법(또는 FA 방법)과 기존의 K-means 방법을 비교 분석한 결과, FA 방법에 의한 가장 좋은 그룹 C2는 7.922456의 거리를 나타내고, K-means 방법에 의한 가장 좋은 그룹 C4는 7.906256의 거리를 나타내는 것을 확인할 수 있으며, 이로 인하여 본 발명의 실시예에 따른 FA 방법이 K-means 방법보다 원점(0,0)과 RFM 평균까지의 거리가 큰 것을 알 수 있다.
도 5를 참조하면, 클러스터 수 K=5일 때, 본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 방법(또는 FA 방법)과 기존의 K-means 방법에 의한 우수 그룹의 해(Best solution)를 비교 분석한 결과, FA 방법에 의한 가장 우수한 그룹인 클러스터 C2의 거래처는 28개이며, K-means 방법에 의한 가장 우수한 그룹인 클러스터 C4의 거래처는 26개를 나타내는 것을 확인할 수 있으며, 이로 인하여 본 발명의 실시예에 따른 FA 방법이 K-means 방법보다 더 많은 우수 그룹을 세분화하는 것을 알 수 있다. 이 때, FA 방법에 의한 우수한 그룹은 1로 표시하고, K-means 방법에 의한 우수한 그룹은 3으로 표시하였다.
도 6을 참조하면, 클러스터 수 K=3일 때, 본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 방법(또는 FA 방법)과 기존의 K-means 방법을 비교 분석한 결과, FA 방법에 의한 가장 좋은 그룹 C1는 7.82549의 거리를 나타내고, K-means 방법에 의한 가장 좋은 그룹 C2는 7.376305의 거리를 나타내는 것을 확인할 수 있으며, 이로 인하여 본 발명의 실시예에 따른 FA 방법이 K-means 방법보다 원점(0,0)과 RFM 평균까지의 거리가 큰 것을 알 수 있다.
도 7을 참조하면, 클러스터 수 K=7일 때, 본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 방법(또는 FA 방법)과 기존의 K-means 방법을 비교 분석한 결과, FA 방법에 의한 가장 좋은 그룹 C4는 8.183655의 거리를 나타내고, K-means에 의한 가장 좋은 그룹 C6는 8.073398의 거리를 나타내는 것을 확인할 수 있으며, 이로 인하여 본 발명의 실시예에 따른 FA 방법이 K-means 방법보다 원점(0,0)과 RFM 평균까지의 거리가 큰 것을 알 수 있다.
고객의 수와 클러스터 수가 클수록 경우의 수가 많아지기 때문에 기존의 K-means 방법은 지역해에 머물 확률이 크고 최종해의 표준편차가 커 안정적인 해 탐색이 어렵다. 이에 반해, 본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 방법은 전역 최적해 탐색 확률이 높고 표준편차가 작아 안정적인 해 탐색이 가능하다. 도 4 내지 도 7에 도시한 바와 같이, 실험을 통해 본 발명에서 제안하는 FA 방법의 성능이 기존의 K-means 방법과 비교 분석한 결과 보다 우수한 것을 검증하였다.
도 8는 본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 시스템의 세부 구성을 블록도로 도시한 것이고, 도 9는 본 발명의 실시예에 따른 획득부의 세부 구성을 블록도로 도시한 것이다.
도 8을 참조하면, 본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 시스템은 반딧불 알고리즘(Firefly algorithm; FA)을 이용하여 빅데이터 분석을 통한 시장 데이터를 세분화한다.
이를 위해, 본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 시스템(800)은 수집부(810), 산출부(820), 결정부(830), 획득부(840) 및 클러스터링부(850)를 포함한다.
수집부(810)는 최근 거래 데이터(Recency; R), 거래 횟수 데이터(Frequency; F) 및 거래 대금 크기 데이터(Monetary; M)를 포함하는 시장 데이터를 수집 및 전처리(preprocessing)한다.
고객가치 빅데이터 분석을 위해서는 특정 기업(또는 타겟 고객)의 시장 데이터(RFM 데이터)를 수집하여야 하므로, 본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 시스템(800)은 S-company의 사례를 예로 설명하나, 특정 기업은 한정하지 않는다.
수집부(810)는 특정 기업으로부터 최근 거래 데이터(Recency; R), 거래 횟수 데이터(Frequency; F) 및 거래 대금 크기 데이터(Monetary; M)를 포함하는 시장 데이터를 수집하며, 데이터 클러스터링을 위한 데이터 전처리(preprocessing)를 할 수 있다.
산출부(820)는 RFM을 포함하는 복수의 시장 데이터들의 특징값과 가중치를 산출한다.
산출부(820)는 복수의 시장 데이터들에 대한 타겟 고객(target customer, most profitable customer)의 점수를 통해 시장 데이터의 특징값을 결정하고, 마케팅 전략과 상품에 따른 타겟 고객의 기준값으로 시장 데이터의 가중치를 결정할 수 있다.
본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 시스템(800)은 시장 데이터인 RFM 모델을 적용하여 고객을 세분화하고, 타겟 고객(target customer, most profitable customer)을 구별화하여 효과적인 마케팅 전략을 수립하기 위해 복수의 시장 데이터들의 특징값과 가중치를 산출한다.
산출부(820)는 타겟 고객의 20%씩 1 내지 5의 값으로 시장 데이터의 특징값을 결정하고, 각 기업의 마케팅 전략과 상품에 따라 또는 임직원이 함께 판단하는 기준값으로 시장 데이터의 가중치를 결정할 수 있다. 예를 들면, 최근 거래 데이터(Recency; R)에 대하여, 최신 거래가 많을수록 타겟 고객을 1에서 5의 값으로 점수화하여 결정하고, 거래 횟수 데이터(Frequency; F)에 대하여, 거래 횟수가 많을수록 타겟 고객을 1에서 5의 값으로 점수화하여 결정하며, 거래 대금 크기 데이터(Monetary; M)에 대하여, 거래 대금이 많을수록 타겟 고객을 1에서 5의 값으로 점수화하여 결정할 수 있다. 이 때, 산출부(820)는 RFM 모델에 대해 거래가 많을수록 5에 근접한 점수를 결정하는 것을 특징으로 하나, 이에 한정하지 않으며, 점수화하는 기준은 적용되는 실시예에 따라 다양하게 적용 가능함은 당연하다.
결정부(830)는 복수의 시장 데이터들 사이의 거리 및 거리의 상대적 비율을 산출하여 초기 해를 생성하고, 초기 해에 대한 실루엣 평가값을 산출하여 적합 클러스터 수(K)를 결정한다.
보다 구체적으로, 결정부(830)는 복수의 시장 데이터들 중 p차원 특징을 나타내는 제i 데이터에서 제j 데이터까지의 거리(dij)를 산출하여 저장하고, 산출된 제i 데이터에서 제j 데이터까지의 거리(dij)의 합에서, 복수의 시장 데이터들에 대한 상기 제j 데이터까지의 거리의 상대적 비율(Vj)을 산출하며, 산출된 상대적 비율을 확률적으로 적용하여 복수의 시장 데이터들에 대한 초기 해를 생성하고, 초기 해에 대한 실루엣 평가값을 산출하여 적합 클러스터 수(K)를 획득할 수 있다.
보다 구체적으로, 결정부(830)는 [수학식 7]을 사용하여 P개의 특징을 가진 복수의 시장 데이터들 즉, 제i 데이터에서 제j 데이터까지의 거리를 산출하여 저장할 수 있다. 이후에, 결정부(830)는 산출된 제i 데이터에서 제j 데이터까지의 거리(dij)의 합에서, 복수의 데이터들에 대한 제j 데이터까지의 거리의 상대적 비율(Vj)을 산출할 수 있다. 결정부(830)는 [수학식 8]을 사용하여 복수의 시장 데이터들에 대하여 제j 데이터까지의 거리의 상대적인 비율(Vj)을 산출할 수 있다.
나아가, 결정부(830)는 산출된 상대적 비율을 확률적으로 적용하여 복수의 시장 데이터들에 대한 초기 해를 생성할 수 있다. 예를 들면, 결정부(830)는 복수의 시장 데이터들에서 제j 데이터까지의 거리의 상대적인 비율을 확률적으로 적용하여 상대적으로 향상된 초기 해를 생성할 수 있다. 이로 인해, 본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 시스템(800)은 생성된 초기 해를 이용함으로써, 데이터의 복잡도가 크더라도 성능이 우수한 반딧불 알고리즘 출력이 가능하며, 계산시간을 효율화할 수 있다.
획득부(840)는 시장 세분화 반딧불 알고리즘을 이용하여 적합 클러스터 수에서의 최적해를 획득한다.
도 9를 참조하면, 획득부(840)는 중심 데이터 결정부(841), 해 생성부(842), 최적해 탐색부(843) 및 해 탐색부(844)를 포함할 수 있다.
중심 데이터 결정부(841)는 상대적 비율(Vj)에 반비례하는 확률과 적합 클러스터 수(k)의 데이터 중심 간의 거리에 의한 중심 데이터를 결정할 수 있다. 해 생성부(842)는 적합 클러스터 수(k)의 중심 데이터를 기반으로 복수의 시장 데이터들을 클러스터링하여 클러스터링 해를 생성할 수 있다.
중심 데이터 결정부(841)는 복수의 시장 데이터들 중 복수의 시장 데이터들 각각으로부터의 거리의 상대적 비율이 가장 작은 어느 하나의 데이터를 복수의 클러스터들 중 제1 클러스터의 중심 데이터로 선택하고, 제1 클러스터를 제외한 나머지 클러스터들 각각에 대해, 제1 클러스터를 포함하는 모든 클러스터의 선택된 모든 중심 데이터로부터의 거리 및 복수의 시장 데이터들 각각으로부터의 거리의 상대적 비율과 관련된 평가함수를 최소화하는 데이터를 중심 데이터로 선택할 수 있다.
중심 데이터 결정부(841)는 모든 클러스터의 선택된 중시 데이터로부터의 거리 및 복수의 데이터들 각각으로부터의 거리의 상대적 비율과 관련된 평가함수를 최소화하는 데이터를 중심 데이터로 선택하며, 해 생성부(842)는 복수의 클러스터들 각각의 중심 데이터를 기준으로 복수의 데이터들을 클러스터링할 수 있다.
최적해 탐색부(843)는 클러스터링 해에 대해 이웃 유인(Neighborhood-Attraction) 기법 및 풀 유인(Full-Attraction) 기법을 적용하여 최적해를 탐색할 수 있다.
예를 들면, 최적해 탐색부(843)는 시장 세분화 반딧불 알고리즘을 기반으로, 적합 클러스터 수 및 고객 수에 따른 복수의 초기 해를 생성하고, 복수의 초기 해 각각의 클러스터 내부 거리(intra-cluster distance) 평가값 및 선호도를 산출할 수 있다.
보다 구체적으로, 최적해 탐색부(843)는 적합 클러스터 수와 고객 수에 대한 매트릭스의 2차원 형태인 복수의 초기 해를 생성하고, [수학식 13]를 통해 복수의 초기 해 각각에 클러스터 내부 거리(intra-cluster distance) 수식을 적용하여 초기 해의 클러스터 내부 거리 평가값을 산출하며, 복수의 초기 해 간의 거리 및 클러스터 내부 거리 평가값의 차이값을 이용하여 클러스터 내부 거리 평가값에 반비례하는 선호도를 산출할 수 있다.
이후에, 최적해 탐색부(843)는 이웃 유인(Neighborhood-Attraction) 기법을 적용하여 선호도를 기반으로 이웃 해를 탐색할 수 있다.
최적해 탐색부(843)는 선호도가 산출되는 경우, 초기 해의 클러스터 내부 거리 평가값 및 선호도를 동시에 고려하여 이웃 해를 탐색하고, 선호도가 산출되지 않는 경우, 랜덤하게 이웃 해를 탐색할 수 있다.
일 예로, 최적해 탐색부(843)는 초기 해의 클러스터 내부 거리 평가값 및 선호도를 동시에 고려하여 와 사이의 거리 r을 계산하며, 초기 해 에 비해 더 좋은 이웃 해 가 존재하는 경우, 를 닮아가면서 더 좋은 해를 탐색하는 과정에서 [수학식 17]을 통한 에 따라 수렴하여 이웃 해를 탐색할 수 있다.
다른 예로, 최적해 탐색부(843)는 초기 해의 클러스터 내부 거리 평가값 및 선호도를 동시에 고려하여 선호도가 없는 경우 즉, 초기 해보다 더 좋은 해(높은 실루엣 평가값을 가지는 해)가 없을 경우, 이웃 해를 랜덤으로 탐색할 수 있다.
이에 따라서, 최적해 탐색부(843)는 클러스터 내부 거리 평가값 및 선호도를 기준으로 탐색된 이웃 해 간의 초기 해들을 업데이트하며, 풀 유인(Full-Attraction) 기법을 적용하여 적합 클러스터 수에서의 최적해를 획득할 수 있다.
최적해 탐색부(843)는 탐색된 이웃 해에 대하여, [수학식 13]를 통해 클러스터링 해에 대한 클러스터 내부 거리 평가값을 재 산출하여 적합 클러스터 수와 초기 해들을 업데이트할 수 있다. 이 때, 최적해 탐색부(843)는 클러스터 내부 거리 평가값이 기 설정된 종료 조건에 부합하거나, 기 설정된 시간 범위에 충족할 때, 반딧불 알고리즘(Firefly Algorithm; FA)을 종료하여 최적해를 도출할 수 있다.
본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 시스템(800)의 획득부(840)는 전술한 [수학식 19]를 기반으로, 초기에 이웃 유인(Neighborhood-Attraction) 기법을 적용하여 계산시간을 줄이면서 효율적으로 해 탐색을 하고, 탐색 후 탐색 범위가 좁아지면, 말기에 풀 유인(Full-Attraction) 기법을 적용하여 정밀하게 세밀한 탐색을 할 수 있다.
이 때, 상기 이웃 유인 기법은 풀 유인 기법과는 다르게 선택된 초기 해(반딧불)에 대하여 선택된 더 좋은 일부 이웃의 초기 해(반딧불)를 닮아가려는 기법이므로, 계산시간을 최소화할 수 있다. 다만, 상기 이웃 유인 기법은 풀 유인 기법처럼 면밀한 해 탐색은 부족하다. 이에 따라서, 본 발명의 실시예에 따른 획득부(840)는 반딧불 알고리즘에 의한 이웃 유인(Neighborhood-Attraction) 기법 및 풀 유인(Full-Attraction) 기법을 모두 적용하여 보다 정확도 높은 최적해를 탐색할 수 있다.
본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 시스템(800)의 해 탐색부(844)는 반딧불 알고리즘(FA)을 적용하여 해가 수렴하면서 동일한 해가 발생하는 경우 예를 들어, 초기 해(반딧불)의 실루엣 평가값과 해 표현이 같게 되는 경우, 해당 초기 해(반딧불) 중 어느 하나를 제거하고, 상대적 비율 및 클러스터의 중심 데이터 간의 거리(UVj)를 통해 새로운 해 생성하여 투입할 수 있다. 즉, 본 발명은 다양한 해 탐색을 위한 새로운 영역을 탐색할 수 있다.
클러스터링부(850)는 최적해를 참조하여 시장 데이터를 복수의 클러스터들로 최종 클러스터링한다.
본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 시스템(800)의 제어부(860)는 본 발명의 실시예에 따른 반딧불 알고리즘을 이용한 데이터 세분화 방법의 단계 350에서 종료 조건을 만족하지 못하는 경우에 단계 330을 반복 수행하도록 제어하거나, 또는 추가적인 고객가치 분석이 필요할 경우에 단계 310부터 이후의 단계를 다시 반복 수행하도록 제어할 수 있다.
비록, 도 8 및 도 9에서 설명하지 않았지만, 도 8 및 도 9의 시스템은 상술한 도 1 내지 도 7에서 설명한 반딧불 알고리즘을 이용한 데이터 세분화 방법에 대한 동작을 모두 포함할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (20)
- 빅데이터 분석을 위한 시장 세분화 반딧불 알고리즘(Firefly algorithm; FA)을 이용한 데이터 세분화 시스템에 의해 동작하는 데이터 세분화 방법에 있어서,
상기 반딧불 알고리즘을 이용한 데이터 세분화 시스템의 수집부에 의해, 최근 거래 데이터(Recency; R), 거래 횟수 데이터(Frequency; F) 및 거래 대금 크기 데이터(Monetary; M)를 포함하는 시장 데이터를 수집 및 전처리(preprocessing)하는 단계;
산출부에 의해, 상기 RFM을 포함하는 복수의 시장 데이터들의 특징값과 가중치를 산출하는 단계;
결정부에 의해, 상기 복수의 시장 데이터들 사이의 거리 및 거리의 상대적 비율을 산출하여 초기 해를 생성하고, 상기 초기 해에 대한 실루엣 평가값을 산출하여 적합 클러스터 수(K)를 결정하는 단계;
획득부에 의해, 상기 시장 세분화 반딧불 알고리즘을 이용하여 상기 적합 클러스터 수에서의 최적해를 획득하는 단계; 및
클러스터링부에 의해, 상기 최적해를 참조하여 상기 시장 데이터를 복수의 클러스터들로 최종 클러스터링하는 단계
를 포함하는 반딧불 알고리즘을 이용한 데이터 세분화 방법. - 제1항에 있어서,
상기 최적해를 획득하는 단계는
상기 상대적 비율에 반비례하는 확률과 상기 적합 클러스터 수의 데이터 중심 간의 거리에 의한 중심 데이터를 결정하는 단계;
상기 적합 클러스터 수의 상기 중심 데이터를 기반으로 상기 복수의 시장 데이터들을 클러스터링하여 클러스터링 해를 생성하는 단계;
상기 클러스터링 해에 대해 이웃 유인(Neighborhood-Attraction) 기법 및 풀 유인(Full-Attraction) 기법을 적용하여 최적해를 탐색하는 단계; 및
동일한 해의 발생에 따라, 상대적 비율 및 클러스터의 중심 데이터 간의 거리(UVj)를 산출하여 새로운 영역 및 새로운 해를 탐색하는 단계
를 포함하는 반딧불 알고리즘을 이용한 데이터 세분화 방법. - 제2항에 있어서,
상기 중심 데이터를 결정하는 단계는
상기 복수의 시장 데이터들 중 상기 복수의 시장 데이터들 각각으로부터의 상기 거리의 상대적 비율이 가장 작은 어느 하나의 데이터를 복수의 클러스터들 중 제1 클러스터의 중심 데이터로 선택하는 단계; 및
상기 제1 클러스터를 제외한 나머지 클러스터들 각각에 대해, 상기 제1 클러스터를 포함하는 모든 클러스터의 선택된 모든 중심 데이터로부터의 거리 및 상기 복수의 시장 데이터들 각각으로부터의 거리의 상대적 비율과 관련된 평가함수를 최소화하는 데이터를 중심 데이터로 선택하는 단계
를 포함하는 반딧불 알고리즘을 이용한 데이터 세분화 방법. - 제3항에 있어서,
상기 클러스터링 해를 생성하는 단계는
상기 적합 클러스터 수에 따라, 상기 복수의 클러스터들 각각의 중심 데이터를 기준으로 상기 복수의 시장 데이터들을 클러스터링하여 상기 클러스터링 해를 생성하는 것을 특징으로 하는, 반딧불 알고리즘을 이용한 데이터 세분화 방법. - 제2항에 있어서,
상기 최적해를 탐색하는 단계는
초기에 상기 이웃 유인 기법을 적용하여 해 탐색하고, 탐색 후 탐색 범위가 좁아지면 말기에 상기 풀 유인 기법을 적용하여 상기 최적해를 탐색하는 것을 특징으로 하는, 반딧불 알고리즘을 이용한 데이터 세분화 방법. - 제5항에 있어서,
상기 최적해를 탐색하는 단계는
상기 복수의 시장 데이터들에 클러스터 내부 거리(intra-cluster distance) 수식을 적용하여 산출되는 클러스터 내부 거리 평가값이 기 설정된 종료 조건에 부합하거나, 기 설정된 시간 범위에 충족할 때, 상기 시장 세분화 반딧불 알고리즘(Firefly Algorithm; FA)을 종료하여 상기 최적해를 도출하는, 반딧불 알고리즘을 이용한 데이터 세분화 방법. - 제2항에 있어서,
상기 새로운 영역 및 새로운 해를 탐색하는 단계는
상기 탐색된 최적해에서 동일한 해가 발생되는 경우, 상기 중심 데이터를 결정하는 단계 및 상기 클러스터링 해를 생성하는 단계를 통해 상기 상대적 비율 및 클러스터의 중심 데이터 간의 거리(UVj)를 산출하여 다양한 해 탐색을 추구하는, 반딧불 알고리즘을 이용한 데이터 세분화 방법. - 제1항에 있어서,
상기 복수의 시장 데이터들의 특징값과 가중치를 산출하는 단계는
상기 복수의 시장 데이터들에 대한 타겟 고객(target customer, most profitable customer)의 점수를 통해 상기 시장 데이터의 특징값을 결정하고, 마케팅 전략과 상품에 따른 상기 타겟 고객의 기준값으로 상기 시장 데이터의 가중치를 결정하는 것을 특징으로 하는, 반딧불 알고리즘을 이용한 데이터 세분화 방법. - 제1항에 있어서,
상기 적합 클러스터 수(K)를 결정하는 단계는
상기 복수의 시장 데이터들 중 p차원 특징을 나타내는 제i 데이터에서 제j 데이터까지의 거리(dij)를 산출하여 저장하는 단계;
상기 산출된 제i 데이터에서 제j 데이터까지의 거리(dij)의 합에서, 상기 복수의 시장 데이터들에 대한 상기 제j 데이터까지의 거리의 상대적 비율(Vj)을 산출하는 단계;
상기 산출된 상대적 비율을 확률적으로 적용하여 상기 복수의 시장 데이터들에 대한 상기 초기 해를 생성하는 단계;
상기 초기 해에 대한 상기 실루엣 평가값을 산출하는 단계; 및
상기 실루엣 평가값에 기반하여 상기 적합 클러스터 수(K)를 획득하는 단계
를 포함하는 반딧불 알고리즘을 이용한 데이터 세분화 방법. - 제9항에 있어서,
상기 거리의 상대적 비율을 산출하는 단계는
복수의 시장 데이터들 간 상대적 비율 및 클러스터의 중심 데이터 간의 거리(UVj)를 산출하며,
상기 초기 해를 생성하는 단계는
상기 산출된 상대적 비율 및 클러스터의 중심 데이터 간의 거리(UVj)를 적용하여 상기 초기 해를 생성하는 것을 특징으로 하는, 반딧불 알고리즘을 이용한 데이터 세분화 방법. - 빅데이터 분석을 위한 시장 세분화 반딧불 알고리즘(Firefly algorithm; FA)을 이용한 데이터 세분화 시스템에 의해 동작하는 데이터 세분화 방법을 실행시키기 위해 컴퓨터로 읽을 수 있는 기록 매체에 저장된 컴퓨터 프로그램에 있어서,
상기 반딧불 알고리즘을 이용한 데이터 세분화 시스템의 수집부에 의해, 최근 거래 데이터(Recency; R), 거래 횟수 데이터(Frequency; F) 및 거래 대금 크기 데이터(Monetary; M)를 포함하는 시장 데이터를 수집 및 전처리(preprocessing)하는 단계;
산출부에 의해, 상기 RFM을 포함하는 복수의 시장 데이터들의 특징값과 가중치를 산출하는 단계;
결정부에 의해, 상기 복수의 시장 데이터들 사이의 거리 및 거리의 상대적 비율을 산출하여 초기 해를 생성하고, 상기 초기 해에 대한 실루엣 평가값을 산출하여 적합 클러스터 수(K)를 결정하는 단계;
획득부에 의해, 상기 시장 세분화 반딧불 알고리즘을 이용하여 상기 적합 클러스터 수에서의 최적해를 획득하는 단계; 및
클러스터링부에 의해, 상기 최적해를 참조하여 상기 시장 데이터를 복수의 클러스터들로 최종 클러스터링하는 단계
를 포함하는 기록 매체에 저장된 컴퓨터 프로그램. - 삭제
- 빅데이터 분석을 위한 시장 세분화 반딧불 알고리즘(Firefly algorithm; FA) 시스템에 있어서,
최근 거래 데이터(Recency; R), 거래 횟수 데이터(Frequency; F) 및 거래 대금 크기 데이터(Monetary; M)를 포함하는 시장 데이터를 수집 및 전처리(preprocessing)하는 수집부;
상기 RFM을 포함하는 복수의 시장 데이터들의 특징값과 가중치를 산출하는 산출부;
상기 복수의 시장 데이터들 사이의 거리 및 거리의 상대적 비율을 산출하여 초기 해를 생성하고, 상기 초기 해에 대한 실루엣 평가값을 산출하여 적합 클러스터 수(K)를 결정하는 결정부;
상기 시장 세분화 반딧불 알고리즘을 이용하여 상기 적합 클러스터 수에서의 최적해를 획득하는 획득부; 및
상기 최적해를 참조하여 상기 시장 데이터를 복수의 클러스터들로 최종 클러스터링하는 클러스터링부
를 포함하는 반딧불 알고리즘을 이용한 데이터 세분화 시스템. - 제13항에 있어서,
상기 획득부는
상기 상대적 비율에 반비례하는 확률과 상기 적합 클러스터 수의 데이터 중심 간의 거리에 의한 중심 데이터를 결정하는 중심 데이터 결정부;
상기 적합 클러스터 수의 상기 중심 데이터를 기반으로 상기 복수의 시장 데이터들을 클러스터링하여 클러스터링 해를 생성하는 해 생성부;
상기 클러스터링 해에 대해 이웃 유인(Neighborhood-Attraction) 기법 및 풀 유인(Full-Attraction) 기법을 적용하여 최적해를 탐색하는 최적해 탐색부; 및
동일한 해의 발생에 따라, 상대적 비율 및 클러스터의 중심 데이터 간의 거리(UVj)를 산출하여 새로운 영역 및 새로운 해를 해 탐색부
를 포함하는 반딧불 알고리즘을 이용한 데이터 세분화 시스템. - 제14항에 있어서,
상기 중심 데이터 결정부는
상기 복수의 시장 데이터들 중 상기 복수의 시장 데이터들 각각으로부터의 상기 거리의 상대적 비율이 가장 작은 어느 하나의 데이터를 복수의 클러스터들 중 제1 클러스터의 중심 데이터로 선택하고, 상기 제1 클러스터를 제외한 나머지 클러스터들 각각에 대해, 상기 제1 클러스터를 포함하는 모든 클러스터의 선택된 모든 중심 데이터로부터의 거리 및 상기 복수의 시장 데이터들 각각으로부터의 거리의 상대적 비율과 관련된 평가함수를 최소화하는 데이터를 중심 데이터로 선택하는 것을 특징으로 하는, 반딧불 알고리즘을 이용한 데이터 세분화 시스템. - 제15항에 있어서,
상기 해 생성부는
상기 적합 클러스터 수에 따라, 상기 복수의 클러스터들 각각의 중심 데이터를 기준으로 상기 복수의 시장 데이터들을 클러스터링하여 상기 클러스터링 해를 생성하는 것을 특징으로 하는, 반딧불 알고리즘을 이용한 데이터 세분화 시스템. - 제14항에 있어서,
상기 최적해 탐색부는
초기에 상기 이웃 유인 기법을 적용하여 해 탐색하고, 탐색 후 탐색 범위가 좁아지면 말기에 상기 풀 유인 기법을 적용하여 상기 최적해를 탐색하는 것을 특징으로 하는, 반딧불 알고리즘을 이용한 데이터 세분화 시스템. - 제17항에 있어서,
상기 최적해 탐색부는
상기 복수의 시장 데이터들에 클러스터 내부 거리(intra-cluster distance) 수식을 적용하여 산출되는 클러스터 내부 거리 평가값이 기 설정된 종료 조건에 부합하거나, 기 설정된 시간 범위에 충족할 때, 상기 시장 세분화 반딧불 알고리즘(Firefly Algorithm; FA)을 종료하여 상기 최적해를 도출하는, 반딧불 알고리즘을 이용한 데이터 세분화 시스템. - 제14항에 있어서,
상기 해 탐색부는
상기 탐색된 최적해에서 동일한 해가 발생되는 경우, 상기 중심 데이터를 결정하는 단계 및 상기 클러스터링 해를 생성하는 단계를 통해 상기 상대적 비율 및 클러스터의 중심 데이터 간의 거리(UVj)를 산출하여 다양한 해 탐색을 추구하는, 반딧불 알고리즘을 이용한 데이터 세분화 시스템. - 제13항에 있어서,
상기 결정부는
상기 복수의 시장 데이터들 중 p차원 특징을 나타내는 제i 데이터에서 제j 데이터까지의 거리(dij)를 산출하여 저장하고, 상기 산출된 제i 데이터에서 제j 데이터까지의 거리(dij)의 합에서, 상기 복수의 시장 데이터들에 대한 상기 제j 데이터까지의 거리의 상대적 비율(Vj)을 산출하며, 상기 산출된 상대적 비율을 확률적으로 적용하여 상기 복수의 시장 데이터들에 대한 상기 초기 해를 생성하고, 상기 초기 해에 대한 상기 실루엣 평가값을 산출하여 상기 적합 클러스터 수(K)를 획득하는 것을 특징으로 하는, 반딧불 알고리즘을 이용한 데이터 세분화 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190016440A KR102264969B1 (ko) | 2019-02-13 | 2019-02-13 | 빅데이터 분석을 위한 시장 세분화 반딧불 알고리즘 방법 및 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190016440A KR102264969B1 (ko) | 2019-02-13 | 2019-02-13 | 빅데이터 분석을 위한 시장 세분화 반딧불 알고리즘 방법 및 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200103177A KR20200103177A (ko) | 2020-09-02 |
KR102264969B1 true KR102264969B1 (ko) | 2021-06-15 |
Family
ID=72450015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190016440A KR102264969B1 (ko) | 2019-02-13 | 2019-02-13 | 빅데이터 분석을 위한 시장 세분화 반딧불 알고리즘 방법 및 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102264969B1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131089B (zh) * | 2020-09-29 | 2022-08-23 | 九江学院 | 软件缺陷预测的方法、分类器、计算机设备及存储介质 |
KR102471408B1 (ko) * | 2021-04-15 | 2022-11-30 | 동국대학교 산학협력단 | 악성민원 검출장치 및 그 방법 |
CN113962334A (zh) * | 2021-12-02 | 2022-01-21 | 北京沃东天骏信息技术有限公司 | 用户分类的划分方法及相关设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170255688A1 (en) | 2016-03-01 | 2017-09-07 | Accenture Global Solutions Limited | Parameter set determination for clustering of datasets |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170030401A (ko) * | 2015-09-09 | 2017-03-17 | (주)비타소프트 | 고객 경험 분석 데이터에 기초하여 고객을 그룹별로 분류하는 고객 그룹 분류 방법 및 이를 이용한 고객 그룹 분류 시스템 |
-
2019
- 2019-02-13 KR KR1020190016440A patent/KR102264969B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170255688A1 (en) | 2016-03-01 | 2017-09-07 | Accenture Global Solutions Limited | Parameter set determination for clustering of datasets |
Non-Patent Citations (1)
Title |
---|
Hadi 외 1인. The New Approach in Market Segmentation by Using RFM Model. JARIE . Vol. 4, No.4, pp259-267(2017.) |
Also Published As
Publication number | Publication date |
---|---|
KR20200103177A (ko) | 2020-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11416867B2 (en) | Machine learning system for transaction reconciliation | |
CN111079639B (zh) | 垃圾图像分类模型构建的方法、装置、设备及存储介质 | |
US9330341B2 (en) | Image index generation based on similarities of image features | |
US9489627B2 (en) | Hybrid clustering for data analytics | |
KR102264969B1 (ko) | 빅데이터 분석을 위한 시장 세분화 반딧불 알고리즘 방법 및 시스템 | |
US8200010B1 (en) | Image segmentation by clustering web images | |
CN105069534A (zh) | 客户流失预测方法以及装置 | |
CN110807527A (zh) | 一种基于客群筛选的额度调整方法、装置和电子设备 | |
CN111967971A (zh) | 银行客户数据处理方法及装置 | |
CN112528031A (zh) | 一种工单智能派发方法和系统 | |
CN109299263A (zh) | 文本分类方法、电子设备及计算机程序产品 | |
KR101953479B1 (ko) | 거리의 상대적 비율을 적용한 그룹 탐색 최적화 데이터 클러스터링 방법 및 시스템 | |
ElAlami | Supporting image retrieval framework with rule base system | |
KR102039244B1 (ko) | 반딧불 알고리즘을 이용한 데이터 클러스터링 방법 및 시스템 | |
KR102414823B1 (ko) | 금융 서비스를 위한 금융 세그먼트 분화 방법 및 이러한 방법을 수행하는 장치 | |
ElAlami | Unsupervised image retrieval framework based on rule base system | |
Balasubramaniyan et al. | Color contour texture based peanut classification using deep spread spectral features classification model for assortment identification | |
CN111222546A (zh) | 一种多尺度融合的食品图像分类模型训练及图像分类方法 | |
CN111967973B (zh) | 银行客户数据处理方法及装置 | |
CN113706285A (zh) | 一种信用卡欺诈检测方法 | |
Wedashwara et al. | Combination of genetic network programming and knapsack problem to support record clustering on distributed databases | |
KR101906678B1 (ko) | 효율적인 혼합 시뮬레이티드 어닐링 기반의 데이터 클러스터링 방법 및 시스템 | |
Mishra et al. | Efficient intelligent framework for selection of initial cluster centers | |
Kaiyan et al. | An apple grading method based on improved VGG16 network | |
CN112488773A (zh) | 智能电视用户分类方法、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |