인공 신경망 Artificial Neural Network

2022. 2. 24.공부/알고리즘

728x90

동물의 뇌신경계를 모방하여 분류 또는 예측을 위해 만들어진 머신러닝 알고리즘이다. 신호의 강도가 기준치를 초과할 때 뉴련은 활성화되고, 신경돌기(Axon)를 통해 신호를 방출하듯이, 인공신경망에서 input은 시냅스에 해당하며 개별신호의 강도에 따라 가중(Weight)되고 활성함수(Activation function)는 인공신경망의 output을 계산한다. 많은 데이터에 대해 학습을 거쳐 원하는 결과가 나오도록(오차가 최소화되는 방향으로) Weight의 수치가 조절된다.

 

 

x는 입력 벡터 값, w는 가중치, activation function은 활성함수, net은 입력 벡터의 크기

 

 

장점과 단점

 

장점   1. 변수의 수가 많거나 입,출력 변수 간에 복잡한 비선형 관계에 유용
  2. 이상치 잡음에 대해서도 민감하게 반응하지 않음
  3. 입력변수와 결과변수가 연속형이나 이산형인 경우 모두 처리가능
단점   1. 결과에 대한 해석이 쉽지 않음
  2. 최적의 모형을 도출하는 것이 상대적으로 어려움
  3. 모형이 복잡하면 훈련 과정에 시간이 많이 소요됨
  4. 데이터를 정규화하지 않으면 지역해(local minimum)에 빠질 위험

 

활성화 함수(activation function)

 

입력신호의 총합을 출력신호로 변환하는 함수. output을 내보낼 때 사용하는 함수로, weight 값을 학습할 때 에러가 적게 나도록 돕는 역할이며 풀고자하는 문제에 따라 활성화 함수의 선택이 달라진다. 목표 정확도와 학습시간을 고려하여 선택하고 혼합 사용도 한다. 

 

선형 함수    문제 결과가 직선을 따르는 경향이 있으면 선형함수를 사용
계단 함수   0 또는 1의 결과, 임계값 0.1 기준으로 활성화 또는 비활성화
부호 함수   -1 또는 1의 결과, 임계값을 기준으로 양의 부호(+1) 또는 음의 부호(-1)을 출력
sigmoid 함수   연속형 0~1, Logistic 함수라 불리기도 함
  선형적인 멀티-퍼셉트론에서 비선형 값을 얻기 위해 사용
softmax 함수   시그모이드 함수의 일반화된 형태
  모든 logits의 합이 1이 되도록 output을 정규화
  sigmoid 함수의 일반화된 형태로 결과가 다 범주인 경우
  각 범주에 속할 사후 확률을 제공하는 활성화 함수
  주로 3개 이상 분류시 사용함

왼쪽 부터 1.선형 함수, 2.계단 함수, 3.부호 함수
4.시그모이드 함수 5. 소프트맥스 함수

 

 

bias-variance trade off

 

일반적으로 학습모형의 유연성이 클수록 분산(variance)은 높고, 편향(bias)은 낮다. variance는 지나치게 복잡한 모델로 인한 에러이다. 분산이 크면 과대 적합(overfitting)이 야기된다. bias는 지나치게 단순한 모델로 인한 에러이다. 편향이 크면 과소 적합(underfitting)이 야기된다. 

 

 

출처 : ADsP 이론서, EduAtoZ - Programming YouTube