IT/ADsP 자격증
ADsP 앙상블 분석
루돌푸다요
2024. 2. 23. 20:25
앙상블 기법
- 프랑스어로 앙상블 은 '함께, 동시에' 라는 의미를 가지고 있다. 데이터 마이닝에서는 여러 개별 모델을 결합하여 하나의 강력한 모델을 만드는 기법을 의미한다. 이러한 기법은 단일 모델보다 높은 정확성과 일반화 능력을 제공할 수 있다.
- 대표적인 앙상블 기법에는 배깅(bagging), 부스팅(boosting), 랜덤 포레스트 (random forest)가 있따.
- 결과가 수치형 데이터인 경우에는 값들의 평균을 통해 최종 결과를 예측하고, 결과가 범주형 데이터인 경우에는 다수결 방식으로 최종 결과를 예측 한다.
배깅
- 배깅(bagging) 은 bootstrap aggregationg 의 준말로 원 데이터 집합으로부터 크기가 같은 표본을 여러 번 단순임의 복원추출하여 각 표본(이를 붓스트랩 표본이라 함) 에 대해 분류기를 생성한 후 그 결과를 앙상블 하는 방법이다.
- 반복 추출 방법을 사용하기 때문에 같은 데이터가 한 표본에 여러 번 추출될 수도 있고, 그렇지 않을 수도 있다.
- 보팅(Voting) 은 여러 개의 모형으로부터 산출된 결과를 다수결에 의해서 최종결과를 선정하는 과정이다.
- 최적의 의사결정나무를 구출할 때 가장 어려운 부분이 가지치기이지만 배깅에서는 가지치기를 하지 않고 최대로 성장한 의사결정나무들을 활용한다.
- 분석을 위한 데이터 모집단의 분포를 알 수 없기 때문에 실제 문제에서는 평균예측 모형을 구할 수 없다. 하지만 하나의 붓스트랩을 구성할 때 원본 데이터로부터 복원 추출을 진행하기 때문에 붓스트랩은 알 수 없던 모집단의 특성을 더 잘반영할 수 있다. 배깅은 모집단의 특성이 잘 반영되는 분산이 작고 좋은 예측력을 보여준다.
부스팅
- 부스팅은 배깅의 과정과 유사하나 붓스트랩 표본을 구성하는 재표본 과정에서 각자료에 동일한 확률을 부여하는 것이 아니라, 분류가 잘못된 데이터에 더 큰 가중을 주어 표본을 추출한다.
- 약한 모델들을 결합하여 나감으로써 점차적으로 강한 분류기를 만들어 나가는 과정이다.
- 부스팅에서는 붓스트랩 표본을 추출하여 분류기를 만든 후 , 그 분류결과를 이용하여 각 데이터가 추출될 확률을 조정한 후, 다음 붓스트랩 표본을 추출하는 과정을 반복한다.
- 에이다부스팅 은 가장 많이 사용 되는 부스팅 알고리즘이며, 그 밖에 Gradient Boost, XGboost, Light GMB 등이 있다
- 붓스트립을 재구성하는 과정에서 잘못 분류된 데이터에 더 큰 가중치를 주어 표본을 추출하기 때문에 훈련오차를 빠르게 줄일 수 있다.
- 예측 성능이 배깅보다 뛰어난 경우가 많다.
- 배깅은 각각의 모델이 독립적이지만 부스팅은 독립적이지 않다.
랜덤포레스트
- 랜덤포레스트 는 서로 상관성이 없는 나무들로 이루어진 숲을 의미하며 배깅에 랜덤 과정을 추가한 방법이다.
- 의사결정나무의 특징인 분산이 크다는 점을 고려하여 배깅과 부스팅보다 더 많은 무작위성을 주어 약한 학습기들을 생성한 후 이를 선형 결합하여 최종 학습기를 만드는 방법이다. 또한 의사결정나무의 특징을 물려받아 이상값에 민감하지 않다는 장점이 있다.
- 랜한 Forest 에는 많은 트리들이 생성된다.
- 분류의 경우에는 다수결로 최종 결과를 구하지만 회구의 경우에는 평균 또는 중앙값을 구하는 방법을 사용한다.
- 수천 개의 변수를 통해 변수제거 없이 실행되므로 정확도 측면에서 좋은 성과를 보인다.
- 이론적 설명이나 최종 결과에 대한 해석이 어렵다는 단점이 있지만 예측력이 매우 높은 것으로 알려져 있다. 특히 입력변수가 많은 경우, 배깅과 부스팅과 비슷하거나 좋은 예측력을 보인다
인공신경만 개요
- 인공신경망은 인간의 뇌를 기반으로 한 학습 및 추론 모형이다.
- 인간의 뇌는 여러 시냅스의 결합으로 신호를 받아 뉴런이 활성화되고 출력 신호를 내보낸다. 뉴런과 뉴런 사이는 시냅스로 연결되어 있는데, 입력신호가 다른 뉴런으로 전달되기 위해서는 신호의 강도가 일정 기준치를 초과해야 한다.
이러한 뇌의 구조를 수학적으로 단순화 하여 모델링 한 것이 인공신경망 분석이다. - 인공 신경망 분석의 장단점
장점 | -스스로 가중치를 학습하므로 다양하고 많은 데이터에 효과적이다. - 잡음에 민감하게 반응하지 않는다. - 여러개의 은닉층을 가지고 있는 구조이므로 비선형적인 문제를 분석하는데 유용하다. - 패턴 인식, 분류, 예측 등의 문제에 효과적이다. |
|||||
단점 | - 초기 가중치에 따라 전역해가 아닌 지역해로 수렴 할 수 있다. - 결과에 대한 해석이 쉽지 않다. - 모형이 복잡할 경우 학습에 오랜 시간이 소요된다. - 추정한 가중치의 신뢰도가 낮다. - 은닉층의 수와 은닉 노드의 수를 결정하기가 어렵다. |
활성함수란 ?
- 뉴런은 전이함수, 즉 활성화 함수 를 사용한다.
- 인공신경망은 노드에 입력되는 값을 바로 다음 노드로 전달하지 않고 비선형 함수에 통과시킨 후 전달한다. 이때 사용되는 비선형 함수를 활성 함수라고 한다.
- 쉽게 말해 활성함수는 입력값에 따라 출력 신호를 내보낼지 여부를 결정하는 요소다.
- 어떤 활성함수를 사용하느냐에 따라 그 출력값이 달라지므로 적절한 활성함수를 사용하는 것이 중요하다. 대표적인 활성함수로는 시그모이드, 소프트맥스, ReLu(렐루) 등이 있다.
많이 사용되는 활성함수
- 계단 함수
- 기본적인 활성 함수로 0또는 1을 반환하는 이진형 함수다. - 부호 함수
- 기본적인 활성함수로 -1 또는 1을 반환하는 이진형 함수다. - 시그모이드 함수
- 로지스틱 회귀분석의 확률값을 구하기 위한 게산 식과 유사하며 0과 1사이의 값을 반환한다. - 소프트 맥스 함수
- 표준화지수(또는 일반화로지스틱) 함수로도 불리며, 출력값이 다범주인 경우에 사용된다. 로지스틱회귀분석과 마찬가지로 각 범주에 속할 확률값을 반환한다. - tanh 함수
- 확장된 형태의 시그모이드 함수로 중심값은 0 이며 , -1과 1 사이의 값을 출력한다. - 가우스 함수
- 결과는 연속형이며, 0과 1 사이의 값을 반환한다. - ReLU 함수
- 최근 딥러닝에서 많이 사용되는 함수로 입력값과 0 중에서 큰 값을 반환한다. 입력값이 0 이하는 0, 0 이상은 x 값을 가지는 함수다.
인공신경망의 계층 구조
인공신경망은 단층신경망과 다층신경망으로 구분된다.
- 입력층은 데이터를 입력받아 시스템으로 전송하는 역할을 한다.
- 은닉층은 신경망 외부에서는 은닉층의 노드에 직접 접근할 수 없도록 숨겨진 은닉한 층이다.
- 은닉층은 입력층으로부터 값을 전달받아 가중치를 계산한 후에 활성함수에 적용하여 결과를 산출하고 이를 출력층으로 보낸다.
- 출력층은 학습된 데이터가 포함된 층으로, 활성함수의 결과를 담고 있는 노드로 구성된다. 출력층의 노드수는 출력 범주의 수로 결정된다.
- 은닉층과 은닉노드가 많으면 가중치가 많아져서 과대적합 문제가 발생할 수 있다. 반대로 은닉층과 은닉노드가 적으면 과소적합 문제가 발생한다.
- 으닉노드의 수는 적잘히 큰 값을 놓고 가중치를 감소시키며 적용하는 것이 좋다.
입력 변수
- 신경망 모형은 그 복잡성으로 인해 입력 자료의 선택에 매우 민감하다.
- 입력 변수가 범주형 또는 연속형 변수 일 때 아래의 조건이 신경망 모형에 적합하다.
범주형 변수 : 모든 범주에서 일정 빈도 이상의 값을 갖고 각 범주의 빈도가 일정할 때
연속형 변수 : 입력변수 값들의 범위가 변수 간의 큰 차이가 없을 때
인공 신경망의 종류
단층 퍼셉트론 (단층 신경망)
- 하나의 인공신경망은 데이터를 입력하는 입력층, 데이터를 출력하는 출력층을 갖고 있다.
- 단층 신경망이라고도 하며 입력층이 은닉층을 거치지 않고 바로 출력층과 연결된다.
- 퍼셉트론은 여러 개의 개별 입력 데이터를 받아 하나의 입력 데이터로 가공하여 활성함수에 의하여 출력값을 결정한다. 퍼셉트론의 출력값은 또 다른 퍼셉트론의 입련 데이터가 된다.
- 단층 퍼셉트론은 다수의 입력값을 받아 하나의 출력값을 출력하는데, 이 출력값이 정해진 임곗값을 넘었을 경우 1을 출력하고 넘지 못했을 경우에는 0을 출력한다 .
다층 퍼셉트론 (다층 신경망)
- 하나의 퍼셉트론은 데이터를 입력하는 입력층, 데이터를 출력하는 출력층을 갖고 있는 단층 퍼셉트론과 입력층과 출력층 사이에 보이지 않는 다수의 은닉층을 가지고 있을 수 있는 다층 퍼셉트론으로 구분할 수 있다.
- 다층 퍼셉트론은 단층 퍼셉트론보다 학습하기가 어려우며 은닉층의 노드의 수가 너무 적으면 복잡한 의사결정 경계를 구축할 수 없다.
- 입력층과 출력층 사이에 보이지 않는 다수의 은닉층을 가지고 있을 수 있다. 은닉층이 존재하지 않는 단층신경망은 한계점이 있기에 일반적인 인공신경망은 다층신경망을 의미한다.