[모각코] day11 8/24 분류분석2, 군집분석

2022. 8. 26. 17:50ADsP 스터디

6절. 분류분석21. 인공신경망 분석 (ANN)가. 인공 신경망이란?

- 인간 뇌를 기반으로 한 추론 모델

- 뉴런은 기본적인 정보처리 단위

나. 인공신경망의 연구

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

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

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

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

- 홉필드, 러멜하트, 맥클랜드는 역전파 알고리즘으로 다계층 퍼셉트론 (선형성 극복)

다. 인간의 뇌를 형상화한 인공 신경망

1) 인간 뇌의 특징

: 100억개의 뉴런과 6조 개의 시냅스의 결합체

: 인간의 뇌는 현존하는 어떤 컴퓨터보다 빠르고 매우 복잡, 비선형적, 병렬적인 정보 처리 시스템

: 적응성에 따라 '잘못된 답'에 대한 뉴런들 사이의 연결은 약화, '올바른 답'에 대한 연결이 강화

 

2) 인간의 뇌 모델링

: 뉴런은 가중치가 있는 링크들로 연결

: 뉴런은 여러 입력 신호를 받지만 출력 신호는 오직 하나만 생성

라. 인공 신경망의 학습

- 신경망은 가중치를 반복적으로 조정하며 학습

- 뉴런은 링크로 연결되어 있고, 각 링크에는 수치적인 가중치가 있음

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

마. 인공신경망의 특징

1) 구조

- 입력 링크에서 여러 신호를 받아 새로운 활성화 수준을 계산, 출력 링크로 출력 신호를 보냄

- 입력신호는 미가공 데이터 또는 다른 뉴런의 출력이 될 수 있음

- 출력신호는 문제의 최종적인 해가 되거나 다른 뉴런에 입력될 수 있음

 

2) 뉴런의 계산

- 뉴런은 전이함수, 즉 활성화 함수는 사용함

- 활성화 함수를 이용해 출력을 결정하며 입력신호의 가중치 합을 계산하여 임계값과 비교함

- 가중치 합이 임계값보다 작으면 뉴런의 출력은 -1, 같거나 크면 +1을 출력함

 

3) 뉴런의 활성화 함수

- 시그모이드 함수의 경우 로지스틱 회귀분석과 유사, 0~1의 확률값을 가짐

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

- 퍼셉트론은 선형 결합기와 하드 리미터로 구성됨

- 초평면은 n차원 공간을 두 개의 영역으로 나눔

- 초평면을 선형 분리 함수로 정의함

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

1) 입력 변수

- 신경망 모형은 그 복잡성으로 인해 입력 자료의 선택에 매우 민감함

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

범주형 변수 : 모든 범주에서 일정 빈도 이상의 값을 갖고, 각 범주의 빈도가 일정할 때
연속형 변수 : 입력 변수 값들의 범위가 변수 간의 큰 차이가 없을 때

- 범주형 변수의 경우 가변수화하여 적용하고 가능하면 모든 범주형 변수는 같은 범위를 갖도록 가변수화 하는 것이 좋음

 

2) 가중치의 초기값과 다중 최소값의 문제

- 역전파 알고리즘은 초기값에 따라 결과가 많이 달라지므로 초기값의 선택은 매우 중요

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

- 일반적으로 초기값은 0 근처로 랜덤하게 선택되므로 초기 모형은 선형 모양에 가까움

- 가중치 값이 증가할수록 비선형 모형이 됨

 

3) 은닉층과 은닉노드의 수

- 신경망을 적용할 때 가장 중요한 부분은 모형의 선택

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

- 은닉층과 은닉노드가 적으면 과소적합 문제가 발생

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

 

4) 과대 적합 문제

- 신경망에서는 많은 가중치를 추정해야 하므로 과대적합 문제가 빈번함

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

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

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

- 자카드 계수

- 코사인 거리: 문서를 유사도를 기준으로 분류 혹은 그룹핑할 때 유용하게 사용함

- 코사인 유사도: 두 개체의 백터 내적의 코사인 값을 이용하여 측정된 벡터간의 유사한 정도

3. 계층적 군집분석

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

- 계층적 군집을 형성하는 방법에는 합병형 방법과 분리형 방법이 있음

가. 최단연결법

- n*n 거리 행렬에서 거리가 가장 가까운 데이터를 묶어 군집을 형성함

- 군집과 군집 또는 데이터와의 거리를 계산 시 최단거리를 거리로 계산하여 거리행렬 수정을 진행함

- 수정된 거리행렬에서 거리가 가까운 데이터 또는 군집을 새로운 군집으로 형성함

나. 최장연결법

- 군집과 군집 또는 데이터와의 거리를 계산할 때 최정거리를 거리로 계산하여 거리행렬을 수정하는 방법

다. 평균연결법

- 군집과 군집 또는 데이터와의 거리를 계산할 때 평균을 거리로 계산하여 거리행렬을 수정하는 방법

라. 와드연결법

