본문 바로가기
## 오래된 게시글 (미관리) ##/R

44. 데이터마이닝-분류분석 3

by #Glacier 2018. 11. 22.
반응형

안녕하세요 오늘은 분류분석 3번째 파트 인공신경망에 대해 알아보고자 합니다.

저도 이부분에 대해서는 거의 문외한인데요..같이 알아가보도록 하지용..


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

"인간의 놀라운 인식력과 판단력은 단순한 기능을 가진 몇 개의 신경세포 조합에 의해 행해진다."


 1) 인공신경망의 연구

 -1943년 매컬럭(McCulloch)과 피츠(Pitts) : 인간의 뇌를 수많은 신경세포가 연결되 하나의 디지털 네트워크 모형으로 간주하고 신경세포의 신호처리 과정을

                                                     모형화 하여 단순 패턴분류 모형을 개발했다.

 -헵(Hebb) : 신경세포(뉴런) 사이의 연결강도(weight)를 조정하여 학습규칙을 개발했다.

 -로젠블럿(Rosenblatt, 1955) : 퍼셉트론(Perceptron)이라는 인공세포를 개발했다.

 -비선형성의 한계점 발생 - XOR(Exclusive OR)문제를 풀지 못하는 한계를 발견하였다.

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



<그림출처 : http://blog.naver.com/dilector/220838487582>


 2) 인공신경망 (Artificial Neural Network)

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

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


 3) 인간 뇌의 특징

 - 인간 뇌의 특징

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

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

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

 - 인간의 뇌 리모델링

  : 뉴런은 가중치가 있는 링크들로 연결되어 있다.

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


 4) 인공신경망의 학습

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

 - 뉴런은 링크(link)로 연결되어 있고, 각 링크에는 수치적인 가중치가 있다.

 - 인공 신경망의 가중치 조정방식

 : 신경망의 가중치를 초기화하고, 훈련 데이터를 통해 가중치를 갱신한다.

 : 신경망의 구조를 선택하고, 활용할 학습 알고리즘을 결정한 후 신경망을 훈련시킨다.

 

 5) 뉴런의 특징

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

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

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

 # 즉 뉴런 끼리 연결되어 있다는 셈이죠


 - 뉴런의 계산

 : 뉴런은 전이함수, 즉 활성화 점수(activation function)를 사용한다.

 : 활성화 점수를 이용한 출력 결정

 (1) 뉴런은 입력 신호의 가중치 합을 계산하여 임계값과 비교한다.

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





<그림출처 : http://blog.naver.com/dilector/220838487582>


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

  : 퍼셉트론은 선형 결합기와 하드 리미터로 구성된다.

  : 초평면(hyperplane)은 n차원 공간을 두 개의 영역으로 나눈다.

  : 초평면을 선형 분리함수로 정의한다.

 


  임의값 --> 선형결합 --> 하드리미터 (임계값) --> 출력값

 # 즉 단층 퍼셉트론은 입력값 -> 출력값으로 바로 이어집니다.

 # 입력층 -> 은닉층 -> 출력층으로 되면 다층 퍼셉트론이 됩니다.


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


 1) 입력 변수

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

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

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

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

 - 연속형 변수의 경우 그 분포가 평균을 중심으로 대칭이 아니면 좋지 않은 결과를 도출한다.

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

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

 - 범주형 변수의 경우 가변수화하여 적용 (남녀 : 1, 0 또는 1, -1) 하고 가능하면 

   모든 범주형 변수는 같은 범위를 갖도록 가 변수화 하는 것이 좋다.


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

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

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

 - 일반적으로 초기값은 0 근처로 랜덤하게 선택하고 초기 모형은 선형모형에 가깝고, 가중치 값이 증가할수록 

    비선형모형이 된다.

    (초기값이 0이면 반복하여도 값이 전혀 변하지 않고, 너무 크면 좋지 않은 해를 주는 문제점을 내포하고 있어 주의 필요)


 3) 학습모드

 - 온라인 학습 모드 (online learning mode) : 각 관측값을 순차적으로 하나씩 신경망에 투입하여 

   가중치 추정값이 매번 바뀐다.

 - 확률적 학습 모드 (probabilistic learning mode) : 온라인 학습 모드와 같으나 신경망에 투입되는 

  관측값의 순서가 랜덤하다.

 - 배치 학습 모드 (batch learning mode) : 전체 훈련자료를 동시에 신경망에 투입한다.


 (1) 온라인 학습 모드의 장점 :

 - 일반적으로 속도가 빠르다. 특히 훈련자료에 비슷한 값이 많은 경우 그 차이가 더 두드러진다.

 - 훈련자료가 비정상성(nonstationary)과 같이 특이한 성질을 가진 경우가 좋다.

 - 국소최소값에서 벗어나기가 더 쉽다.


 (2) 학습률

 - 학습률은 처음에는 큰 값으로 정하고 반복 수행과정을 통해 해에 가까울수록 학습률이 0에 수렴한다.


 4) 은닉층(hidden layer)과 은닉노드(hidden node)의 수

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

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

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

 -은닉층의 수 결정 : 은닉층이 하나인 신경망은 범용 근사자(universal approximator)이므로 모든 매끄러운 함수를 

                       근사적으로 표현할 수 있다. 그러므로 가능한 은닉층을 하나로 선정한다.

 -은닉노드의 수 결정 : 적절히 큰 값으로 놓고 가중치 감소(weight decay)시키면서 적용하는 것이 좋다.


 5) 과대적합 문제

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

  : 알고리즘의 조기 종료와 가중치 감소 기법으로 해결

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

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



