Data Statistics

딥러닝_통계 분석 종류

뉴욕킴 2024. 11. 2. 01:09

통계 분석 기법

 

 

변수의 개수에 따른 분류:
Simple (단순): 하나의 변수만 사용하는 모델
Multiple (다중): 여러 개의 변수를 사용하는 모델


관계의 특성에 따른 분류:
Linear (선형): 변수들 간의 관계가 직선적인 모델
Nonlinear (비선형): 변수들 간의 관계가 곡선적이거나 복잡한 모델



단순 선형 모델: 집의 크기로만 가격을 예측하는 경우
다중 선형 모델: 집의 크기, 방 개수, 위치 등 여러 변수로 가격을 예측하는 경우
단순 비선형 모델: 시간에 따른 인구 증가를 곡선으로 예측하는 경우
다중 비선형 모델: 여러 변수를 사용하며 복잡한 패턴을 학습하는 신경망 


Logistic Regression

  • Classification (범주 예측), Regression (수치 예측)

 

로지스틱 회귀가 다중 클래스로 확장되는 과정

 

이진 분류(Binary Classification)

  • 공식: P(y=1|X) = 1 / (1 + e^-(β₀ + β₁X₁))
  • 두 클래스(0 또는 1)만 분류 가능

다중 클래스 분류(Multi-class Classification)

  • SoftMax 함수 사용
  • 공식: P(y=k|X) = e^(βₖᵀX) / Σⱼ e^(βⱼᵀX)
  • k는 특정 클래스, K는 전체 클래스 수
  • 분자: 특정 클래스 k의 선형결합을 지수화
  • 분모: 모든 클래스의 지수화된 값의 합

특징

  • 모든 클래스의 확률 합이 1이 됨
  • 예시: class 1 (0.2), class 2 (0.5), class 3 (0.3)
  • 각 클래스별 독립적인 β 파라미터 사용
  • 항상 양수이며 0과 1 사이의 확률값 출력

→ 이 방식으로 로지스틱 회귀는 두 개 이상의 클래스를 분류하는 문제도 해결할 수 있게됨 

 

 

선형 회귀모델 (Linear Regression) → 연속값 예측

  • 수식: Y = β₀ + β₁X₁ + ... + βₚXₚ
  • β₀는 절편, β₁부터 βₚ까지는 각 변수의 계수
  • 학습 방법: 최소제곱법(OLS, Ordinary Least Squares)
  • 연속적인 숫자를 예측할 때 사용 (예: 집값, 소득 등)

 

로지스틱 회귀 분석 (Logistic Regression) → 분류 문제

  • 수식: πᵢ = 1 / (1 + e^(-β₀ + β₁X₁ ... βₚXₚ))
  • 이진 분류 문제에 사용 (예: 합격/불합격, 성공/실패)
  • 학습 방법: 최대우도추정법(MLE, Maximum Likelihood Estimation)
  • 결과값이 0과 1 사이의 확률로 나옴

 

최소제곱법(OLS)과 최대우도추정법(MLE)의 차이 

 

최소제곱법 (OLS) : "실제 집값이 5억인데 4억으로 예측했다면, 1억의 오차를 줄이자"

  • 목적: 실제값과 예측값 차이의 제곱 합을 최소화
  • 수식: min Σ(y - ŷ)²
  • 특징: 직관적이고 계산이 상대적으로 단순, 오차가 정규분포를 따른다고 가정, 연속값 예측에 적합

 

최대우도추정법 (MLE) : "이 학생이 실제로 합격했는데, 합격 확률을 0.6으로 예측했다면, 이 확률을 더 높이자"

  • 목적: 관측된 데이터가 발생할 확률을 최대화
  • 수식: max Π P(yi|xi)
  • 특징: 확률 기반 접근법, 이진/범주형 결과값에 적합, 복잡한 확률 모델에도 적용 가능

왜 다른 방법을 쓰나?

  • 선형회귀: 연속값 예측이므로 오차 제곱합 최소화가 적절
  • 로지스틱회귀: 확률 예측이므로 확률을 최대화하는 것이 더 적절

인공신경망(Neural Network)

  • 2개 이상의 Hidden Layer 사용
  • 더 많은 특징 추출 가능 → 높은 정확도
  • 계산 복잡도는 높지만 현대 컴퓨팅으로 해결 가능
  • 현재 대부분의 예측 분석에서 기본적으로 사용
선형회귀 → 로지스틱 회귀 → 단층 신경망 → 다층 신경망
f_Linear → f_Logistic → f_NN → F_NN

 

  • Input Layer: 입력 데이터 (X₀, X₁, ..., X_D)
  • Hidden Layer(s): 중간 처리 층
  • Output Layer: 최종 출력

 

 

신경망의 다양한 문제 유형별 활성화 함수와 손실 함수

