[ADsP] 3과목 데이터 분석 - 5장 정형 데이터 마이닝 (2)

Study/ADSP

[ADsP] 3과목 데이터 분석 - 5장 정형 데이터 마이닝 (2)

tnddj1219 2022. 3. 10. 00:42
728x90

정리 내용은 [2022 ADsP 데이터 분석 준전문가]책을 기반으로 작성하였습니다.

 

2022 ADsP 데이터 분석 준전문가 - 교보문고

본 도서는 한국데이터베이스진흥원에서 실시하고 있는 『데이터 분석 전문가(ADP)』 자격증과 『데이터 분석 준전문가(ADsP)』 자격증을 준비하는 수험생들을 위한 도서이다. 2014년 4월 이후 시행

www.kyobobook.co.kr


4. 인공신경망 분석

1. 인공신경망 분석(ANN)

인공신경망이란?
인간 뇌를 기반으로 한 추론 모델. 뉴런은 기본적인 정보처리 단위이다

 

연구
1943 매컬럭과 피츠: 인간의 뇌를 수많은 신경세포가 연결된 하나의 디지털 네트워크 모형으로 간주하고 신경세포의 신호처리 과정을 모형화하여 단순 패턴 분류 모형을 개

헵: 신경세포 사이의 연결 강도를 조정하여 학습 규칙을 개발

로젠블럿:퍼셉트론이라는 인공세포를 개발

비선형성의 한계점 발생-XOR: 문제를 풀지 못하는 한계 발견

홉필드, 러멜하트, 맥클랜드: 역전파 알고리즘을 활용하여 비선형성을 극복하여 다계층 퍼셉트론으로 새로운 인공신경망 모형이 등장

 

인간의 뇌를 형상화한 인공신경망
인간 뇌의 특징: 100억개의 뉴런과 6조 개의 시냅스의 결합체. 인간의 뇌는 현존하는 어떤 컴퓨터보다 빠르고 매우 복잡하고, 비선형적이며, 병력적인 정보처리 시스템과 같다. 적응성에 따라 잘못된 답에 대한 뉴런들 사이의 연결은 약화되고 올바른 답에 대한 연결이 강화된다.

인간의 뇌 모델링: 뉴런은 가중치가 있는 링크들로 연결되어 있다. 뉴런은 여러 입력 신호를 받지만 출력 신호는 오직 하나만 생성한다.

 

인공신경망 학습
신경망은 가중치를 반복적으로 저장하며 학습 뉴런은 링크로 연결되어 있고, 각 링크에는 수치적인 가중치가 있다.

인공신경망은 신경망의 가중치를 초기화하고 훈련 데이터를 통해 가중치를 갱신하여 신경망의 구조를 선택하고, 활용할 학습 알고리즘을 결정한 후 신경망을 훈련시킨다.

2. 인공신경망의 특징

구조
입력링크에서 여러 신호를 받아서 새로운 활성화 수준을 계산하고, 출력 링크로 출력 신호를 보냄 입력 신호는 미가공 데이터 또는 다른 뉴런의 출력이 될 수 있다. 출력 신호는 문제의 최종적인 해가 되거나 다른 뉴런에 입력될 수 있다.

 

뉴런의 계산
뉴런은 전이함수 즉, 활성화 함수를 사용함

활성화 함수를 이용해 출력을 결정하며 입력 신호의 가중치 합을 계산하여 임계값과 비교 가중치 합이 임계값보다 작으면 뉴런은 -1, 같거나 크면 +1 출력

 

뉴런의 활성화함수
시그모이드 함수의 경우 로지스틱 회귀분석과 유사하며 0~1의 확률 값을 가진다

softmax 함수: 표준화 지수 함수라고도 불리며, 출력 값이 여러 개로 주어지고 목표치가 다범주인 경우 각 범주에 속할 사후 확률을 제공하는 함수

Relu함수: 입력값이 0 이하는 0, 0 이상은 x 값을 가진 함수이며 최근 딥러닝에서 많이 사용

 

단일 뉴런의 학습(단층 퍼셉트론)

퍼셉트론은 선형 결합기와 하드리 미터로 구성초평면은 n차원 공간을 두 개의 영역으로 나눈다. 초평면을 선형 분리 함수로 정의한다.