- 군집내 편차들의 제곱합을 고려한 방법

- 군집 간 정보의 손실을 최소화하기 위해 군집화를 진행함

마. 군집화

- 거리행렬을 통해 가장 가까운 거리의 객체들간의 관계를 규명하고 덴드로그램을 그림

- 덴드로그램을 보고 군집의 개수를 변화해 가면서 적절한 군집 수를 선정함

- 군집의 수는 분석 목적에 따라 선정할 수 있지만 대부분 5개 이상의 군집은 잘 활용하지 않음

- 군집의 수는 분석 목적에 따라 선정할 수 있지만 대부분 5개 이상의 군집은 잘 활용하지 않음

군집화 단계

1) 거리행렬을 기준으로 덴드로그램을 그림

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

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

4. 비계층적 군집분석

: n개의 개체를 g개의 군집으로 나눌 수 있는 모든 가능한 방법을 점검해 최적화한 군집을 형성하는 것

가. K-평균 군집분석의 개념

- 주어진 데이터를 k개의 클러스터로 묶는 알고리즘으로, 각 클러스터와 거리 차이의 분산을 최소화하는 방식으로 동작함

나. K-평균 군집분석 과정

- 원하는 군집의 개수와 초기 값들을 정해 seed 중심으로 군집을 형성함

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

- 각 군집의 seed 값을 다시 계산함

- 모든 개체가 군집으로 할당될 때까지 위 과정을 반복

다. K-평균 군집분석의 특징

- 거리 계산을 통해 군집화가 이루어지므로 연속형 변수에 활용이 가능함

- k개의 초기 중심값은 임의로 선택이 가능하며, 가급적이면 멀리 떨어지는 것이 바람직함

- 초기 중심값을 임의로 선택할 때 일렬로 선택하면 군집이 혼합되지 않고 층으로 나누어질 수 있어 주의해야 함

- 초기 중심값의 선정에 따라 결과가 달라질 수 있음

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

5. 혼합 분포 군집가. 개요

- 모형 기반의 군집 방법이며, 데이터가 k개의 모수적 모형의 가중합으로 표현되는 모집단 모형으로부터 나왔다는 가정하에서 모수와 함께 가중치를 자료로부터 추정하는 방법을 사용

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

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

나. 혼합 분포모형으로 설명할 수 있는 데이터의 형태

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

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

다. EM 알고리즘의 진행 과정

- 각 자료에 대해 Z의 조건부 분포로부터 조건부 기댓값을 구할 수 있음

- 관측변수 X와 잠재변수 Z를 포함하는 (X, Z)에 대한 로그-가능도함수에 Z 대신 상수값인 Z의 조건부 기댓값을 대입하면, 로그-가능도함수를 최대로 하는 모수를 쉽게 찾을 수 있음

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

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

6. SOM (Self Organizing Map)가. 개요

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

- SOM은 비지도 신경망으로 고차원의 데이터를 이해하기 쉬운 저차원의 뉴런으로 정렬하여 지도의 형태로 형상화함

- 입력 변수의 위치 관계를 그대로 보존한다는 특징이 있음

- 실제 공간의 입력 변수가 가까이 있으면, 지도상에도 가까운 위치에 있게 됨

나. 구성

1) 입력층

- 입력 변수의 개수와 동일하게 뉴런 수가 존재

- 입력층의 자료는 학습을 통하여 경쟁층에 정렬됨 (지도)

- 입력층에 있는 각각의 뉴런은 경쟁층에 있는 각각의 뉴런들과 연결되어 있으며, 이때 완전 연결되어 있음

 

2) 경쟁층

- 입력벡터의 특성에 따라 벡터가 한 점으로 클러스터링되는 층

- SOM은 경쟁 학습으로 각각의 뉴런이 입력 벡터와 얼마나 가까운가를 계산하여 연결 강도를 반복적으로 재조정하여 학습

- 연결강도는 입력 패턴과 가장 유사한 경쟁층 뉴런이 승자가 됨

- 입력 층의 표본 벡터에 가장 가까운 프로토타입 벡터를 선택(BMU)

- 코호넨의 승자 독점의 학습 규칙에 따라 위상학적 이웃에 대한 연결 강도를 조정

- 승자 독식 구조로 인해 경쟁층에는 승자 뉴런만이 나타나며, 승자와 유사한 연결 강도를 갖는 입력 패턴이 동일한 경쟁 뉴런으로 배열됨

다. 특징

- 고차원의 데이터를 저차원의 지도 형태로 형상화하기 때문에 시각적으로 이해가 쉬움

- 입력 변수의 위치 관계를 그대로 보존하기 때문에 실제 데이터가 유사하면 지도상에서 가깝게 표현됨

- 패턴 발견, 이미지 분석 등에서 뛰어난 성능을 보임

- 역전파 알고리즘 등을 이용하는 신경망과 달리 단 하나의 전방 패스를 사용함으로써 속도가 매우 빠름

- 실시간 학습처리를 할 수 있는 모형