회귀(Regression)  : 집값, 주가 예측
Output Node: 1개
활성화 함수: Linear (선형)
손실 함수: Squared Error (제곱 오차)
L = ½(y - ŷ)²


이진 분류(Binary Classification) : 합격/불합격, 스팸/정상 메일
Output Node: 1개
활성화 함수: Sigmoid
손실 함수: Binary Cross-entropy
L = -[y log(ŷ) + (1-y)log(1-ŷ)]


다중 분류(Multiclass Classification) : 손글씨 숫자 인식(0-9), 동물 분류
Output Node: K개 (클래스 수만큼)
활성화 함수: Softmax
ŷᵢ,ₖ = e^zᵢ,ₖ / Σ e^zᵢ,ₖ
손실 함수: Categorical Cross-entropy
L = -Σ yₖlog(ŷₖ)

→ 각 문제 유형에 따라 적절한 활성화 함수와 손실 함수를 선택하는 것이 모델의 성능에 중요한 영향을 미침


CNN(Convolutional Neural Network) : 이미지 형태 데이터 예측에 탁월한 모델 

입력(Input) → 특징추출(Feature Extraction) → 예측(Prediction)
  • 일반 신경망 + 합성곱 연산
  • 이미지와 같은 2D/3D 형태 데이터 처리에 특화
  • 인접 데이터간 연관성이 높은 경우 효과적 (예: 얼굴의 눈,코,입)

역할
입력부: 이미지 데이터 (2D/3D)
특징추출부: Convolution Layer: 특징 추출, Pooling Layer: 데이터 압축/주요 특징 선택
예측부: Fully-Connected Layer, Softmax 함수로 최종 분류

LeNet-5


초기 CNN 모델 (5개 layer)
구조: Convolution → Pooling → Convolution → Pooling → FC → Softmax
손글씨 숫자 인식 등에 사용


CNN의 장점: 이미지 인식/분류에 탁월한 성능, 데이터의 공간적 특성 활용, 자동 특징 추출 가능

 

A Comprehensive Guide to Convolutional Neural Networks — the ELI5 way | by Sumit Saha | Towards Data Science

 

A Comprehensive Guide to Convolutional Neural Networks — the ELI5 way

Artificial Intelligence has been witnessing a monumental growth in bridging the gap between the capabilities of humans and machines…

towardsdatascience.com

 

 

Convolution Filter와 Pooling Layer의 작동 방식

 

1. Convolution Filter (커널)

 

  • 일반적으로 정사각형 형태 (H×H, 주로 3×3 사용)
  • Stride(이동 간격): 보통 1칸씩 이동
  • Overlapping(겹침) 허용
  • 연산 과정: 입력 데이터와 필터 요소들을 곱한 후 합산

2. Pooling Layer (풀링 층):

  • Max Pooling: 영역 내 최대값 선택
  • Average Pooling: 영역 내 평균값 계산
  • Global Average Pooling: 전체 영역의 평균 계산
  • 목적: 데이터 차원 축소, 주요 특징 보존, 과적합 방지

3. 작동순서 : 입력 → Convolution 연산 → Feature Map 생성 → Pooling → 압축된 Feature Map

 

4. 작동 특징

 

  • Convolution과 Pooling은 보통 세트로 사용
  • 여러 층을 거치며 점진적으로 특징 추출
  • 각 층마다 다른 특징을 학습 → 초기 층: 단순한 특징 (엣지, 선 등), 후기 층: 복잡한 특징 (도형, 패턴 등)

 


RNN(Recurrent Neural Network)

 

RNN 기본 구조: 시계열 데이터 처리를 위한 신경망 → 시간을 고려한 특징(feature)를 추출하여 Hidden State(hₜ)라고 표현함

 

두 가지 데이터 유형
- 단변량: T개 변수
- 다변량: T×D개 변수

RNN 파라미터
Wₓₕ: 입력(x)에서 은닉상태(h) 추출
Wₕₕ: 이전 은닉상태와 현재 입력으로 다음 은닉상태 추출
Wₕᵧ: 은닉상태로 출력(y) 예측

 

 

RNN의 Many-to-Many 파라미터 추정 과정

RNN 구조
시퀀스: x₁, x₂, ..., xₜ (입력)
은닉상태: h₀, h₁, h₂, ..., hₜ (히든 스테이트)
출력: y₁, y₂, ..., yₜ (예측값)

학습 대상 파라미터 (3가지):
A. Wₓₕ (초록색): 입력(X) → 은닉상태(h) 변환, 현재 시점의 입력을 은닉상태로 변환하는 가중치
B. Wₕₕ (빨간색): 이전 은닉상태(h) → 현재 은닉상태(h) 변환, 시간적 연속성을 담당하는 가중치
C. Wₕᵧ (파란색): 은닉상태(h) → 출력(y) 변환, 최종 예측을 위한 가중치