3. 신경망 모형 구축 시 고려사항

입력 변수

입력 변수가 범주형 또는 연속형일 때 아래의 조건이 신경망 모형에 적합하다.

- 범주형 변수: 모든 범주에서 일정 빈도 이상의 값을 갖고 각 범주의 빈도가 일정할 때

- 연속형 변수: 입력변수 값들의 범위가 변수 간의 큰 차이가 없을 때

연속형 변수의 경우 그 분포가 평균을 중심으로 대칭이 아니면 좋지 않은 결과를 도출하기 때문에 아래와 같은 방법을 활용

- 변환: 고객의 소득(대부분 평균 미만이고, 특정 고객의 소득이 매우 큰): 로그 변환

- 범주화: 각 범주의 빈도가 비슷하게 되도록 설정

범주형 변수의 경우 가변수화하여 적용(남녀:1,0 or 1,-1) 하고 가능하면 모든 범주형 변수는 같은 범위를 갖도록 가변수화 하는 것이 좋다.

 

가중치의 초기값과 다중 최소값 문제
역전파 알고리즘은 초기값에 따라 결과가 많이 달라지므로 초기값의 선택은 매우 중요한 문제

가중치가 0이면 시그모이드 함수는 선형이 되고, 신경망 모형은 근사적으로 선형 모형이 된다.

일반적으로 초기값은 0 근처로 랜덤 하게 선택하므로 초기 모형은 선형 모형에 가깝고, 가중치값이 증가할수록 비선형 모형이 된다.(초기값이 0이면 반복하여도 값이 변하지 않고, 너무 크면 좋지 않은 해를 주는 문제점을 내포하고 있음)

 

학습모드

학습모드 내용
온라인
학습모드
각 관측값을 순차적으로 하나씩 신경망에 투입하여 가중치 추정값이 매번 바뀐다.일반적으로 속도가 빠르며 특히 훈련자료에 유사값이 많은 경우 그 차이가 두드러진다.
훈련자료가 비정상성과 같이 특이한 성질을 가진 경우가 좋다.국소최솟값에서 벗어나기 더 쉽다.
확률적
학습모드
온라인 학습모드와 같으나 신경망에 퉁비되는 관측값의 순서가 랜덤하다.
배치
학습모드
전체훈련자료를 동시에 신경망에 투입한다.
※ 학습률: 처음에는 큰 값으로 정하고 반복 수행과정을 통해 해에 가까울수록 0에 수렴함

은닉층과 은닉 노드의 수
신경망을 적용할 때 가장 중요한 부분은 모형의 선택이다.(은닉층의 수와 은닉 노드의 수 결정)

은닉층과 은닉 노드가 많으면 가중치가 많아져 과대적합 문제 발생 / 적으면 과소적합 발생

은닉층의 수가 하나인 신경망은 범용 근사자이므로 모든 매끄러운 함수를 근사적으로 표현할 수 있다. 그러므로 가능하면 은닉층은 하나로 선정

은닉 노드의 수는 적절히 큰 값으로 놓고 가중치를 감소시키며 적용하는 것이 좋음

 

과대 적합

알고리즘의 조기종료와 가중치 감소 기법으로 해결할 수 있다.

모형이 적합한 과정에서 검증 오차가 증가하기 시작하면 반복을 중지하는 조기 종료를 시행

선형 모형의 능형회귀와 유사한 가중치 감소라는 벌 점화 기법을 활요

 

딥러닝
머신러닝의 한 분야로서 인공신경망의 한계를 극복하기 위해 제안된 심화 신경망을 활용한 방법 최근 음성과 이미지 인식, 자연어 처리, 헬스케어 등 전반적 인분야에 활용

딥러닝 소프트웨어: Tensorflow, caffe, Theano, MXnet 등이 있다.

5. 군집분석

1. 군집분석

개요

각 객체의 유사성을 측정하여 유사성이 높은 대상 집단을 분류하고 군집에 속한 객체들의 유사성과 서로 다른 군집에 속한 객체 간의 상이성을 규명하는 분석방법

