이 가이드에서는 선형 회귀와 작동 방식을 설명하고 프로세스를 단계별로 안내해 드립니다. 또한 모델의 정확도를 향상시키는 핵심 기술인 특성 확장 및 경사하강법에 대해서도 다룰 것입니다. 비즈니스 동향을 분석하든, 데이터 과학을 연구하든 이 가이드는 훌륭한 출발점이 됩니다.
목차
- 소개
- 지도 학습 이해
- 선형회귀란 무엇인가요?
- 단순 선형 회귀
- 다중 선형 회귀
- 비용 함수
- 기능 확장
- 경사하강법
- 단순 선형 회귀를 위한 경사하강법
- 다중 선형 회귀를 위한 경사하강법
소개
선형 회귀는 다양한 요인 간의 관계를 이해하고 예측하는 데 사용되는 간단하면서도 강력한 도구입니다. 예를 들어, 공부 시간이 시험 점수에 어떤 영향을 미치는지, 집 크기와 위치에 따라 집이 얼마나 팔릴 수 있는지, 광고를 더 많이 하면 판매량이 어떻게 증가하는지 알고 싶을 수 있습니다. 선형 회귀를 사용하면 연구 시간, 광고 지출 등의 데이터 포인트를 조사하고 테스트 점수나 매출 수치와 같은 결과를 가장 잘 예측하는 직선을 그릴 수 있습니다. 이 기술은 데이터를 기반으로 현명한 결정을 내리는 데 도움이 되므로 여러 분야에서 유용합니다.
지도 학습 이해
선형 회귀에 대해 알아보기 전에 라벨이 지정된 데이터를 사용하여 모델을 학습시키는 머신러닝 접근 방식인 지도 학습을 이해하는 것이 중요합니다. 지도 학습에서는 특징(입력 변수)과 해당 라벨(올바른 출력)을 포함하는 학습 예제를 모델에 제공합니다.
지도 학습 작업에는 두 가지 주요 유형이 있습니다.
-
회귀: 무한한 범위의 가능한 출력에서 연속 값을 예측합니다. 예를 들어, 다양한 특성을 기반으로 주택 가격을 예측합니다.
-
분류: 제한된 가능한 범주 집합에서 클래스나 범주를 예측한다는 점에서 회귀와 다릅니다. 예를 들어 이메일이 스팸인지 여부를 판단합니다.
선형 회귀란 무엇입니까?
선형 회귀는 두 가지 유형의 변수, 즉 독립 변수(결과에 영향을 미친다고 생각하는 요소)와 종속 변수 사이의 관계를 이해하기 위해 통계 및 기계 학습에 사용되는 지도 학습 방법입니다. (우리가 예측하고 싶은 결과).
목표는 1차 방정식을 사용하여 이 관계를 나타내는 가장 적합한 선을 찾는 것입니다. 선형 회귀는 레이블이 지정된 데이터(알려진 결과가 있는 데이터)를 분석함으로써 독립 변수의 변화가 종속 변수에 어떻게 영향을 미치는지 이해하는 데 도움이 됩니다.
술어
단순 선형 회귀
단순 선형 회귀 분석은 하나의 종속 변수와 하나의 독립 변수 간의 관계를 조사합니다. 이는 다음 방정식으로 표현될 수 있는 데이터 포인트에 직선을 맞춰서 관계를 모델링하는 것을 목표로 합니다.
이 방정식에서:
-
y_hat(또는 f_wb(x)) :예측되는 결과를 나타내는 종속 변수입니다. 독립변수의 입력을 바탕으로 추정하고자 하는 값입니다.
-
b : 회귀선의 절편입니다. 독립변수 x가 0일 때 종속변수 y의 기대값을 의미합니다. 절편을 사용하면 회귀선이 데이터에 더 잘 맞도록 수직으로 조정할 수 있습니다.
-
w : 독립변수 x의 계수입니다. 이 계수는 x가 1단위 변경될 때 종속 변수 y_hat이 얼마나 변경되는지를 나타냅니다. 양수 w는 x가 증가함에 따라 y_hat도 증가함을 나타내고, 음수 w는 역의 관계를 나타냅니다.
-
x : 모델에서 예측 변수 역할을 하는 독립 변수입니다. 이 변수는 y_hat으로 표현되는 결과를 추정하는 데 사용되는 입력입니다.
다중 선형 회귀
다중 선형 회귀는 하나의 종속 변수와 두 개 이상의 독립 변수 간의 관계를 조사하여 단순 선형 회귀의 개념을 확장합니다. 이 접근 방식을 통해 우리는 보다 복잡한 관계를 모델링하고 여러 요인이 결과에 어떻게 영향을 미치는지 이해할 수 있습니다.
장소 :
비용 함수
손실 함수라고도 하는 비용 함수는 예상(참) 값과 모델에서 생성된 예측 값 간의 차이를 수량화합니다. 주어진 데이터 세트에서 모델이 얼마나 잘 수행되는지를 측정합니다. 단순 선형 회귀 분석에서 가장 일반적으로 사용되는 비용 함수는 평균 제곱 오차입니다.
장소 :
-
m은 훈련 예시의 개수
-
y_hat은 예측값입니다
-
y는 실제 또는 예상 값입니다
기능 스케일링
특성 스케일링은 데이터 전처리의 중요한 단계입니다. 특히 선형 회귀, 로지스틱 회귀, 서포트 벡터 머신 등 거리 계산이나 경사하강법 최적화에 의존하는 알고리즘으로 작업할 때 더욱 그렇습니다. 특성 스케일링의 목적은 데이터의 독립 변수 또는 특성의 범위를 표준화하여 모델의 학습 프로세스에 동일하게 기여하도록 하는 것입니다.
특성 확장을 위한 일반적인 기술
평균 정규화
평균 정규화에는 평균이 0이 되도록 특성 값을 조정하는 작업이 포함됩니다.
특징
- 데이터 범위는 대략 [−1,1] 또는 이에 가깝습니다.
- 평균을 왜곡하고 정규화에 영향을 줄 수 있는 이상값에 민감합니다.
사용 사례
-
선형 회귀 : 훈련 중 수렴성을 향상시키는 데 도움이 됩니다.
-
기울기 기반 알고리즘: 신경망 및 기타 기울기 기반 알고리즘은 데이터가 0을 중심으로 집중될 때 더 빠르게 수렴되는 경우가 많습니다.
-
중요한 이상치가 없는 데이터세트 : 범위가 비슷하고 극단적인 이상치가 없는 데이터세트에 특히 효과적입니다.
최소-최대 확장
최소-최대 스케일링은 특성을 고정 범위(일반적으로 [0,1] 또는 [−1,1])로 다시 스케일링하는 데 사용되는 기술입니다.
특징
-
고정 범위 : 데이터를 특정 범위(일반적으로 [0,1])로 조정합니다.
-
이상치에 대한 민감도: 이상치에 의해 크게 영향을 받을 수 있으며, 이로 인해 다른 값의 스케일링이 왜곡될 수 있습니다.
사용 사례
-
이미지 처리: CNN(Convolutional Neural Networks)과 같은 딥 러닝 모델에 일반적으로 사용되며, 여기서 픽셀 값은 [0,1]로 조정됩니다.
-
거리 기반 알고리즘: k-최근접 이웃(KNN), k-평균 클러스터링, 지원 벡터 머신(SVM) 등 거리 계산에 의존하는 알고리즘에 필수적이며 모든 특성의 균등한 기여를 보장합니다. .
-
트리 기반 모델: 다른 알고리즘에 비해 트리 기반 모델(예: 의사 결정 트리 및 랜덤 포레스트)은 덜 중요하지만 기능의 규모가 크게 다른 시나리오에서는 여전히 도움이 될 수 있습니다.
Z-점수 표준화
표준 척도라고도 알려진 Z-점수 표준화는 특성을 평균이 0이고 표준편차가 1이 되도록 변환합니다. 이 기술은 정규 분포 데이터를 가정하는 알고리즘에 특히 유용합니다.
장소 :
특징
-
평균 중심 : 데이터를 0에 중심으로 둡니다.
-
Unit Variance : 표준편차 1을 보장합니다.
-
이상값에 대한 견고성: Min-Max 스케일링에 비해 더 강력하지만 여전히 극단적인 이상값에 민감합니다.
사용 사례
-
신경망 : 훈련 중 성능을 향상하고 수렴 속도를 높입니다.
-
주성분 분석(PCA) 및 선형 판별 분석(LDA): 모든 특성이 동일하게 기여하도록 보장하는 이러한 기술에 필요합니다.
-
Gaussian Naive Bayes: 입력 특성을 정규화하여 분류 성능을 향상합니다.
강력한 확장
강력한 스케일링은 중앙값과 사분위간 범위(IQR)를 기반으로 특성을 스케일링하는 데 사용되는 기술입니다. 이 방법은 확장된 값에 대한 이러한 이상값의 영향을 줄이기 때문에 중요한 이상값이 있는 데이터세트에 특히 유용합니다.
장소 :
-
IQR(x)은 특성의 사분위수 범위로, 훈련 세트의 75번째 백분위수와 25번째 백분위수의 차이로 정의됩니다
특징
-
중앙값 중심: 평균 대신 중앙값을 중심으로 데이터를 중앙에 배치하여 이상치에 대한 탄력성을 높입니다.
-
사분위수 범위(IQR) : 훈련 데이터의 75번째 백분위수(Q3)와 25번째 백분위수(Q1)의 차이인 IQR을 사용하여 데이터의 크기를 조정합니다. 이는 배포의 견고성을 유지하는 데 도움이 됩니다.
사용 사례
-
이상치가 있는 데이터 : 이상치가 존재하는 시나리오에 효과적입니다.
-
금융: 극단값을 포함할 수 있는 금융 데이터세트에 유용합니다.
-
환경 데이터 : 측정값이 크게 달라질 수 있는 환경 데이터 세트에 적합합니다.
경사하강법
경사하강법은 선형 회귀를 포함한 기계 학습 모델을 훈련하는 데 사용되는 강력한 최적화 알고리즘입니다. 주요 목표는 기대값과 예측값 간의 오류를 최소화하는 것입니다.
처음에는 비용 함수의 기울기가 시작(임의) 지점에서 가파르게 나타날 수 있습니다. 알고리즘이 매개변수를 반복하고 업데이트함에 따라 기울기는 점진적으로 감소하여 수렴점 또는 로컬 최소값이라고 알려진 비용 함수의 가장 낮은 지점으로 모델을 안내합니다. 이 수렴점에서 비용 함수는 최소값에 도달하며 이는 모델 예측이 실제 값에 최대한 가깝다는 것을 나타냅니다. 매개변수가 이 지점에 도달하면 추가 업데이트를 통해 예측에 대한 변경이 최소화되며, 이는 최적화 프로세스가 데이터에 가장 적합한 매개변수를 효과적으로 식별했음을 보여줍니다.
이 프로세스에는 다음과 같은 주요 단계가 포함됩니다.
-
초기화: 모델 매개변수(예: 절편 b 및 계수 w)에 대한 임의의 값으로 시작합니다.
-
기울기 계산 : 모델 매개변수에 대한 비용 함수의 기울기를 계산합니다. 이 기울기는 비용 함수의 변화 방향과 속도를 나타냅니다.
-
매개변수 업데이트 : 모델 매개변수를 기울기 반대 방향으로 조정하여 오류를 줄입니다. 업데이트 규칙은 다음과 같습니다.
-
반복 : 비용 함수의 변화가 최소화되거나 지정된 반복 횟수에 도달할 때까지 프로세스를 반복합니다.
TIPS : 반복(x축) 대 비용(y축)을 플롯합니다. 플롯이 완만하게 하향 추세를 보인다면 구현이 정확할 가능성이 높습니다.
경사하강법의 종류
일괄 경사하강법
-
장점 : 전체 데이터 세트를 사용하므로 안정적이고 정확한 기울기 추정을 제공합니다. 볼록 함수의 전역 최소값으로 직접 수렴할 수 있습니다.
-
단점 : 매 반복마다 모든 샘플을 처리하므로 대규모 데이터 세트의 경우 속도가 매우 느릴 수 있습니다.
-
사용 사례 : 표 형식 데이터에 대한 선형 회귀 또는 로지스틱 회귀와 같이 데이터세트가 메모리에 들어갈 만큼 작은 시나리오에서 자주 사용됩니다.
확률적 경사하강법(SGD)
-
장점 : 한 번에 하나의 샘플을 처리하므로 업데이트 속도가 빨라지고 수렴도 빨라집니다. 고유한 노이즈로 인해 로컬 최소값을 탈출하는 데 도움이 될 수 있습니다.
-
단점 : 수렴이 더 불규칙하고 최소값을 중심으로 진동할 수 있어 안정성이 떨어집니다.
-
사용 사례 : 온라인 학습 시나리오, 실시간 예측 또는 이미지 데이터에 대한 신경망 훈련과 같이 전체적으로 처리할 수 없는 대규모 데이터 세트를 처리할 때 일반적으로 적용됩니다.
미니배치 경사하강법(MBD)
-
장점 : 배치 및 확률적 경사하강법의 장점을 결합합니다. 배치 경사 하강법보다 더 빠른 수렴이 가능하고 SGD보다 더 안정적인 수렴이 가능합니다. 또한 효율적인 계산을 위해 벡터화를 활용할 수도 있습니다.
-
단점 : 미니 배치의 크기를 선택하는 것이 어려울 수 있으며 수렴 속도와 안정성에 영향을 미칠 수 있습니다.
-
사용 사례 : 딥 러닝 애플리케이션, 특히 CNN(컨벌루션 신경망)의 이미지 분류 작업이나 자연어 처리 모델과 같은 대규모 데이터 세트를 교육할 때 자주 사용됩니다.
단순 선형 회귀를 위한 경사하강법
단순 선형 회귀를 위한 경사하강법 단계
-
초기화
모델 매개변수의 초기값부터 시작합니다. 이 값은 무작위로 선택하거나 0으로 설정할 수 있습니다.
-
그라디언트 계산
모델 매개변수에 대한 비용 함수의 기울기를 계산합니다. 이 기울기는 비용 함수의 변화 방향과 속도를 나타냅니다.
-
매개변수 업데이트
오류를 줄이려면 모델 매개변수를 기울기 반대 방향으로 조정하세요. 업데이트 규칙은 다음과 같습니다.
어디 :
-
J(w, b)는 위에서 사용된 평균 제곱 오차(MSE)인 비용 함수입니다.
-
알파는 학습률로, 0과 1 사이의 작은 양수입니다. 경사하강법이 수렴점 또는 국소 최솟값에 도달하기 위해 내리막길을 걷는 단계의 크기를 제어합니다.
TIPS : 작은 학습률(예: 0.01)로 시작하여 점차 늘려보세요. 비용이 순조롭게 감소하면 좋은 비율입니다. 변동하거나 발산하는 경우 학습률을 줄이세요. 학습률이 너무 크면 경사하강법이 오버슈팅되어 최소값에 도달하지 못하고 수렴하지 못할 수 있습니다.
-
반복 : 비용 함수의 변화가 최소화되거나 지정된 반복 횟수에 도달할 때까지 프로세스를 반복합니다.
단순 선형 회귀를 위한 경사하강법의 Python 구현
단순 선형 회귀를 위한 경사하강법의 Python 구현
다중 선형 회귀를 위한 경사하강법
다중 선형 회귀를 위한 경사하강법 단계
-
초기화
각 특성에 대한 절편 b 및 가중치 w를 포함하여 각 매개변수에 대한 임의의 값으로 시작합니다.
-
그라디언트 계산
모델 매개변수에 대한 비용 함수의 기울기를 계산합니다.
벡터 형식
장소 :
-
x_subscript_j_superscript_i는 i_번째 학습 예제의 j_번째 기능입니다
-
x_superscript_T는 벡터 x의 전치입니다
-
매개변수 업데이트
오류를 줄이려면 모델 매개변수를 기울기 반대 방향으로 조정하세요. 업데이트 규칙은 다음과 같습니다.
-
반복
비용 함수의 변화가 최소화되거나 지정된 반복 횟수에 도달할 때까지 프로세스를 반복합니다.
단순 선형 회귀를 위한 경사하강법의 Python 구현
단순 선형 회귀를 위한 경사하강법의 Python 구현
결론
축하합니다!! ? 이 게시물에서는 선형 회귀 및 다중 선형 회귀의 기본 사항을 살펴보고 경사하강법을 구현하는 과정을 살펴보고 모델 성능을 최적화하기 위한 특성 스케일링과 같은 주요 기술에 대해 논의했습니다. 모델 매개변수를 초기화하고, 기울기를 계산하고, 가중치를 반복적으로 업데이트하는 방법을 이해함으로써 이제 선형 회귀 알고리즘을 구현하고 실제 데이터 세트에서 성능을 향상시킬 수 있는 준비를 갖추게 되었습니다.
간단한 선형 회귀로 작업하든, 여러 기능의 복잡성을 탐색하든, 경사하강법을 마스터하고 핵심 원리를 파악하면 정확하고 효율적인 기계 학습 모델을 개발하는 능력이 크게 향상됩니다. 계속해서 실험하고, 기술을 연마하고, 학습 과정을 수용하세요. 이는 결과 자체만큼이나 중요합니다!
머신러닝 기술과 웹 개발 주제에 대한 더 많은 통찰력을 기대해 주세요. 계속해서 더 스마트한 모델을 탐색하고 구축하면서 즐겁게 배워보세요! ??
링크드인으로 연결해볼까요?
"이 기사는 원래 데이터 분석, 기계 학습 및 프로그래밍에 대한 더 많은 통찰력을 공유하는 Medium에 게시되었습니다. 자유롭게 확인하고 더 많은 콘텐츠를 보려면 저를 팔로우하세요!"
좋아요, 공유, 팔로우 해주세요.
문의사항은 댓글로 남겨주세요. 문의사항에 대해 신속하고 철저하게 답변해드리겠습니다. 귀하의 질문을 따뜻하게 환영하며 신속하고 포괄적인 답변을 받으실 수 있습니다. ❤️
위 내용은 선형 회귀 : 이론에서 실제까지의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!