본문 바로가기
데이터분석자격증 ADsP/Part 3 데이터 분석 R

[ADsP] 데이터마이닝 - 분류분석 (인공신경망 모형 ANN)

by doodlie 2024. 2. 21.

분류기법의 종류 

  • 로지스틱 회귀분석 (Logistic Regression) - 선형을 이용해 분류, 로지스틱 함수 적용
  • 의사결정나무 (Decision Tree) - 트리구조로 분류 또는 회귀, 해석이 쉬움
  • 앙상블(Ensemble) - 여러 모델을 결합하여 강력한 모델 생성 
  • K-NN (K-Nearest Neighbors) - 데이터 포인트의 가장 가까운 k개 이웃 데이터 포인트들 기반
  • SVM (Support Vector Machine) - 데이터를 고차원 공간으로 매핑하여 선형/빈선형 분류 수행
  • 인공신경망 모형 (ANN) - 여러 계층의 뉴런으로 구성되며, 숨겨진 계층을 통해 비선형 함수를 모델링, 딥러닝에서 적용
  • 베이지안분류 (Naive Bayesian) - 베이즈 이론 기반으로, 예측변수와 클래스간의 관계를 모델링

인공신경망(ANN)이란? 

ANN

  • 분류 & 예측 모두 할 수 있음
  • 구조: 입력층, 은닉층, 출력층 (각 층에 뉴런이 여러개 있음)  
    • 뉴런퍼셉트론(perceptron)이라고도 불리고, 가중치가 있는 링크로 연결되어있음
  • 학습: 입력(input)에 대한 올바른 출력(output)이 나오도록 가중치(weight)를 조절하는 것 
    • 뉴런은 활성화 함수(activation function)을 사용함
    • e.g. 시그모이드 함수는 0~1의 확률값을 가짐 
  • 장점: 복잡한 비선형 관계에 유용, 이상치 잡음에 민감하지 않음 
  • 단점: 결과 해석이 어려움 (노드, 레이어가 많기 때문에)

Neuron

경사하강법 (Gradient Decent)

  • 함수기울기를 낮은 쪽으로 계속 이동시켜 극값에 이를 때까지 반복시키는
  • 제시된 함수의 기울기의 최소값을 찾아내는 머신러닝 알고리즘
  • 비용함수(cost function)을 최소화하기 위해 weight를 반복적으로 조정하는 과정 

 

 

신경망 활성화 함수 (Activation function) 

  • 결과값을 내보낼 때 사용하는 함수로, 가중치 값을 학습할 때 error가 적게 나도록 도움
  • 풀고자 하는 문제 종류에 따라 활성화 함수의 선택이 달라짐 (회귀인가,분류인가,등..) 
  • 시그모이드 함수 (Sigmoid)를 사용할 때, 층이 많아지면 기울기 소실 문제가 발생할 수 있음 
    • 이진 분류문제에 사용됨
    • 연속형 0~1 (로지스틱함수)
  • softmax함수 - 다중 범주인 분류 문제에서 주로 사용. 각 범주에 속할 사후확률을 제공하는 함수
  • ReLU함수 - 이미지 분류 같은 문제에 사용. 음수 입력에 대해 0, 양수 입력에 대해 그대로 출력. 

신경망 은닉층 & 은닉노드

  • 은닉층 노드가 너무 적은 경우: 과소적합(underfitting) 문제 발생
  • 은닉층 노드가 너무 많은 경우: 과적합(overfitting) 문제 발생, 기울기 소실 문제 발생

기울기 소실 (Vanishing Gradient Problem) 

  • sigmoid함수를 사용할 때 발생, 문제 해결을 위해 ReLU와 같은 함수를 활성화 함수로 사용함
  • 역전파알고리즘 (backpropagation)은 출력층에서 입력층으로 오차 기울기를 흘려 보내면서 각 뉴런의 입력값에 대한 손실 함수의 기울기를 계산하고, weight를 갱신함 
    • 초기값에 따라 결과가 많이 달라지기 때문에 초기값 설정 (inititation)이 매우 중요
  • 기울기소실 - 다층신경망에서는 역전파알고리즘이 입력층으로 갈수록 Gradient가 점차적으로 0에 가고 (cost 미분 시), weight 갱신이 안되는 현상