인공신경망
: 인공신경망은 인간의 뇌를 기반으로한 학습 및 추론 모형
: 뇌의 구조를 수학적으로 단순화하여 모델링 한 것
: 입력 > 시냅스에 해당, 개별신호의 강도에 따라 가중
: 활섬함수 > 인공신경망의 출력을 계산
: 많은 데이터에 대해 학습을 거쳐, 원하는 결과가 나오도록(오차가 작아지도록) 가중치가 조정
인공신경망 분석의 장단점
장점 | - 스스로 가중치를 학습하므로 다양하고 많은 데이터에 효과적 - 잡음에 민감하게 반응하지 않음 - 여러개의 은닉층을 갖고 있는 구조로 비선형적인 문제 분석에 유용 - 패턴인식, 분류, 예측 등의 문제에 효과적 |
단점 | - 초기 가중치에 따라 전역해가 아닌 지역해로 수렴할 수 있다. - 결과해석이 쉽지 않다. - 모형이 복잡할 경우 학습에 오랜 시간이 소요됨 - 추정한 가중치의 신뢰도 낮음 - 은닉층의 수와 은닉 노드의 수를 결정하기가 어려움 |
* 전역해: 손실 함수를 최소화하는 가중치와 편향 값의 조합 중에서 가장 작은 값을 갖는 해
* 지역해: 함수가 최솟값을 갖는 지점 중에서 특정 영역 안에 있는 해를 의미
* 은닉층: 주어진 입력에서 학습된 가중치와 활성화 함수를 통해 출력을 생성
* 노드: 가중치와 함께 가중합을 계산, 그 결과를 활성화 함수를 통해 출력을 생성
활성함수
: 인공신경망은 노드에 입력되는 값을 바로 다음 노드로 전달하지 않고 비선형 함수에 통과시킨 후 전달하는데 이 때 사용되는 비선형 함수를 말한다
: 입력값에 따라 출력 신호를 내보낼지 여부를 결정하는 요소
많이 사용되는 활성함수
① 계단(step) 함수
: 기본적인 활성함수로 0 또는 1을 반환하는 이진형 함수
② 부호(sign) 함수
: 기본적인 활성함수로 -1 또는 1을 반환하는 이진형 함수
③ 시그모이드(sigmoid) 함수
: 로지스틱 회귀분석의 확률값을 구하기위한 계산 식과 유사하며 0과 1 사이의 값을 반환
④ 소프트맥스(softmax) 함수
: 표준화지수(일반화로지스틱) 함수로도 불린다.
: 출력값이 다범주인 경우에 사용
: 각 범주에 속할 확률값을 반환
⑤ tanh 함수
: 확장된 형태의 시그모이드 함수로 중심값은 0이며, -1과 1사이의 값을 출력
⑥ 가우스(gauss) 함수
: 결과는 연속형, 0과 1사이의 값을 반환
⑦ ReLU 함수
: 최근 딥러닝에서 많이 사용되는 함수
: 입력값과 0 중에서 큰 값을 반환
: 입력값이 0 이하는 0, 0 이상은 x 값을 가지는 함수
인공신경망의 계층 구조
- 단층신경망과 다층신경망으로 구분
- 입력층: 데이터를 입력받아 시스템으로 전송하는 역할
- 은닉층
: 신경망 외부에서 은닉층의 노드에 직접 접근할 수 없도록 숨겨진 은닉한 층
: 입력층으로부터 값을 전달받아 가중치를 계산한 후에 활성함수에 적용하여 결과를 산출하고, 출력츠으로 보낸다
- 출력층
: 학습된 데이터가 포함된 층
: 활성함수의 결과를 담고 있는 노드로 구성된다
: 출력층의 노드수는 출력 범주의 수로 결정된다.
- 은닉층과 은닉노드가 많으면 가중치가 많아져서 과대 적합 문제가 발생할 수 있다.
- 은닉층과 은닉노드가 적으면 과소적합 문제가 발생한다.
- 은닉노드의 수는 적절히 큰 값을 놓고 가중치를 가소시키며 적용하는 것이 좋다
인공신경망 학습(역전파 알고리즘)
- 입력층과 출력층의 데이터에 따른 이상적인 가중치 값을 결정해야 한다.
- 가중치 값의 결정은 입력층에서 출력층으로 찾아 나가는 순전파 알고리즘을 먼저 활용한다.
- 이때 발생한 오차들을 줄이고자 출력층에서 입력층 방향으로 거꾸로 찾아 나가는 역전파 알고리즘을 활용하여 조정한다.
- 훈련용 데이터의 자료들이 순차적으로 입력될 때마다 가중치가 새롭게 조정되는 것을 인공신경망이 학습한다고 표현
- 가중치가 0이면 시그모이드 함수는 선형이 되고 신경망 모형은 근사적으로 선형모형이 된다.
- 순전파 → 역전파
인공신경망의 종류
- 단층 퍼셉트론 (단층 신경망)
: 하나의 인공신경망은 데이터를 입력하는 입력층, 데이터를 출력하는 출력층을 갖고 있다.
: 입력층이 은닉층을 거치지 않고 바로 출력층과 연결된다.
: 여러 개의 개별 입력 데이터를 받아 하나의 입력 데이터로 가공하여 활성함수에 의하여 출력값을 결정
: 퍼셉트론의 출력값은 또 다른 퍼셉트론의 입력 데이터가 된다.
: 다수의 입력값을 받아 하나의 출력값을 출력하는데, 이 출력값이 정해진 임곗값을 넘었을 경우 1을 출력하고 넘지 못했을 경우에는 0을 출력한다.
- 다층 퍼셉트론 (다층 신경망)
: 입력층과 출력층 사이에 보이지 않는 다수의 은닉층을 가지고 있을 수 있다.
* 입력층: 하나의 퍼셉트론은 데이터를 입력
* 단층 퍼셉트론: 데이터를 출력하는 출력층을 가지고 있음
: 단층 퍼셉트론보다 학습하기가 어려우며 은닉층의 노드의 수가 너무 적으면 복잡한 의사결정 경계를 구축할 수 없다.
: 은닉층이 존재하지 않는 단층신경망은 한계점이 있기에 일반적인 인공신경망을 의미
다층신경망에서 은닉층의 수와 은닉노드의 수가 너무 많으면 과적합이 발생할 수 있다.
은닉노드의 수는 적절히 큰 값을 놓고 가중치를 감소시키며 적용하는 것이 좋다.
출력층의 노드수는 출력 범주의 수로 결정된다.
'ADsP 내용 정리' 카테고리의 다른 글
군집분석 (1) | 2024.04.28 |
---|---|
분류분석 - 나이브베이지,k-NN 알고리즘, 서포트벡터머신, 분류모형성과 (1) | 2024.04.28 |
분류분석 - 앙상블분석 (0) | 2024.04.23 |
분류분석모형 - 의사결정나무 (0) | 2024.04.22 |
분류분석모형 - 로지스틱회귀분석 (1) | 2024.04.19 |