3. 로지스틱회귀분석 (Logistic Regression)


 : 반응변수가 범주형인 경우에 적용되는 회귀분석모형이다.

 : 새로운 설명벼눗(또는 예측변수)가 주어질 때 반응변수의 각 범주(또는 집단)에 속할 확률이 얼마인지를 추정(예측모형)하여, 추정 확률을 기준치에 따라 분류하는

   목적(분류모형)으로 활용된다.

 : 이때 모형의 적합을 통해 추정된 확률을 사후확률(Posterior probability)이라고 한다.

 


 : exp(b1)의 의미는 나머지 변수(x1, ... , xk)가 주어질 때, x1이 한 단위 증가할 때마다 성공(Y=1)의 오즈가 몇 배 증가하는 지를 나타내는 값이다.


 : 위 식의 의미는

 (1) 다중 로지스틱 회귀모형이며, 그래프의 형태는 설명변수가 한 개(x1)인 경우 해당 회귀 계수 b1의 부호에 따라 S자 모양(B1>0) 또는 역 S자모양( B1<0)을 가진다.

 (2) 표준 로지스틱 분포의 누적분포함수(c.d.f)를 F(x)라 할 때,


 과 동일한 표현이며, 표준 로지스틱 분포의 누적분포함수로 성공의 확률을 추정한다.


 :glm()함수를 활용하여 로지스틱 회귀분석을 실행한다.

 :표현 : glm(종속변수~독립변수1+...+독립변수k, family =binomial, data=데이터셋명)


a<-iris
a
b<-glm(Species~Sepal.Length, data=a, family=binomial)
summary(b)


Call:
glm(formula = Species ~ Sepal.Length, family = binomial, data = a)

Deviance Residuals: 
     Min        1Q    Median        3Q       Max  
-2.14316  -0.31399   0.04605   0.27914   2.25787 

Coefficients:
             Estimate Std. Error z value Pr(>|z|)    
(Intercept)  -27.8285     4.8276  -5.765 8.19e-09 ***
Sepal.Length   5.1757     0.8934   5.793 6.90e-09 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 190.954  on 149  degrees of freedom
Residual deviance:  71.836  on 148  degrees of freedom
AIC: 75.836

Number of Fisher Scoring iterations: 7


-해석

 (1) 종속변수 : Species , 독립변수 : Sepal.Length

 (2) Sepal.Length가 한 단위 증가함에 따라 Species가 1에서 2로 바뀔 오즈(Odds)가 exp(5.1757) ~ 170배 증가한다.

 (3) NULL deviance는 절편만 포함하는 모형의 완전모형으로부터의 이탈도(deviance)를 나타낸다.

 (4) Residual Deviance는 예측변수 Sepal.Length가 추가된 적합 모형의 이탈도를 나타낸다. 자유도 1 기준에 이탈도의 감소가 큰 감소를 보인다.



#오늘은 여기까지 알아보고, 다음은 군집분석에 대해 알아보도록 할게요.

반응형

'## 오래된 게시글 (미관리) ## > R' 카테고리의 다른 글

46. 연관분석  (0) 2018.11.23
45. 데이터마이닝-군집분석  (0) 2018.11.22
43. 데이터마이닝 - 분류분석 2  (0) 2018.11.22
42. 데이터마이닝-분류 분석  (0) 2018.11.22
41. 데이터마이닝 개요  (0) 2018.11.22