STUDY/데이터분석

데이터마이닝 11.13

연나연 2023. 11. 13. 11:16
신경망모형에 대한 전체적인 큰 틀 설명. 
<신경망모형의 장단점>
장) 예측력좋음 - 비선형 사용하니까
단) 은닉층의 연산과정이 불투명함. (은닉층의 연산과정을 규명하지 못한다는 점) <- (딥러닝이라 하는 이유)

#입력층,출력층 존재

#Y=b1x1+b2x2+b3x3+b4x4+..
선형결합, 합성함수
Y: 목표변수
b1,b2,b3: 계수, 가중치 (:y에 기여하는 x데이터의 ,,그걸 우리가 수치로 웨이트 준거)

input layer -> hidden layer -> output layer
입력층            은닉층              출력층
                [합성함수]         [활성함수]

합성함수: 입력층에서 시작하는 함수
활성함수: 은닉층에서 출력층 뽑기위한 함수/ 합성함수들의 또다른 함수
              :신경망모형에 맞는 전이함수, 비선형함수 (신경망모형에만 있음)
              -비선형함수 중에 시그모이드 함수가 있음
ex) H1 
      H2 
      (H1,H2) ->각각은 합성함수지만 활성함수로 만들어서,,,,,
 
g=w1H1+w2H2+..

#활성함수 g는 선형은 물론이고 비선형까지도 분류를 할 수 있음.
<선형 비선형 차이>
-선형은 선으로만 분류할 수 있음.
-비선형은 예측력이 더 좋아짐

<분류예측과 수치형예측>
-분류예측:
-수치형예측: 회귀
#신경망모델에서는 분류예측, 수치형예측 둘 다 가능

 

신경망모형의 큰 틀은 위와 같다. 이제 본격적으로 알아보자.

 

제일 중요한건 역전파과 비선형이래.

 

<데이터마이닝 모형>

-지도학습 :y가있음 / 예측[분류예측,수치예측]
-비지도학습  :y가없음 / 분류
신경망모형의 특징

1) ??의 분류(나무모형의 good,bad 복습) 및 예측 분야에서 주로 사용되는
2) 계량적 학습 방법
3) 수치화된
4) 인간의 뇌를 통해서 물체를 해결하는 방법과 유사
      - 아래사진과 같은 애들을 수학적으로 표현하여 문제 해결
      - 시냅스에서는 각 수상돌기의 정보를 그대로 통합하는 것이 아니라 종류에따라 그 가중치를 달리해서 합해서 전달한다.
      - 종합된 정보값이 입력밧보다 작으면 다른 축색으로 전달되지 않으나, 그보다 크면 다음 단계로 전달한다. 
      (나중에 역전파 알고리즘 나옴. 역전:진행하다가 다시 돌아가는거)
5) 뛰어난 병렬성과 결합허용능력이 있다. 

<인간의 신경전달쳬계>

-수용체에서의 정보변환단계 
-아날로그를 디지털로 변환하여 뇌에 전달
-두뇌(신경망)라고 하는 것은 뉴련들의 복잡하고 유기적인 집합체 
-효용체라고 하는 것은 디지털을 아날로그 신호로 바꾸는 과정 

간단히
1) 수용체에서 (아날로그->디지털)
2) 신경망에서 생각하고 연산하고
3) 효용체에서 (아날로그->디지털)

자극 -> 수용체 -> 두뇌(신경망) -> 수용체 -> 반응
(아날로그)            (전기적신호)                     (아날로그)
<신경망의 등장 배경>
-정보처리 이론이 가지고 있던 한계를 극복하고자 하는 노력
-신경망에서는 병렬처리방식을 기본으로하고 있고
-불안전한 자료를 가지고도 상황에따라 최적의 의사결정을 할 수 있다. 

1940년대 
1957년 
-퍼셉트론 개발: 인지모형의 구체화
1969년
-다층신경망 개발 : 단층->다층
1982년
-역전파 알고리즘
1986년
-병렬분산처리
-다층신경망을 통해 비선형문제 해결
-XOR(베타적논리합)  -은닉층에서 주로 사용하는 논리적 계산!!!
#신경망모형이 개발되기 전의 예측모형은
   -통계적 가정하에 구성 (선형, 정규분포, 각종모든분포-모수적 방법)
계량적 학습 방법
비모수적 방법

