인공지능/자연어처리

선형회귀(로지스틱 회귀분석)

윤채니챈 2023. 10. 11. 00:35
728x90
반응형

머신러닝이란? 

 

머신러닝은 컴퓨터가 데이터로부터 학습하는 능력을 갖추게 하는 연구 분야이다.

전통적인 프로그래밍에서는 문제를 해결하기 위해 명시적으로 알고리즘을 작성해야 한다

반면, 머신러닝에서는 컴퓨터가 대량의 데이터와 알고리즘을 사용하여 특정 작업을 수행하는 방법을 '학습'한다.

*** 다수의 데이터들이 존재하지만 연산의 정체를 모를때 사용한다. 연산(알고리즘)은 블랙박스로 이 블랙박스를 찾는 과정이 머신러닝인것이다.

 

선형회귀

- 데이터를 반영하는 가장 적절한 선을 긋는 작업

- 변수들간의 관계를 나타내는 통계적인 방법으로 y=ax+b의 형태를 갖는다

- 최소제곱법 :선형회귀는 데이터 포인트들 사이의 최적의 직선을 찾는 것을 목표로 한다. 이 직선은 데이터 포인트들과의 거리가 최소가 되도록 한다.

 

빨간색 점들은 데이터 포인트를 나타내며, 파란색 선은 선형회귀로 얻은 회귀선을 나타낸다.

회귀선은 데이터 포인트들 사이의 최적의 직선을 나타내며, 이 선은 각 데이터 포인트와의 거리를 최소화한다.

 

- (가중치) 및 b (편향) 값에 따른 여러 선형회귀 그래프를 그릴 수 있다.

 

빨간색 점들은 주어진 데이터 포인트를 나타낸다. 그리고 세 가지 다른 가중치 w값 (1, 2, 3) 및 세 가지 다른 편향 b 값 (0, 5, -5)에 따라 그려진 여러 선들이 있다. 이 그래프를 통해 볼 수 있듯이, 가중치 w는 직선의 기울기를 결정하고, 편향 b는 y절편을 결정한다.

이 데이터에 대해 가장 적합한 그래프는 w=2 (즉, 데이터의 실제 기울기)와 가장 가까운 기울기를 가진 그래프이다.

다른 w 및 b 값들은 데이터 포인트들과의 거리가 더 크므로 이 데이터에 대한 최적의 선형회귀선이 아니게된다.

 

- 우리의 목표는 오차를 최소로 만드는 w와 b를 찾아낸것이다

 

  • 오차의 크기를 측정하는 가장 기본적인 방법은 모든 오차를 더함으로써 오차의 총합으로 오류를 확인하는것이다

실제값 - 예측값 - 오차값

  • x는 독립 변수
  • Actual Value는 실제 값
  • Predicted Value는 예측된 값
  • Error는 예측값과 실제 값 사이의 차이, 즉 오차

 

- 단순히 더하는것의 어려움 

  1. 상쇄 문제: 양의 오차와 음의 오차가 서로 상쇄될 수 있다. 이로 인해 오차의 총합이 0에 가까워질 수 있음에도 불구하고 실제로는 큰 오차가 여러 개 있을 수 있다.
  2. 정확한 오차 측정의 어려움: 오차의 총합만으로는 모델의 성능을 정확하게 평가하기 어렵다. 예를 들어, 오차의 총합이 0이라고 해도 모든 예측이 정확한 것은 아니다.
  • 제곱오차 : 모든 오차를 제곱하여 더하는 방법

 

  • 평균 제곱오차 

 - 모든 오차를 제곱하여 더하는 방법을 사용한다.

-  데이터의 개수가 n이라고 할때, 데이터의 개수인 n으로 나누면 모든 데이터의 오차 평균을 얻는다. 이를 '평균제곱오차'라고한다.

MSE = 1 n i=1n ( yi - ŷi )2

 

- 평균제곱오차의 목표는 결과값의 오차가 최소가 되는 w와 b를 찾아내는 것이다.

minimize cost(W,b)

 

 

  • 비용함수

- 머신러닝에서는 실제값과 예측값에 대한 오차식을 Cost function이라고 한다

- 목적함수 = 비용함수(Cost Function) = 손실함수(Loss Function) 모두 같은 말이다

  1. 오차의 측정: 비용 함수는 모델의 예측값과 실제값 사이의 차이를 측정한다. 이 차이는 오차라고 부르며, 이 오차를 기반으로 모델의 성능을 평가한다
  2. 최적화의 목표: 머신러닝에서는 비용 함수의 값을 최소화하는 모델 파라미터를 찾는 것이 주요 목표이다. 이를 위해 다양한 최적화 알고리즘 (예: 경사 하강법)을 사용하여 모델을 훈련시킨다.
  3. 다양한 형태: 비용 함수는 문제의 유형에 따라 다양한 형태를 가질 수 있다. 예를 들어, 회귀 문제에서는 평균 제곱 오차 (MSE)를, 분류 문제에서는 교차 엔트로피 손실을 주로 사용힌다.

- 인공 신경망은 기본적인 Cost function을 최소화하는 w와 b를 찾는 것이 목적이다.

- 이때 사용되는 알고리즘을 옵티마이저(optimizer)라고한다 ex) 경사하강법

 

 

- w,b가 지나치게 높거나, 낮을때 오차가 증가하게된다

 

 

  • 경사하강법

  - 비용함수나 손실함수의 최솟값을 찾는데 사용되는 함수  

  - 한점에서의 순간 변화율 또는 접선에서의 기울기 개념을 사용한다

  - 경사 하강법은 최적의 값을 향해서 매개변수를 반복하는 업데이트를 한다

  - 비용함수를 W에 대해 미분하면 접선의 기울기를 얻는다.

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형