낼름낼름 동동이

[ASAC 26일차] Machine learning 이론 본문

데이터분석

[ASAC 26일차] Machine learning 이론

인죠인간 2024. 4. 30. 10:53

4월 30일의 기록

머신 러닝을 하는 이유에 대해서 우선적으로 이해하면서 이론적인 공부를 하니 왜 이렇게 해야하는지, 수학적인 관점에서 왜 이런 계산식을 쓰는지 더 명확해진다. 내가 이해한 흐름대로 최대한 블로그를 쓰면서 제대로 이해했는지 검증해야겠다.


목차

  1. 수, 벡터, 행렬, 텐서(3차원 이상)
  2. 데이터의 분리
  3. Learning이란?
  4. Learning : Parameter Estimation
  5. 모델 평가 방법

 

 

수, 벡터, 행렬, 텐서

  • 수(Scalar) : 0차원
  • 벡터(Vector) : 1차원
  • 행렬(Matrix) : 2차원 행렬
  • 텐서(Tensor): 3차원 이상의 값

머신러닝에서는 기본적으로 2차원의 행렬(Matrix)을 사용하게 된다.

  • 1개의 sample data → 여러 개의 측정값 → 여러 개의 값을 모아두는 Vector 표현
  • N개의 sample data → 여러 개의 측정값을 가진 데이터가 여러 개 → 2차원의 Matrix로 표현

 

 

데이터의 분리
  • X : 독립 변수, 예측 변수, 입력(Input) 변수라고 부른다.
  • Y : 종속 변수, 반응 변수, 출력(Output) 변수라고 부른다.
  • f(x) : 모델, 예측 함수를 의미한다. 즉, X값을 넣었을 때 Y값이 무엇인지 예측, 정의 하기 위한 머신러닝 함수를 의미
  • Training Data : 모델 f(x) 구축 시 사용되는 데이터
  • Testing Data : 구축된 모델을 검증하는데 사용되는 데이터

 

 

데이터 셋 분리 방법

일반적으로 데이터 셋은 이렇게 분리 한다.

  • Training : 모델을 학습하기 위한 데이터
  • Validation : 추정한 모형이 적합한지 확인하기 위한 데이터
  • Test: 모델의 예측도가 얼마나 정확한지 평가하기 위한 데이터

다음으로 수집한 데이터 셋을 구분하는 비율을 결정한다.

 

  • Overfitting(과적합)을 피하기 위해 Training/Validation/Test를 5:3:2정도로 나누어서 사용을 한다.

여기서 모델 및 결론이 잘 나오려면 중요한 점

  1. 절대적인 데이터의 수가 많아야 한다.
  2. 데이터와 모델에 따라서 Training/Validation/Test
Learning 이란?
  • 간단하게 바라보면 함수를 예측하는 과정이라고 말할 수 있다.
  • x값과 y값(주어진 데이터) 만 알고 있고 이를 통해 실제 파라미터는 무엇인지 관측하는 것이 머신러닝에 있어서 중요한 문제이다.

  • 즉, 러닝이란 x값과 y값을 보면서 둘의 관계를 설명하는 함수를 만들어 내는 과정이다.
  • 현실에서도 1개의 변수만 있다면 영향을 주는 파라미터를 결정하기 쉽지만 우리가 하는 모든 예측에는 변수가 많을 수 밖에 없다.

  • 위 이미지처럼 파라미터가 2개 이상이 되면 w1과 w2는 서로의 값에 따라 y 값이 달라지는 것을 알 수 있다.
  • 우리가 선택한 모델에 따라 각 파라미터를 결정되기 때문에 모델을 바꿔가며 더 설명이 잘되는 모델을 선택해야 한다.

모델을 업데이트하는 프로세스

  1. x값을 모델에 넣었을 때 적절한 y값을 예측
  2. 실제 결과값을 손실함수에 넣었을 때의 에러값을 확인하며 업데이트 한다.

 

Learning : Parameter Estimation(파라미터 예측)

 

그렇다면 어떻게 파라미터를 최적화 할 수 있을까?

 

우선, 실제값과 예측값의 차이가 가장 작은 것을 목표로 해야 한다.

 

예측 값은 각 변수에 따른 파라미터에 따라 결정되며 실제 값과 예측값의 차이를 모두 더했을 때 그 값이 얼마인지 확인이 필요하다.

그러기 위해 표준 편차를 알아보자.

 

실제값과 예측값의 차이를 어떻게 최소화 할까

개별 데이터의 에러(실제값과 예측값 차이)를 계산하고 그 에러를 모두 더해야 한다.

 

단, 실제 편차는 음수값도 존재할 수 있으므로 이를 제곱하여 모두 양수로 만들어서 더해준다.

 

위에서 구한 값을 최소화 하는 W1, W2를 찾는 것을 목표로 해야 한다.

 

즉, 예측의 에러를 최소화 할 수 있도록 함수를 여러가지 모델로 돌려 보면서 잘 맞는 F의 모양을 선택해본다.

  • F의 모양은 내가 수집한 데이터에 종속되며,
  • 최신 연구 동향을 추가로 함께 보는 것이 중요하다.

—> f1, f2,,,,fn (이 중에서 제일 좋은 것,,, 이것들을 종합)

 

전통적인 머신 러닝의 한계점

  1. 단, 우리가 예측한 값은 X와 Y라는 2차원의 선형 관계에서만 동작하는 것을 알 수 있다.
  2. 현실에서의 문제는 3차원 이상의 문제로 넘어갈 때가 많다.
  3. 이러한 한계점으로 인해 3차원 이상의 비선형 함수를 최적화(Deep Learning) 하는 것이 필요해졌다고 할 수 있다.

'데이터분석' 카테고리의 다른 글

[ASAC 29일차] KNN 모델  (0) 2024.05.07