Data Analyst/빅데이터 분석기사
[빅데이터 분석기사 4단원] 1.2 분석 모형 개선 pdf
Data Analyst / PO
2024. 9. 8. 19:03
반응형
- 과대 적합 방지
- 매개변수 최적화
- 분석 모형 융합
- 최종 모형 선정
[빅분기4단원]1.2_분석_모형_개선.pdf
0.33MB
1. 과대 적합 방지
(1) 과대 적합의 개념
- 제한된 학습 데이터 세트에 너무 지나치게 특화되어 새로운 데이터에 대한 오차가 매우 커지는 현상. 모델의 파라미터 수가 많거나 학습용 데이터 세트의 양이 부족한 경우에 발생함
- 분석 모형 관련 용어
- 학습 데이터 : 관측된 데이터를 좌표계로 변환함
- 일반화 : 테스트 데이터에 대한 높은 성능을 갖춤. 과대적합, 과소적합을 피하고 정상추정함
- 과대 적합 : 모델이 학습 데이터에 너무 잘 맞지만, 일반화가 떨어짐
- 과소 적합 : 모델이 너무 단순하여 데이터의 내재된 구조를 학습하지 못할 때 발생
(2) 과대 적합 방지하기
- 데이터 증강
- 모델은 학습용 데이터 세트의 양이 적을 경우, 해당 데이터의 특정 패턴이나 노이즈까지 분석되어 과대 적합 현상이 발생할 확률이 높으므로 충분한 데이터 세트를 확보해야 한다.
- 데이터의 양이 적을 경우, 데이터를 변형해서 늘릴 수 있다.
- 모델의 복잡도 감소
- 인공신경망의 복잡도는 은닉층의 수나 모델의 수용력 등으로 결정된다.
- 과대 적합 현상이 발생할 때 인공신경망의 은닉층의 수를 감소하거나 모델의 수용력을 낮추어 복잡도를 줄일 수 있다.
- 가중치 규제 적용
- 가중치 규제 개념 : 개별 가중치 값을 제한해 복잡한 모델을 좀 더 간단하게 하는 방법. 복잡한 모델은 많은 수의 매개변수를 가진 모델로 과대 적합될 가능성이 큼.
- 가중치 규제의 종류
- L1 규제 : 기존 가중치 w들의 절댓값 합계를 비용 함수에 추가함. 기존의 비용 함수에 모든 가중치에 대해서 v|w|를 더한 값을 비용함수로 함.
- L2 규제 : 모든 가중치들의 제곱합을 비용함수에 추가함. 기존의 비용 함수에 모든 가중치에 대해서 1/2vw²를 더한 값을 비용함수로 함
- v는 규제의 강도를 정하는 하이퍼 파라미터임.
- 하이퍼 파라미터 : 모델에서 외적인 요소로 데이터 분석을 통해 얻어지는 값이 아니라 사용자가 직접 설정해주는 값
- v가 크다면 모델이 학습 데이터에 대해서 적합한 매개변수를 찾는 것보다 규제를 위해 추가된 항들을 작게 유지하는 것을 우선한다는 의미다
- 비용 함수를 최소화하기 위해서는 가중치 w들의 값이 작아져야 함
- 드롭아웃
- 드롭아웃 개념 : 학습 과정에서 신경망 일부를 사용하지 않는 방법 (드롭아웃의 비율을 0.5로 하면 학습 과정마다 랜덤으로 절반의 뉴런을 사용하지 않고, 절반의 뉴런만 사용)
- 드롭아웃 개념도
- 신경망 : 전체 사용
- 드롭아웃된 신경망 : 학습 과정에서 신경망 일부를 사용하지 않음
- 드롭아웃 특징
- 신경망 학습시에만 사용하고, 예측시에는 사용하지 않음.
- 학습 시에 인공신경망이 특정 뉴런 또는 특정 조합에 너무 의존적으로 되는 것을 방지해주고, 매번 랜덤 선택으로 뉴런들을 사용하지 않는다
- 서로 다른 신경망들을 앙상블하여 사용하는 것 같은 효과를 내어 과대 적합을 방지한다.
- 드롭아웃 유형
- 초기 드롭아웃 : 학습 과정에서 노드들을 p의 확률로(보통 0.5) 학습 횟수마다 임의로 생략하고, 남은 노드들과 연결 선들만을 이용하여 추론 및 학습을 수행하는 기법. DNN(deep neural network)심층 신경망 알고리즘에 사용
- 공간적 드롭아웃 : 합성곱 계층에서의 드롭아웃. 특징 맵 내의 노드 전체에 대해 드롭아웃의 적용 여부를 결정하는 기법. CNN(convolution neural network) 합성곱 신경망 알고리즘에 사용
- 시간적 드롭아웃 : 노드들을 생략하는 방식이 아니라 연결선 일부를 생략하는 방식으로, Drop Connection 방식의 개선 기법. RNN(Recurrent Neural Network) 순환 신경망 알고리즘에 사용
2. 매개변수 최적화
(1) 매개변수(Parameter)의 개념
주어진 데이터로부터 학습을 통해 모델 내부에서 결정되는 변수
(2) 매개변수 최적화의 개념
- 학습 모델과 실제 레이블과 차이는 손실 함수로 표현되며, 학습의 목적은 오차, 손실 함수의 값을 최대한 작게 하도록 하는 매개변수(가중치, 편향)를 찾는 것이다.
- 매개변수의 최적값을 찾는 문제이며, 이러한 문제를 푸는 것을 최적화라 한다.
(3) 매개변수 종류
- 가중치 : 각 입력값에 각기 다르게 곱해지는 수치. y=ax+b → a가 가중치
- 편향 : 하나의 뉴런에 입력된 모든 값을 다 더한 값(가중합)에 더해주는 상수이다. y=ax+b → b가 편향
(4) 매개변수 최적화 과정
x축에는 가중치, y축에는 손실 값을 갖는 2차원 손실 함수 그래프를 이용하여 최적화를 한다.
(5) 매개변수 최적화 기법
- 확률적 경사 하강법
- 매개변수 최적화 과정
- 학습률이 작은 경우 : 매우 느리게 학습되어 최적화에 많은 시간이 걸릴 수 있음
- 학습률이 높은 경우 : 기울기가 0인 지점을 지나치게 되어 최적화가 되지 못함
- 학습률이 적절한 경우 : 기울기가 0인 지점을 찾게 되어 최적화됨
- 확률적 경사 하강법의 개념
- 손실 함수의 기울기를 구해, 그 기울기를 따라 조금씩 아래로 내려가 최종적으로는 손실 함수가 가장 작은 지점에 도달하도록 하는 알고리즘임.
- 기울기를 구하는데 학습 1회에 필요한 한 개의 데이터가 무작위로 선택이 되어 확률적이라고 한다.
- 손실 함수 그래프에서 지역 극소점에 갇혀 전역 극소점을 찾지 못하는 경우가 많고, 손실 함수가 비등방성 함수일 때에서는 최적화에 있어 매우 비효율적이고 오래 걸리는 탐색 경로를 보여준다.
- 확률적 경사 하강법의 단점을 개선해주는 기법으로 모멘텀, AdaGrad, Adam이 있다.
- 확률적 경사 하강법 특징
- 기울기가 줄어드는 최적점 근처에서 느리게 진행한다.
- 탐색 경로가 지그재그로 크게 변한다.
- 확률적 경사 하강법은 다음 그림과 같이 심하게 굽어져 지그재그의 움직임을 보여준다.
*지역극소점 : 주위의 모든 점이 함숫값 이하의 함숫값을 갖는 점.
*전역 극소점 : 모든 점의 함숫값 이하의 함숫값을 갖는 점.
*비등방성 함수 : 방향에 따라 기울기가 달라지는 함수
*경사 하강법 : 함수의 기울기를 구하여 기울기가 낮은 쪽으로 계속 이동시켜서 극값에 이를때까지 반복시키는 기법
- 모멘텀
- 모멘텀의 개념
- 기울기 방향으로 힘을 받으면 물체가 가속된다는 물리 법칙을 적용한 알고리즘.
- 모멘텀은 '운동량'을 뜻함.
- 확률적 경사 하강법(SGD)에 속도라는 개념을 적용함
- 기울기가 줄어들더라도 누적된 기울기 값으로 인해 빠르게 최적점으로 수렴하게 됨
- 최적점 : 곡선 위의 평탄한 점
- 모멘텀의 특징
- 모멘텀 알고리즘의 최적점 탐색 경로를 보면 알 수 있듯이, 공이 구르는 듯한 모습을 보여줌
- 관성의 방향을 고려해 진동과 폭을 줄이는 효과가 있다
- 탐색 경로의 변위가 줄어들어 빠르게 최적점으로 수렴함
- 모멘텀의 갱신 경로는 공이 그릇 바닥을 구르듯 움직임
- 확률적 경사 하강법과 비교하면 '지그재그' 정도가 덜하다
- x의 방향으로 일정하게 가속하고, y축 방향의 속도는 일정하지 않다.
- AdaGrad
- AdaGrad의 개념
- 손실함수의 기울기가 큰 첫 부분에서는 크게 학습하다가, 최적점에 가까워질수록 학습률을 줄여 조금씩 적게 학습하는 방식
- 학습을 진행하면서 학습률을 점차 줄여나가는 학습률 감소 기법을 적용한 최적화 알고리즘
- 매개변수 전체의 학습률 값을 일괄적으로 낮추는 것이 아니라 각각의 매개변수에 맞는 학습률 값을 만들어주는 방식
- AdaGrad의 특징
- AdaGrad 기법의 최적점 탐색 경로를 보면, 최적점을 향해 매우 효율적으로 움직임
- 처음에는 큰 폭으로 움직이지만, 큰 움직임에 비례하여 갱신 정도도 큰 폭으로 작아짐
- 갱신 강도가 빠르게 약해지고, 지그재그 움직임이 눈에 띄게 줄어들어 빠르게 최적점으로 수렴함
- 최솟값을 향해 효율적으로 움직인다
- y축 방향은 기울기가 커서 처음에는 크게 움직이지만, 큰 움직임에 비례해 갱신 정도도 큰 폭으로 작아지도록 조정된다
- y축 방향으로 갱신 정도가 빠르게 약해지고, 지그재그 움직임이 줄어든다
- Adam
- Adam 개념
- 모멘텀 방식과 AdaGrad 방식의 장점을 합친 알고리즘
- 최적점 탐색 경로 또한 이 두 방식을 합친 것과 비슷한 양상으로 나타난다
- Adam의 특징
- 탐색 경로의 전체적인 경향은 모멘텀 방식처럼 공이 굴러가는 듯하고, AdaGrad로 인해 갱신 강도가 조정되므로 모멘텀 방식보다 좌우 흔들림이 덜한것을 볼 수 있음
- Adam의 갱신 과정은 그릇 바닥을 구르듯 움직임
- 모멘텀과 비슷한 패턴이지만, 모멘텀보다 공의 좌우 흔들림이 적다
3. 분석 모형 융합
(1) 취합 방법론 Aggregation
- 다수결
- 다수결 개념 : 여러 모형에서 출력된 결과를 종합해 다수결로 나온 모형을 최종 모형으로 설정하는 방법. 여러 분류기(로지스틱 회귀, SVM, 경사 하강법)로 학습시킨 후 투표를 통해 최종 모형을 선택함
- 다수결 유형
- 직접 투표 : 단순 투표 방식, 개별 모형의 결과 기준
- 간접 투표 : 가중치 투표 방식, 개별 모형의 조건부 확률의 합 기준
- 배깅
- 학습 데이터의 중복을 허용하며 학습 데이터 세트를 나누는 기법으로 복원추출방법임.
- 중복을 허용하기 때문에 특정 학습 데이터는 중복으로 사용되고 특정 학습 데이터는 사용되지 않아 편향될 가능성이 있음
- 페이스팅
- 학습 데이터를 중복하여 사용하지 않고 학습 데이터 세트를 나누는 기법
- 비복원 추출 방법
- 랜덤 서브스페이스
- 다차원 독립변수 중 일부 차원을 선택한다
- 학습 데이터를 모두 사용하고 특성은 샘플링하는 방식
- 랜덤 패치
- 학습 데이터와 독립변수 차원 모두 일부만 랜덤하게 사용한다
- 학습 데이터, 특성 모두 샘플링하는 방식
- 랜덤 포레스트
- 의사결정나무를 개별 모형으로 사용하는 모형 결합 방법이다
- 랜덤 포레스트는 모든 독립변수를 비교하여 최선의 독립변수를 선택하는 것이 아니라 독립변수 차원을 랜덤하게 감소시킨 다음 그 중에서 독립변수를 선택한다
- 개별 모형들 사이의 상관관계가 줄어들기 때문에 모형 성능의 변동이 감소하는 효과가 있다.
(2) 부스팅 방법론
부스트 방법은 미리 정해진 개수의 모형 집합을 사용하는 것이 아니라 하나의 모형에서 시작하여 모형 집합에 포함할 개별 모형을 하나씩 추가한다
- 에이다 부스트
- 각 약한 모형을 순차적으로 적용해나가는 과정에서 잘 분류된 샘플의 가중치는 낮추고 잘못 분류된 샘플의 가중치는 상대적으로 높여주면서 샘플 분포를 변화시키는 기법
- 에이다 부스트라는 이름은 적응 부스트라는 용어에서 나옴
- 그레디언트 부스트
- 각 약한 모형을 순차적으로 적용해나가는 과정에서 잘못 분류된 샘플의 에러를 최적화하는 기법
4. 최종 모형 선정
(1) 최종 모형 평가 기준 선정
정확도, 재현율, 정밀도 등의 평가지표를 이용함.
(2) 최종 모형 분석 결과 검토
(3) 알고리즘별 결과 비교
혼자 공부하며 시험에 나올 법한 내용들 위주로 정리한 개인 파일입니다.
반응형