특성에 따라 고객을 여러 개의 배타적인 집단으로 나누는 것

결과는 구체적인 군집분석 방법에 따라 차이가 날 수 있다.

군집의 개수나 구조에 대한 가정 없이 데이터들 사이의 거리를 기준으로 군집화를 유도함

마케팅 조사에서 소비자들의 상품 구매행동이나 life style에 따른 소비자군을 분류하여 시장 전략 수립 등에 활용

 

군집분석 특징
요인 분석과의 차이점: 요인 분석은 유사한 변수를 함께 묶어주는 것이 목적

판별분석과의 차이점: 판별분석은 사전에 집단이 나누어져 있는 자료를 통해 새로운 데이터를 기존의 집단에 할당하는 것이 목적

2. 거리

군집분석에서는 관측 데이터 간 유사성이나 근접성을 측정해 어느 군집으로 묶을 수 있는지 판단해야 한다.

 

연속형 변수인 경우

유클리디안 거리 / 표준화 거리 / 마할라노비스 거리 / 체비세프 거리 / 맨하탄 거리 / 캔버라 거리 / 민코우스키 거리

범주형 변수의 경우

자카드 거리 / 다카드 계수 / 코사인 거리 / 코사인 유사도

3. 계층적 군집분석

계층적 군집방법은 n개의 군집으로 시작해 점차 군집의 개수를 줄여 나가는 방법

계층적 군집을 형성하는 방법은 합병형 방법과 분리형 방법이 있다.

 

계층적군집 형성 방법

종류 내용
최단연결법 n*n 거리행렬에서 거리가 가장 가까운 데이터를 묶어서 군집을 생성군집과 군집 or 데이터와의 거리를 계산 시 최단거리를 거리로 계산하여 거리행렬 수정을 진행수정된 거리행렬에서 거리가 가까운 데이터 또는 군집을 새로운 군집으로 생성
최장연결법 군집과 군집 or 데이터와의 거리를 계산할 때 최장거리를 거리로 계산하여 거리행렬을 수정
중심연결법 두 군집 중심간 거리를 군집간 거리로 한다.
군집이 결합될 때, 새로운 군집의 평균은 가중평균을 통해 구해짐
평균연결법 군집과 군집 또는 데이터와의 거리를 계산할 때 평균을 거리로 계산하여 거리행렬을 수정
와드연결법 군집 내 편차들의 제곱합을 고려하는 방법
군집 간 정보의 손실을 최소화하기 위해 군집화를 진행


군집화

거리행렬을 통해 가장 가까운 거리의 객채들 간의 관계를 규명하고 덴드로그램을 그린다. 덴드로그램을 보고 군집의 개수를 변화해가면서 적절한 군집을 선정한다. 군집의 수는 분석 목적에 따라 선정할 수 있지만 대부분 5개 이상의 군집은 잘 활용하지 않는다.

 

군집화 단계

2) 덴드로그램의 최상단으로부터 세로축의 개수에 따라 가로선을 그어 군집의 개수를 선택

3) 각 객체들의 구성을 고려하여 적절한 군집수를 선정

4. 비계층적 군집분석

n개의 개체를 g개의 군집으로 나눌 수 있는 묻는 가능한 방법을 점검해 최적화한 군집을 형성하는 것(K-평균 군집분석)

 

K-평균 군집분석 개념
주어진 데이터를 k개의 클러스터로 묶는 알고리즘. 각 클러스터와 거리 차이의 분산을 최소화하는 방식으로 동작

 

K-평균 군집분석 과정
1) 원하는 군집의 개수와 초기값들을 정해 seed 중심으로 군집을 형성

2) 각 데이터를 거리가 가장 가까운 seed가 있는 군집으로 분류

3) 각 군집의 seed 값을 다시 계산모든 개체가 군집으로 할당될 때까지 

1)~3) 반복

 

K-평균 군집분석 특징
거리 계산을 통해 군집화가 이루어지므로 연속형 변수에 활용이 가능

K개의 초기 중심값은 임의로 선택이 가능. 가급적이면 멀리 떨어지는 것이 바람직