#신경망모형이 대두되기 시작한 이유: 현실에서는 선형문제보다 비선형문제가 더 많음
#두뇌: 생각, 연산 설명할 수 없다
->반복학습을 위해 반복알고리즘을 이용 (이게 역전파 알고리즘) (역전파 알고리즘의 핵심은 반복문)
    <-> (순파 알고리즘) 반복알고리즘처럼 순차적으로 이용하는 것이 아니고, 

 

<신경망의 구성 및 종류>

# 단층신경망(single layer per)
- 출력층: 입력변수들의 가중평균의 표현
- 가중치: w0,w1,w2,w3,w4
- 합성함수: (선형결합) 입력변수를 결합하는 함수 
- Y=w0+w1x1+w2x2+w3x3+.... (다중회귀, 단층신경망,합성함수,활성함수)

-은닉층 하나만 생겨도 다층신경망임

단층신경망이라 하긴 함.

#활성함수 (전이함수, 비선형함수)

#시그모이드 함수: S형태함수 (ex.로지스틱 함수: 0아니면 1)
-역전파 알고리즘에서도 유용
-복잡한 유형의 의사결정모형에 효과적으로 적용
#다층신경망 (multi-layer perceptron)
:비선형신경망 작동원리 구현하기 위한 것

다층신경망 -- 반복학습

입력층: 입력노드는 n개

은닉층: 2개의 노드

출력층

 

H1 = F1(w01+w11x1+w21x2+,..+wn1xn)

H2 = F2(w02+w12x1+w22x2+,..+wn2xn)

Y = G(w00+w10H1+w20H2)

 

G:시그모이드 함수

 

 

 

RBF: 정규분포 형태의 함수 사용
EBF: 선형결합을 RBF에 대입작성
<신경망모형 구축 단계>
(1) 입력변수 또는 노드의 수, 은닉층의 수와 노드의 개수
      -활성함수의 종류 결정하는 단계
(2) 가중치(w)를 추정하는 단계
      -신경망 학습 또는 훈련(training)으로 모수 추정(parameter estimation)
      -weight 가중치 (모수추정은 회귀모형에서의 회귀계수 추정 방식과 같다 - 최소자승법)

->신경망학습은 지도학습(=관리학습)이나 비지도학습(=자율학습)(=비관리학습) 두 가지 모두의 경우에 적용

<신경망 학습과정>
(1) 연결강도에 대한 초기값 선정 
     (연결강도: 가중치)
   - 초기값 일단 랜덤하게 선정
   - 출력값 계산
(2) 학습을 통해 구한 출력값의 추정치(근사값 Yhat)와 학습자료(참값 Y)의 기준이 되는 출력값과 비교  
  - 오차 = 근사값 Yhat - 참값 Y
  - MES = 오차에 대한 평균 (30명의 예측값의 오차에 대한 평균)
(3) 이 과정을 출력값yhat과 학습값y의 차이(오차)가 일정수준이 나올 때 까지 반복한다

그리하여 이를 오차역전파 알고리즘이라함. / 위 과정 한 번 하고 끝나면 순파. 하지만 계속 돌리니까 역전파
<신경망의 목적함수>
-신경강도인 가중치를 적절하게 측정하기 위해서 목적함수(기준이 되는 함수)를 적절히 정의해야함.
-선형회귀모형(수치예측)에서는 MSE사용
-분류예측모형(분류예측)에서는 로그우도함수(log likelihad function) 
<역전파 알고리즘>
-신경망의 목적함수는 연결강도(가중치,Wi)에 대하여 비선형함수이기 때문에 이를 최적화하는 가중치는 찾는 것이 어렵다.
-그래서 수치해석적 방법을 이용하여 가중치를 산출한다.  (경험적으로 찾아가는 방법)

(1) 초기 가중치와 목적함수를 최적화하는 기준을 정하고 초기가중치를 바탕으로 예측치를 계산.
(2) 실제 출력값과 예측치 사이의 오차를 계산한다.
      - MSE: 수치형일때
      - 오분류율: 문자형일때
(3) 두번째 단계에서 계산한 오차를 은닉층과 입력층의 역전파시켜서 가중치를 새로 조정한다. 
      - 오차가 커지면 다시 두번째 계산하여 새로운 역전파를 만든다.

위 3단계를 반복적용하여 가중치값이 거의 변하지 않거나 일정해지면 반복을 멈추고 그 값으로 가중치를 정한다.