본문 바로가기

Upstage AI Lab 3기

Linear Regression & Binary Classification

목차

  • Linear Regression
    • Learning
    • Error
    • Loss Function
    • Gradient Descent
  • Binary Classification
    • Logistic Regression
    • Sigmoid Function
    • Loss Function
    • Binary Cross Entropy
      • Maximum Likelihood Estimation

Linear Regression[선형회귀]

트레이닝 데이터를 사용하여 데이터의 특성과 상관관계를 분석하고
모델을 학습시켜
트레이닝 데이터에 포함되지 않은 새로운 데이터에 대한 결과를 연속적인 숫자 값으로 예측하는 과정

  • 주어진 트레이닝 데이터를 바탕으로 손실함수의 값이 최소가 되도록 가중치 W와 y절편 b를 구하는 것이 최종 목표

Learning[학습]

트레이닝 데이터의 분석을 통해 데이터의 분포를 가장 잘 표현하는 선형 관계를 나타내는 직선 y = Wx + b 의 가중치 W와 y절편 b를 찾아가는 과정

Error[오차]

정답 t와 계산 값 y의 차이

  • 오차가 큰 경우
    • 임의로 가정한 y = Wx + b 함수의 가중치 W와 y절편 b값이 잘못된 것
  • 오차가 작은 경우
    • 임의로 가정한 y = Wx + b 함수의 가중치 W와 y절편 b값이 최적화되어 미래 값 예측도 정확할 것이라고 예상할 수 있음

Loss Function[손실함수/비용함수]

  • y = Wx + b 함수의 계산 값 y와 정답 t의 차이(오차)를 모두 더해서 수식으로 나타낸 것

    • 오차의 부호가 + / - 로 혼재하기 때문에 오차의 총합이 0으로 나올 수 있어 최소 오차 값 여부를 판단하기 어려워지기에

      손실함수에서 오차 계산 시 $(t - y)^2$ 사용
    • 오차가 클수록 제곱에 의한 오차는 더 큰 값을 가지게 됨
  • 오차의 제곱을 이용한 손실함수

    • 평균제곱오차(MSE, Mean Squared Error)
    • $\frac{1}{n}\displaystyle\sum_{i=1}^{n}[t_i - (W_i + b)]^2$
    • 머신러닝에서는 손실함수의 값을 최소로 하는 것이 가장 중요

Gradient Descent[경사하강법]

손실함수의 최솟값을 찾기 위해 가장 일반적으로 많이 쓰이는 방법

  • 가중치 W가 변함에 따라 손실함수 값도 계속 변함
  • 기울기가 더 이상 작아지지 않는 가중치 W값에서의 손실함수 값 = 최소값

Binary Classification[이진 분류]

트레이닝 데이터의 특성과 그들 간의 상관관계를 분석하여, 임의의 입력 데이터를 사전에 정의된 두 가지 범주 중 하나로 분류할 수 있는 예측 모델을 만드는 과정

Logistic Regression

  1. 트레이닝 데이터의 특성과 분포를 나타내는 최적의 직선을 찾음
  2. 해당 직선을 기준으로 데이터를 위[1] / 아래[0] 또는 왼쪽[1] / 오른쪽[0] 등으로 분류
  • 분류 알고리즘 중 정확도가 높은 알고리즘으로 알려져 있어 딥러닝에서 기본 컴포넌트로 사용되고 있음

    Sigmoid Function

  • $(0, 1)$ 범위의 값으로 변환

  • $y = Sigmoid(z) = \frac{1}{1 + exp(-z)}$

  • 결과가 나올 확률로 해설할 수 있음

    시그모이드 함수를 사용해 이진 분류 시스템 구현 방법

  1. 트레이닝 데이터의 특정 변수 x값이 회귀에 입력으로 들어가서 z = Wx + b 값으로 계산됨

  2. z 값이 이진 분류에 입력으로 들어가서 $y = Sigmoid(z)$ 값으로 계산됨

  3. 출력된 $y = Sigmoid(z)$ 값이

    • $\geq$ 0.5, 논리적인 결과 값을 True[1] 상태로 정의
    • < 0.5, 논리적인 결과 값을 False[0] 상태로 정의

    하고 이진 분류 시스템 구현

    Loss Function

이진 분류 시스템에서 최종 출력 값 y는 논리적으로 True[1] / False[0] 값을 가지기 때문에 션형 회귀때와 다른 손실함수가 필요함

Binary Cross Entropy

손실함수(BCE)는 $y = Sigmoid(z) = \frac{1}{1 + exp(-z)}$ 시그모이드 함수에 의해 $(0, 1)$ 사이로 계산된 값 y와 정답 $t_i = 0 or 1$ 와의 오차를 토대로 다음 함수식으로 표현

  • $E(W, b) = -\displaystyle\sum_{i=1}^n{t_ilogy_i + (1 - t_i)log(1 - y_i)}$

    Maximum Likelihood Estimation[최대 가능도 추정]

관찰치(실험결과)를 가장 잘 설명해줄 수 있는 추정치를 가능성이 높은 모수의 추정량으로 택하는 방법

  • 가능도가 최대값이 될 때, 관찰치가 가정한 확률분포에 대응하는 모수의 값으로 설명할 수 있을 가능성이 가장 높기 때문
  • Binary Cross Entropy 유도

'Upstage AI Lab 3기' 카테고리의 다른 글

Python EDA - Pandas  (0) 2024.04.30
Python EDA - Numpy  (0) 2024.04.30
Statistics - Correlation Analysis  (0) 2024.04.28
Statistics - ANOVA  (0) 2024.04.28
Statistics - 추리통계  (1) 2024.04.28