초기 중심값을 임의로 선정할 때 일렬로 선택하면은 군집 혼합이 되자 않고 층으로 나누어질 수 있어 주의하여야 한다. 초기 중심값의 선정에 따라 결과가 달라질 수 있다.

초기 중심으로부터 오차 제곱합을 최소화하는 방향으로 군집이 형성되는 그리디 알고리즘으로 안정된 군집을 보장하나 최적이라는 보장이 없다.

 

K-평균 군집분석 장점
알고리즘이 단순하며, 빠르게 수행되어 분석방법 적용이 용이

계층적 군집분석에 비해 많은 양의 데이터를 다룰 수 있음

내부 구조에 대한 사전 정보가 없어도 의미 있는 자료구조를 찾을 수 있다

다양한 형태의 데이터에 적용이 가능

 

K-평균 군집분석 단점

군집의 수, 가중치와 거리 정의가 어렵다.

사전에 주어진 목적이 없으므로 결과 해석이 어렵다.

잡음이나 이상 값의 영향을 많이 받는다.

볼록한 형태가 아닌 군집이 존재할 경우 성능이 떨어진다.

초기 군집수 결정에 어려움이 있다.

5. 혼합 분포 군집

모형기법의 군집 방법. 데이터가 k개의 모수적 모형(흔히 정규분포 뜨는 다변량 정규분포를 가정)의 가중합으로 표현되는 모집단 모형으로부터 나왔다는 가정하에서 모수와 함께 가중치를 자료로부터 추정하는 방법

K개의 각 모형은 군집을 의미, 각 데이터는 추정된 k개의 모형 중 어느 모형으로부터 나왔을 확률이 높은지 따라 군집의 분류가 이루어짐

흔히 혼합 모형에서는 모수와 가중치의 추정에는 EM 알고리즘에 사용

 

혼합 분포 모형으로 설명할 수 있는 데이터의 형태
(a)는 자료의 분포형태가 다봉형의 형태를 띠므로 단일 분포로의 적절하지 않으며, 대략 3개 정동의 정규분포 결합을 통해 설명될 수 있을 것으로 생각할 수 있다.

(b)의 경우에도 여러 개의 이변량 정규분포의 결합을 통해 설명될 수 있을 것이다. 두 경우 모두 반드시 정규분포로 제한할 필요가 없다.

 

