Regression
[출처] Ms Learn (Fundamentals of machine learning))
회귀 모델은 기능과 알려진 레이블을 모두 포함하는 훈련 데이터를 기반으로 숫자 레이블 값을 예측하도록 훈련됩니다. 회귀 모델(또는 실제로 지도되는 기계 학습 모델)을 훈련하는 프로세스에는 적절한 알고리즘(일반적으로 일부 매개변수화된 설정 포함)을 사용하여 모델을 훈련하고, 모델의 예측 성능을 평가하고, 다음을 통해 모델을 개선하는 여러 반복이 포함됩니다. 허용 가능한 수준의 예측 정확도에 도달할 때까지 다양한 알고리즘과 매개변수를 사용하여 훈련 프로세스를 반복합니다.
다이어그램은 지도형 기계 학습 모델을 위한 회귀 훈련 프로세스의 네 가지 주요 요소를 보여줍니다.
훈련된 모델을 검증하는 데 사용할 데이터의 하위 집합을 보유하면서 훈련 데이터를 무작위로 분할하여 모델을 훈련할 데이터 세트를 만듭니다.
알고리즘을 사용하여 학습 데이터를 모델에 맞춥니다. 회귀모델의 경우 선형회귀 와 같은 회귀알고리즘을 사용합니다.
보유하고 있는 검증 데이터를 사용하여 기능에 대한 레이블을 예측함으로써 모델을 테스트합니다.
검증 데이터 세트의 알려진 실제 레이블을 모델이 예측한 레이블과 비교합니다. 그런 다음 예측된 레이블 값 과 실제 레이블 값 간의 차이를 집계하여 모델이 검증 데이터에 대해 얼마나 정확하게 예측했는지 나타내는 측정항목을 계산합니다.
각 반복 학습, 검증 및 평가 후에는 허용 가능한 평가 지표가 달성될 때까지 다양한 알고리즘과 매개변수를 사용하여 프로세스를 반복할 수 있습니다.
🍀아이스크림 판매 데이터로 회귀(Regression) 이해하기
번에는 단일 특징 값(x)을 기반으로 숫자 레이블(y)을 예측하는 모델을 훈련하는 간단한 예를 살펴보겠습니다. 대부분의 실제 시나리오에서는 여러 특징 값이 포함되며 이는 약간 복잡할 수 있지만 기본 원리는 동일합니다.
이번 예제는 마이크로 소프트 런에서 설명된 아이스크림 판매 예제이며, 가상 아이스크림 판매 시나리오를 사용합니다. 데이터 특징으로는 온도(주어진 날의 최고 온도 값을 가정)만 고려하고, 예측하고자 하는 레이블은 그날 판매된 아이스크림의 수만 나타냅니다. 과거의 일일 온도(x)와 아이스크림 판매량(y)을 포함한 기록 데이터를 사용하여 시작해 보겠습니다. 일반적으로 지도학습의 데이터와 라벨은 1:1 관계입니다.
이제부터 회귀 분석을 통해 단일 특성 값(x)을 기반으로 숫자 레이블(y)을 예측하는 모델을 훈련하는 간단한 예제를 살펴보겠습니다. 대부분의 실제 상황에서는 여러 특성 값이 사용되어 다소 복잡해지지만, 기본 원리는 같습니다. 데이터 특성(x 값)으로는 온도를 고려합니다. 우리가 모델을 훈련시켜 예측하고자 하는 레이블은 그 날 판매된 아이스크림의 수입니다. 시작으로, 일일 기온(x)과 아이스크림 판매량(y)을 기록한 몇 가지 과거 데이터를 사용하여 예측하는 방법입니다. 나아가 이 데이터를 활용해, 우리는 온도를 입력으로 하여 아이스크림 판매량을 예측하는 모델을 훈련시킬 수 있습니다. 회귀 모델은 이러한 데이터 간의 관계를 학습하여 주어진 온도에서 예상 판매량을 추정할 수 있게 됩니다. 이 과정은 실제 비즈니스 결정에서 중요한 역할을 할 수 있으며, 효율적인 재고 관리와 마케팅 전략 수립에 도움을 줍니다.
위 데이터는 온도에 따른 실제 아이스크림 판매량을 나타내는 데이터입니다. 위 훈련 데이터 셋을 그대로 사용해도 되지만, 유용한 데이터를 분할하여 '훈련 데이터 셋트'를 추출합니다. 그렇게 추출한 데이터 셋(실제 훈련에 사용)은 아래와 같습니다.
그리고 데이터 셋에서의 x 및 y값이 서로 어떻게 관련 있는지 보기 위해 값을 플롯해 봅니다.
그리고 데이터 셋에서의 x 및 y값이 서로 어떻게 관련 있는지 보기 위해 값을 플롯해 봅니다.
이제 훈련 데이터에 알고리즘을 적용하여, x에 대한 연산을 통해 y를 계산하는 함수를 작성할 준비가 되었습니다. 이러한 알고리즘 중 하나는 선형 회귀(Linear Regression)가 있습니다. 선형 회귀는 x와 y 값을 교차시키면서 생성된 직선이 표시된 점들 사이의 평균 거리를 최소화하는 방식으로 작동합니다. 이 과정을 통해 데이터 포인트와 선 사이의 거리(오차)를 최소화하는 최적의 직선을 찾아내게 됩니다.
선형 회귀의 기본 원리는 간단합니다. 가장 잘 맞는 직선을 찾기 위해 기울기(slope)와 절편(intercept)을 조정합니다. 이 직선은 다음과 같은 형태의 방정식으로 표현될 수 있습니다: y = mx + b 여기서 m은 직선의 기울기, b는 y축 절편을 나타냅니다. 기울기는 x 값의 변화에 따른 y 값의 변화율을, 절편은 x가 0일 때 y의 값입니다. 중학교 2학년즘 배웠던 1차 함수가 생각이 납니다.
이러한 방식으로, 선형 회귀 모델은 주어진 x 값(예: 최고 온도)에 대해 예상되는 y 값(예: 아이스크림 판매량)을 예측할 수 있습니다.
위 선형 회귀 모델은 아주 기본적이지만 선형회귀를 이해하기에는 가장 좋은 예시입니다. 이 모델은 주어진 x 값에 대해 y 값을 계산하는 간단한 선형 함수 f(x)=x−50을 사용합니다. 이 함수는 x 축에서 50을 지점에서 시작하여 x가 증가할 때마다 y도 동일하게 증가하는 직선의 형태를 갖습니다.
🍃예제 시나리오: 아이스크림 판매 예측
함수 설명: 이 함수에서 x는 최고 온도를 나타내고, y는 해당 온도에서 판매될 아이스크림의 수입니다. x=50일 때 y=0이 되는 점은 이 모델에서 50도 이하는 아이스크림이 전혀 판매되지 않는 기점으로 해석할 수 있습니다. 온도가 5도씩 상승할 때마다 판매되는 아이스크림의 수도 5개씩 증가합니다
예측: 예를 들어, 내일의 최고 기온이 77도로 예보되었다면, 이 모델을 사용하여 아이스크림 판매량을 예측할 수 있습니다. 계산은 다음과 같습니다: f(77)=77−50=27따라서 내일은 27개의 아이스크림이 판매될 것으로 예측할 수 있습니다.
이 모델은 실제 상황에서 다양한 요인들을 고려하지 않고 오직 온도만을 기준으로 하기 때문에 실제 예측에 있어서는 다소 한계가 있을 수 있습니다. 예를 들어, 주말과 평일, 특별 행사, 가격 변동 등 다른 요인들 또한 아이스크림 판매에 영향을 미칠 수 있습니다.
🍀회귀 모델의 평가
위에서 예측한 모델이 과연 신뢰적으로 예측했는지는 알지 못합니다. 따라서 '모델을 검증하고 모델이 얼마나 잘 예측했는지 평가해 보아야 합니다. 가장 좋은 방법은 '데이터 셋'을 만들 때 포함되지 않았던 '일부 데이터'를 활용하는 것입니다.
실제 매출과 f(x)=x-50의 선형 공식을 활용하여 실제 매출과 예상 매출을 비교하고 플롯(그래프 형태로 그리기)해 봅시다.
[사진 출처] Ms learn: Fundamentals of machine learning
예측 모델의 예상 매출과, 실제 매출간의 차이를 '선 그래프' 기준으로 확인해 볼 수 있습니다. 생각보다 오차가 많습니다. 이런 회귀 모델을 측정하는 평가 지표가 있습니다. 에측갑과 실제 간의 차이를 기반으로 회귀 모들을 평가해붑니다.
🍀회귀 모델의 평가 지표
🍃 평균 절대 오차(MAE)
이 예의 분산은 각 예측이 틀린 아이스크림 수를 나타냅니다. 예측이 실제 값 보다 높 거나 낮았 는지 여부는 중요하지 않습니다 (예를 들어 -3과 +3은 모두 분산 3을 나타냄). 이 측정항목은 각 예측에 대한 절대 오류 로 알려져 있으며 전체 검증 세트에 대해 평균 절대 오류 (MAE)로 요약될 수 있습니다. 아이스크림 예 에서 절대 오차(2, 3, 3, 1, 2, 3)의 평균(평균)은 2.33 입니다 (위 플롯 그림).
🍃 평균 제곱 오차(MSE)
평균 절대 오류 측정항목은 예측 라벨과 실제 라벨 간의 모든 불일치를 동일하게 고려합니다. 그러나 오류는 적지만 오류는 큰 모델보다 지속적으로 작은 오류를 범하는 모델을 갖는 것이 더 바람직할 수 있습니다. 개별 오류를 제곱 하고 제곱 값의 평균을 계산하여 더 큰 오류를 "증폭"하는 메트릭을 생성하는 한 가지 방법입니다 . 이 측정항목을 평균 제곱 오차 (MSE) 라고 합니다 .아이스크림 예 에서 절대값 제곱(4, 9, 9, 1, 4, 9)의 평균은 6 입니다 .
🍃 RMSE(제곱평균제곱근 오류)
평균 제곱 오류는 오류의 크기를 고려하는 데 도움이 되지만 오류 값을 제곱 하기 때문에 결과 지표는 더 이상 레이블로 측정된 양을 나타내지 않습니다. 즉, 모델의 MSE가 6이라고 말할 수 있지만 이는 잘못 예측된 아이스크림 수의 정확성을 측정하지 않습니다. 6은 검증 예측의 오류 수준을 나타내는 숫자 점수일 뿐입니다. 아이스크림 수의 오류를 측정하려면 MSE의 제곱근을 계산해야 합니다. 이는 당연히 Root Mean Squared Error 라는 측정항목을 생성합니다 . 이 경우 √6은 2.45 입니다.
🍃 결정계수(R 2 )
지금까지의 모든 측정 항목은 모델을 평가하기 위해 예측 값과 실제 값 간의 불일치를 비교합니다. 그러나 실제로는 모델이 고려하는 일일 아이스크림 판매량에는 자연적인 무작위 변동이 있습니다. 선형 회귀 모델에서 훈련 알고리즘은 함수와 알려진 레이블 값 사이의 평균 분산을 최소화하는 직선에 맞습니다. 결정 계수 ( 더 일반적으로 R 2 또는 R-Squared 라고 함 )는 검증 데이터의 일부 변칙적인 측면과 달리 모델로 설명할 수 있는 검증 결과의 분산 비율을 측정하는 측정항목입니다. 예를 들어, 지역 축제로 인해 아이스크림 판매량이 평소와는 다른 날.
R2 계산은 이전 측정항목보다 더 복잡합니다. 다음과 같이 예측된 레이블과 실제 레이블 간의 차이 제곱합을 실제 레이블 값과 실제 레이블 값의 평균 간의 차이 제곱합과 비교합니다.
R 2 = 1- ∑(y-ŷ) 2 ¼ ∑(y-ŷ) 2
여기서 중요한 점은 결과가 모델에 의해 설명되는 분산의 비율을 설명하는 0과 1 사이의 값이라는 것입니다. 간단히 말해서 이 값이 1에 가까울수록 모델이 검증 데이터에 잘 일치하는 모델입니다. 아이스크림 회귀모델의 경우 검증 데이터로부터 계산된 R 2 는 0.95 입니다.
🍀반복 훈련
회귀 모델을 평가하고 개선하는 과정은 일반적으로 반복적인 절차를 따릅니다. 데이터 과학자들은 이 과정을 통해 다양한 방법으로 모델을 지속적으로 훈련하고 평가하여, 실제 환경에 최적화된 모델을 개발합니다. 이 과정의 핵심 단계는 다음과 같습니다.
1.기능 선택 및 준비
모델에 포함할 특성을 신중하게 선택하고, 이 특성들이 모델과 더 잘 맞도록 적절한 계산을 적용합니다. 이는 모델의 적합성을 향상시키기 위해 필요한 과정입니다.
2.알고리즘 선택
선형 회귀는 기본적인 회귀 알고리즘으로 널리 사용되지만, 다양한 문제에 적합한 다른 회귀 알고리즘들(릿지 회귀, 라쏘회귀, 의사 결정 트리, 서포트 벡터 머신 등)도 많이 있습니다. 각 상황에 가장 적합한 알고리즘을 선택하는 것이 중요합니다.
3.알고리즘 매개변수 조정 (하이퍼매개변수)
알고리즘의 성능을 최적화하기 위해 하이퍼매개변수(예를 들어, 정규화 강도, 학습률, 최대 반복 횟수 등)를 조정합니다. 이 매개변수들은 알고리즘의 동작을 제어하며, 특정 데이터셋에 대한 알고리즘의 반응을 조정하는 데 사용됩니다.
4.모델 평가 및 선택
반복적인 훈련과 평가를 통해 얻은 결과 중에서, 특정 시나리오에서 가장 우수한 성능을 보이는 모델을 선택합니다. 이 선택 과정에서는 R² 값과 같은 평가 지표를 통해 모델의 예측 능력을 확인합니다. 이 과정을 여러번 반복하여 특정 시나리오에 가장 적합한 모델을 선택합니다.
위 과정은 데이터 과학 프로젝트의 성공을 좌우하는 중요한 요소입니다. 위와 같은 반복을 통해 선형 회귀 알고리즘을 바탕으로 예측하고, 평가하고 선택하게 되는 것입니다.