특징
각 시점마다 동일한 가중치를 공유
t시점의 예측은 이전 모든 시점의 정보를 활용
시간적 의존성을 모델링할 수 있음

→ 이러한 구조로 인해 RNN은 시계열 데이터나 순차 데이터 처리에 효과적

 

신경망의 파라미터 추정(학습) 과정

1. Forward Propagation (순전파)
Loss(손실) 계산 단계
입력값을 네트워크에 통과시켜 예측값 생성
실제값과 예측값의 차이(오차/손실) 계산

2. Backward Propagation (역전파)
Gradient(기울기) 계산 단계
계산된 손실을 기반으로 각 파라미터의 기울기 계산
손실에 대한 각 파라미터의 영향도 측정

3. Parameter Update (파라미터 갱신)
계산된 기울기를 사용해 파라미터 값 조정
보통 경사하강법(Gradient Descent) 사용
손실을 줄이는 방향으로 파라미터 업데이트

특징
이 세 단계는 반복적으로 수행됨 (화살표로 표시)
설정된 조건(에폭 수, 손실 값 등)이 만족될 때까지 반복
각 반복마다 모델의 성능이 점진적으로 개선됨

→ 학습 과정을 통해 신경망은 데이터의 패턴을 학습하고 예측 성능을 향상


Encoder-Decoder RNN
Encoder: 입력 문장의 특징 추출
Context Vector: 인코더가 디코더에 전달하는 정보
Decoder: Context Vector를 기반으로 번역/예측 수행

Attention 메커니즘
목적: 입력 시퀀스의 모든 부분을 고려하되, 현재 처리 중인 부분과 가장 관련있는 정보에 더 많은 '주의'를 기울
예: 번역할 때 원문의 특정 단어가 번역문의 특정 단어와 얼마나 연관되어 있는지 계산


단계
1) Attention Score: 입력-출력 유사도 계산 (유사도) 
2) Attention Weight: 유사도를 확률로 변환 (중요도) 
3) Context Vector: 가중치 적용된 특징 벡터 생성 (최종 특징으로 예측에 활용) 

 

Attention의 장점
병목 현상 해결: 긴 시퀀스도 효과적으로 처리
해석 가능성: 어떤 입력이 중요했는지 시각화 가능
성능 향상: 특히 긴 시퀀스에서 큰 성능 개선

예시 
Copy입력: "Hello Dr. Cho This is Ewha."
출력: "안녕하세요 조박사님 저는 이화입니다."
Attention: 각 단어쌍의 관련성에 가중치 부여
Attention은 특히 기계 번역에서 큰 성능 향상을 가져왔으며, 현대 자연어 처리의 핵심 기술이 되었습니다.

입력: "I love machine learning"
출력: "나는 기계학습을 좋아한다"

Attention 가중치 예시:
I      → 나는    (0.8)
love   → 좋아한다 (0.9)
machine learning → 기계학습을 (0.95)

 


모델 성능 평가 지표

1) 분류 문제 평가 지표
A. Confusion Matrix 구성
True Positive (TP): 실제 양성을 양성으로 예측
False Positive (FP): 실제 음성을 양성으로 예측
True Negative (TN): 실제 음성을 음성으로 예측
False Negative (FN): 실제 양성을 음성으로 예측

 

B. 주요 평가 지표

# 정확도(Accuracy): 전체 중 올바른 예측 비율
Accuracy = (TP + TN) / (TP + TN + FP + FN)

# 정밀도(Precision): 양성 예측 중 실제 양성 비율
Precision = TP / (TP + FP)

# 재현율(Recall): 실제 양성 중 양성 예측 비율
Recall = TP / (TP + FN)

# F1 점수: 정밀도와 재현율의 조화평균
F1 = 2 * (Precision * Recall) / (Precision + Recall)


2) 회귀 문제 평가 지표
A. MSE (Mean Squared Error)

MSE = (1/n) * Σ(y_실제 - y_예측)²

 

  • 예측값과 실제값 차이의 제곱 평균
  • 오차의 크기를 강조

 


B. RMSE (Root Mean Squared Error)

RMSE = √MSE

 

  • MSE의 제곱근
  • 원래 단위로 해석 가능

C. R² (결정계수)

R² = 1 - (Σ(y_실제 - y_예측)²) / (Σ(y_실제 - y_평균)²)

 

  • 0~1 사이 값
  • 1에 가까울수록 모델 설명력이 높음
  • 종속변수 변동이 독립변수에 의해 설명되는 정도

→ 이러한 지표들을 통해 모델의 성능을 다각도로 평가

'Data Statistics' 카테고리의 다른 글

차원 축소(Dimensionality Reduction)  (1) 2024.11.02
선형 회귀와 로지스틱 회귀  (0) 2024.09.22
[3] Simple Linear Regression  (0) 2023.05.27
기초통계 R 실습_오픈북 대비  (0) 2023.05.06
기초통계 R 실습  (0) 2023.05.02