EM 알고리즘
각 자료에 대한 Z의 조건부 분포(어느 집단에 속할지에 대한 기댓값을 구할 수 있다.

(E-단계) 관측 변수 X와 잠재 변수 Z를 포함하는 (X,Z)에 대한 로그-가능도 함수에 Z값 대신 상수값이 Z의 조건부 기댓값을 대입하면, 로그-가능도함수를 최대로 하는 모수를 쉽게 찾을 수 있다. (M-단계) 갱신된 모수 추정치에 대해 위 과정을 반복한다면 수렴하는 값을 얻게 되고, 이는 최대 가능도 추정치로 사용될 수 있다.

E-단계: 잠재변수 Z의 기대치 계산

M-단계: 잠재변수 Z의 기대치를 이용하여 파라미터를 추정

 

혼합 분포 군집 모형의 특징
K평균 군집의 절차와 유사하지만 확률 분포를 도입하여 군집을 수행

군집을 몇 개의 모수로 표현할 수 있으며, 서로 다른 크기나 모형의 군집을 찾을 수 있다.

EM알고리즘을 이용한 모수 추정에서 데이터가 커지면 수렴에 시간이 걸릴 수 있다.

군집의 크기가 너무 작으면 추정의 정도가 떨어지거나 어려울 수 있다.

K평균 군집과 같이 이상치 자료에 민감하므로 사전 조치가 필요하다.

6. SOM(Self Organizing Map)

자기 조직화 지도(SOM) 알고리즘은 코호넨에 의해 제시, 개발되었으며 코호넨 맵이라고도 알려져 있다.

SOM은 비지도 신경망으로 고차원 데이터를 이해하기 쉬운 저 차원의 뉴런으로 정렬하여 지도의 형태로 형상화한다. 이러한 형상화는 입력 변수의 위치 관계를 그대로 보존한다는 특징이 있다. 다시 말해 실제 공간의 입력 변수가 가까이 있으면, 지도상에서도 가까운 위치에 있게 된다.

 

구성
SOM모델은 두 개의 인공신경망층으로 구성되어 있다.

구성 내용
입력층 입력벡터를 받은 층.
입력변수의 개수와 동일하게 뉴런의 수가 존재한다
입력층의 자료는 학습을 통하여 경쟁층에 정렬되는데, 이를 지도라 부름입력층에 있는 뉴런들은 경쟁층에 있는 각각의 뉴런들과 연결되어 있으며, 이때 완전연결 되어 있다.
경쟁층 2차원 격차로 구성된 층.
입력벡터의 특성에 따라 벡터의 한 점으로 클러스트링 되는 층SOM은 경쟁학습으로 각각의 뉴런이 입력벡터와 얼마나 가까운가를 계산하여 연결강도를반복적으로 재정하여 학습. 이 과정을 거치면서 연결강도는 입력패턴과 가장 유사한 경쟁층 뉴런이 승자가 됨

입력층의 표본벡터에 가장가까운 프로토타입 벡터를 선택해 BMU(Best-Matching-Unit)이라고 하며, 코호넨의 승자 독점의 학습규칙에 따라 위상학적 이웃에 대한 연결강도를 조정승자독식구조로 인해 경쟁층에는 승자 뉴런만이 나타나며, 승자와 유사한 연결강도를 갖는 입력패턴이 동일한 경쟁뉴런으로 배열됨

 

특징
고차원의 데이터를 저 차원의지도 형태로 형상화하기 때문에 시각적으로 이해가 쉽다.

입력 변수의 위치 관계를 그대로 보존하기 때문에 실제 데이터가 유사하면 지도상에서 가깝게 표현된다. 이런 특징 때문에 패턴 발견, 이미지 분석 등에서 뛰어난 성능이 보인다.

역전파 알고리즘 등을 이용하는 인공신경망과 달리 단 하나의 전방 패스를 사용함으로써 매우 빠르다. 따라서 실시간 학습처리를 할 수 있다

 

SOM과 신경망 모형의 차이점

구분 신경망모형 SOM
학습방법 오차역전파법 경쟁학습방법
구성 입력측,은닉층, 출력층 입력층, 2차 격자 형태의 경쟁층
기계학습방법의 분류 지도학습 비지도학습

6. 연관분석

1. 연관 규칙

연관 규칙 분석

기업의 데이터베이스에서 상품의 구매, 서비스 등 일련의 거래 또는 사건들 간의 규칙을 발견하기 위해 적용한다.

장바구니 분석: 장바구니에 무엇이 같이 들어 있는지에 대한 분석

서열분석: A를 산 다음 B를 산다.

 

연관 규칙의 형태

조건과 반응의 형태로 이루어져 있다.


연관 규칙의 측도

산업의 특성에 따라 지지도, 신뢰도, 향상도 값을 잘 보고 규칙을 선택해야 한다.

종류 내용
지지도 전체 거래 중 항목 A와 B를 동시에 포함하는 거래의 비율
P(A ∩ B) / P(A) : A와 B가 동시에 포함된 거래 수 / A가 포함된 거래 수
신뢰도 항목 A를 포함하는 거래 중 항목 A와 항목 B가 같이 포함될 확률. 연관성 정도를 파악
P(A ∩ B) / P(A) : A와 B가 동시에 포함된 거래 수 / A가 포함된 거래 수
향상도  A가 구매되지 않았을 때 품목 B의 구매확률에 비해 A가 구매됬을 때 품목 B의 구매확률의 증가비
연관규칙 A->B는 품목 A와 품목 B의 구매가 서로 관련이 없는 경우에 향상도는 1이 됨향상도가 1보다 높을 수록 연관성이 높다. 향상도가 1보다 크면 B를 구매할 확률보다 A를 구매한  B를 구매할 확률이 더 높다는 의미
P(B | A) / P(B) = P(A ∩ B) / (P(A)*P(B))
= A와 B 동시 포함된 거래 수 /(A가 포함된 거래수 * B가 포함된 거래수)

 

연관 규칙의 장점
탐색적인 기법으로 조건반응으로 표현되는 연관성 분석 결과를 쉽게 이해할 수 있다.

강력한 비목적성 분석기법으로 분석 방향이나 목적이 특별히 없는 경우 목적 변수가 없으므로 유용하게 활용 사용이 편리한 분석 데이터의 형태로 거래 내용에 대한 데이터를 변호나 없이 그 자체로 이용할 수 있는 간단한 자료구조를 갖는다. 분석을 위한 계산이 간다

 

연관 규칙의 단점
품목의 수가 증가하면 분석에 필요한 계산은 기하급수적으로 늘어난다.

- 이를 개선하기 위해 유사한 품목을 한 범주로 일반화

- 연관규칙의 신뢰도 하한을 새롭게 정의해 실제 드물게 관찰되는 의막 적은 연관 규칙은 제외함

너무 세분화한 품목을 갖고 연관성 규칙을 찾으면 의미 없는 분석이 될 수 도 있다.

- 적절히 구분되는 큰 범주로 구분해 전체 분석에 포함시킨 후 결과 중에서 세부적으로 연관 규칙을 찾는 작업 수행

거래량이 적은 품목은 당연히 포함된 거래수가 적을 것이고, 규칙 발견 시 제외하기 쉬움

- 이런 경우, 그 품목이 관련성을 살펴보고자 하는 중요한 품목이라면 유사한 품목들과 함께 범주로 구성하는 방법 등을 통해 연관성 규칙의 과정에 포함시킬 수 있다.


순차 패턴

동시에 구매될 가능성이 큰 상품군을 찾아내는 연관성 분석에 시간이라는 개념을 포함시켜 순차적으로 구매 가능성이 큰 상품군을 찾아내는 것이다.

연관성 분석에서의 데이터 형태에서 각각의 고객으로부터 발생한 구매 시점에 대한 정보가 포함된다.

2. 기존 연관성 분석의 이슈

대용량 데이터에 대한 연관성 분석은 불가능하다.

시간이 많이 걸리거나 기존 시스템에서 실행 시 시스템 다운 현상이 발생한다.

3. 최근 연관성 분석 동향

1세대 알고리즘: Apriori / 2세대 알고리즘: FP-Grouwth / 3세대 알고리즘: FPV를 이용해 메모리를 효율적으로 사용함으로써 SKU 레벨의 연관성 분석을 성공적으로 적용

거래내역에 포함되는 모든 품목의 개수가 n개일 때, 품목들의 전체집합에서 추출할 수 있는 품목의 부분집합의 개수는 2^n-1이다. 그리고 가능한 모든 연관 규칙의 개수는 3^n-2^(n+1)+1개이다.

 

Apriori 알고리즘(1세대)

모든 가능한 품목 부분집합의 개수를 줄이는 방식으로 작동하는 것이 Apriori 알고리즘

최소 지지도보다 큰 지지도 값을 갖는 품목의 집합을 빈발 항목 집단이라고 한다. Apriori 알고리즘은 품목 집합에 대한 지지도를 전부 계산하는 것이 아니라, 최소 지지도 이상의 빈발 항목 집합을 찾은 후 그것들에 대해서만 연관 규칙을 계산하는 것이다.

구현과 이해가 쉽다는 장점이 있어나, 지지도가 낮은 후보 집합 생성 시 아이템의 개수가 많아지면 계산 복잡도가 증가한다는 문제를 가짐

 

FP-Growth 알고리즘(2세대)

거래내역 안에 포함된 품목의 개수를 줄여 비교하는 횟수를 줄이는 방식으로 작동하는 것

후보 빈발 항목 집합을 생성하지 않고 FP-Tree를 만든 후 분할정복방식을 통해 Apriori 알고리즘보다 더 빠르게 빈발 항목 집합을 추출하는 방법

Apriori 알고리즘의 약점을 보완하기 위해 고안된 것. 데이터베이스를 스캔하는 횟수가 작도 빠른 속도로 분석 가능

4. 연관성 분석 활용방안

장바구니 분석의 경우는 실시간 상품 추천을 통해 교차판매에 응용

순차 패턴 분석은 A를 구매한 사람인데 B를 구매하지 않은 경우, B를 추천하는 교차판매 캠페인에 사용

728x90