선형 회귀란 무엇입니까? 기계 학습에서 사용되는 방법
게시 됨: 2021-07-16선형 회귀는 통계의 일부가 아닙니까?
의심할 여지 없이 그렇습니다.
사실 대부분의 기계 학습 (ML) 알고리즘은 다양한 분야, 주로 통계에서 차용됩니다. 모델이 더 잘 예측하는 데 도움이 되는 모든 것이 결국 ML의 일부가 될 것입니다. 따라서 선형 회귀 는 통계적이며 기계 학습 알고리즘이라고 말하는 것이 안전합니다.
선형 회귀는 데이터 과학 및 기계 학습에서 사용되는 대중적이고 복잡하지 않은 알고리즘입니다. 그것은 지도 학습 알고리즘 및 변수 간의 수학적 관계를 연구하는 데 사용되는 가장 단순한 형태의 회귀입니다.
선형 회귀란 무엇입니까?
선형 회귀는 변수 간의 관계를 보여주려는 통계적 방법입니다. 다른 데이터 포인트를 보고 추세선을 그립니다. 선형 회귀의 간단한 예는 기계 수리 비용이 시간이 지남에 따라 증가한다는 것을 발견하는 것입니다.
보다 정확하게는 선형 회귀를 사용하여 종속 변수와 일련의 다른 독립 변수 간의 연관성의 특성과 강도를 결정합니다. 회사 주가 예측과 같은 예측을 수행하는 모델을 만드는 데 도움이 됩니다.
선형 모델을 관찰된 데이터 세트에 맞추기 전에 변수 사이에 관계가 있는지 여부를 평가해야 합니다. 물론 이것이 한 변수가 다른 변수를 유발한다는 의미는 아니지만, 그들 사이에 가시적인 상관관계가 있어야 합니다.
예를 들어, 높은 대학 성적이 반드시 높은 급여 패키지를 의미하지는 않습니다. 그러나 두 변수 사이에 연관성이 있을 수 있습니다.
알고 계셨나요? "선형"이라는 용어는 선과 유사하거나 선에 속하는 것을 의미합니다.
산점도를 만드는 것은 설명 (독립) 변수와 종속 변수 간의 관계 강도를 결정하는 데 이상적입니다. 산점도에 증가 또는 감소 추세가 표시되지 않으면 관찰된 값에 선형 회귀 모델을 적용하는 것이 도움이 되지 않을 수 있습니다.
상관 계수 는 두 변수 간의 관계가 얼마나 강한지를 계산하는 데 사용됩니다. 일반적으로 r 로 표시되며 -1과 1 사이의 값을 갖습니다. 양의 상관 계수 값은 변수 간의 양의 관계를 나타냅니다. 마찬가지로 음수 값은 변수 간의 음의 관계를 나타냅니다.
팁: 상관 계수가 0.50 이상이거나 양수인 경우에만 회귀 분석을 수행하십시오.
공부 시간과 학점의 관계를 살펴본다면 아마도 긍정적인 관계를 보았을 것입니다. 반면에 소셜 미디어에서의 시간과 성적의 관계를 살펴보면 부정적인 관계를 볼 가능성이 큽니다.
여기서 '성적'은 종속변수이고, 공부나 소셜미디어 사용 시간은 독립변수입니다. 공부하는 시간에 따라 성적이 달라지기 때문입니다.
산점도와 상관 계수를 통해 변수 사이에 적당한 상관 관계를 (적어도) 설정할 수 있다면 해당 변수는 선형 관계의 어떤 형태를 갖습니다.
간단히 말해서, 선형 회귀는 관찰된 데이터에 선형 방정식을 적용하여 두 변수 간의 관계를 모델링하려고 합니다. 선형 회귀선은 직선 방정식을 사용하여 나타낼 수 있습니다.
y = mx + b
이 간단한 선형 회귀 방정식에서:
- y 는 추정된 종속 변수(또는 출력)입니다.
- m 은 회귀 계수(또는 기울기)입니다.
- x 는 독립 변수(또는 입력)입니다.
- b 는 상수(또는 y절편)
변수 간의 관계를 찾으면 값이나 결과를 예측할 수 있습니다. 즉, 선형 회귀를 사용하면 기존 데이터를 기반으로 새 값을 예측할 수 있습니다.
예를 들면 받은 강우량을 기반으로 작물 수확량을 예측하는 것입니다. 이 경우 강우량은 독립변수이고 작물 수확량(예측값)은 종속변수입니다.
독립 변수는 예측 변수 라고도 합니다. 마찬가지로 종속 변수는 응답 변수 라고도 합니다.
선형 회귀의 주요 용어
선형 회귀 분석을 이해한다는 것은 새로운 용어에 익숙해지는 것을 의미하기도 합니다. 통계 또는 기계 학습의 세계에 막 발을 들여놓은 경우 이러한 용어에 대한 공정한 이해가 도움이 될 것입니다.
- 변수: 셀 수 있거나 측정할 수 있는 숫자, 수량 또는 특성입니다. 데이터 항목이라고도 합니다. 소득, 나이, 속도 및 성별이 그 예입니다.
- 계수: 숫자(보통 정수)에 옆에 있는 변수를 곱한 것입니다. 예를 들어, 7x에서 숫자 7은 계수입니다.
- 이상값: 나머지 데이터 요소와 크게 다른 데이터 요소입니다.
- 공분산: 두 변수 간의 선형 관계의 방향. 즉, 두 변수가 선형적으로 관련되어 있는 정도를 계산합니다.
- 다변량(Multivariate): 두 개 이상의 종속변수를 포함하여 단일 결과를 초래하는 것을 의미합니다.
- 잔차: 종속 변수의 관측값과 예측값 간의 차이입니다.
- 변동성: 일관성 부족 또는 분포가 압축되거나 늘어나는 정도.
- 선형성(Linearity): 비례성과 밀접한 관련이 있고 그래픽으로 직선으로 나타낼 수 있는 수학적 관계의 속성입니다.
- 선형 함수: 그래프가 직선인 함수입니다.
- 공선성: 회귀 모델에서 선형 관계를 나타내도록 독립 변수 간의 상관 관계.
- 표준 편차(SD): 평균에 대한 데이터 세트의 분산을 측정한 것입니다. 즉, 숫자가 얼마나 퍼져 있는지 측정합니다.
- 표준 오차(SE): 통계적 표본 모집단의 근사 SD입니다. 변동성을 측정하는 데 사용됩니다.
선형 회귀 유형
선형 회귀에는 단순 선형 회귀 와 다중 선형 회귀 의 두 가지 유형이 있습니다.
단순 선형 회귀 방법은 단일 독립 변수와 해당 종속 변수 간의 관계를 찾으려고 합니다. 독립 변수는 입력이고 해당 종속 변수는 출력입니다.
팁: Python, R, MATLAB 및 Excel을 비롯한 다양한 프로그래밍 언어 및 환경에서 선형 회귀를 구현할 수 있습니다.
다중 선형 회귀 방법은 둘 이상의 독립 변수와 해당 종속 변수 간의 관계를 찾으려고 합니다. 다중 선형 회귀라는 특수한 경우도 있습니다. 다항식 회귀.
간단히 말해서 단순 선형 회귀 모델에는 단일 독립 변수만 있는 반면 다중 선형 회귀 모델에는 두 개 이상의 독립 변수가 있습니다. 그리고 예, 매우 복잡한 데이터 분석에 사용되는 다른 비선형 회귀 방법이 있습니다.
로지스틱 회귀와 선형 회귀
선형 회귀가 주어진 독립 변수 세트에 대한 연속 종속 변수를 예측하는 반면, 로지스틱 회귀 는 범주형 종속 변수를 예측합니다.
둘 다 지도 학습 방법입니다. 그러나 선형 회귀는 회귀 문제를 해결하는 데 사용되지만 로지스틱 회귀는 분류 문제를 해결하는 데 사용됩니다.
물론 로지스틱 회귀는 회귀 문제를 해결할 수 있지만 주로 분류 문제에 사용됩니다. 출력은 0 또는 1만 가능합니다. 두 클래스 간의 확률을 결정하거나 이벤트의 가능성을 계산해야 하는 상황에서 유용합니다. 예를 들어, 로지스틱 회귀를 사용하여 오늘 비가 올지 여부를 예측할 수 있습니다.
선형 회귀의 가정
선형 회귀를 사용하여 변수 간의 관계를 모델링하는 동안 몇 가지 가정을 합니다. 가정은 모델을 사용하여 예측하기 전에 충족되어야 하는 필요 조건입니다.

일반적으로 선형 회귀 모델과 관련된 네 가지 가정이 있습니다.
- 선형 관계: 독립 변수 x 와 종속 변수 y 사이에는 선형 관계가 있습니다.
- 독립성: 잔차는 독립적입니다. 시계열 데이터의 연속 잔차 사이에는 상관 관계가 없습니다.
- 등분산성: 잔차는 모든 수준에서 동일한 분산을 갖습니다.
- 정규성: 잔차가 정규 분포를 따릅니다.
선형 회귀 모델을 해결하는 방법
기계 학습 또는 통계 용어에서 선형 회귀 모델을 학습한다는 것은 사용 가능한 데이터를 사용하여 계수 값을 추측하는 것을 의미합니다. 선형 회귀 모델을 보다 효율적으로 만들기 위해 여러 방법을 적용할 수 있습니다.
팁: 기계 학습 소프트웨어를 사용하여 단조로운 작업을 제거하고 정확한 예측을 수행하십시오.
선형 회귀 모델의 차이점과 절충점을 이해하는 데 사용되는 다양한 기술을 살펴보겠습니다.
단순 선형 회귀
앞서 언급했듯이 단순 선형 회귀 에는 단일 입력 또는 하나의 독립 변수와 하나의 종속 변수가 있습니다. 두 변수가 연속적이라는 점을 감안할 때 두 변수 사이의 최상의 관계를 찾는 데 사용됩니다. 예를 들어 섭취한 칼로리를 기준으로 체중 증가량을 예측하는 데 사용할 수 있습니다.
보통 최소제곱
일반 최소 자승 회귀 는 하나 이상의 독립 변수 또는 입력이 있을 때 계수 값을 추정하는 또 다른 방법입니다. 선형 회귀를 풀기 위한 가장 일반적인 접근 방식 중 하나이며 정규 방정식 이라고도 합니다.
이 절차는 잔차 제곱의 합을 최소화하려고 합니다. 데이터를 행렬로 취급하고 선형 대수 연산을 사용하여 각 계수에 대한 최적의 값을 결정합니다. 물론 이 방법은 모든 데이터에 접근할 수 있는 경우에만 적용할 수 있으며 데이터에 맞는 메모리도 충분해야 합니다.
경사하강법
기울기 하강 법은 선형 회귀 문제를 해결하는 가장 쉽고 일반적으로 사용되는 방법 중 하나입니다. 하나 이상의 입력이 있고 모델의 오류를 반복적으로 최소화하여 계수 값을 최적화해야 하는 경우에 유용합니다.
경사하강법은 모든 계수에 대한 임의의 값으로 시작합니다. 모든 입력 및 출력 값 쌍에 대해 제곱 오차의 합이 계산됩니다. 스케일 팩터를 학습률로 사용하며 각 계수는 오류를 최소화하는 방향으로 업데이트됩니다.
더 이상의 개선이 불가능하거나 최소 제곱합이 달성될 때까지 프로세스가 반복됩니다. 경사하강법은 메모리에 맞지 않는 많은 수의 행과 열이 포함된 대규모 데이터 세트가 있는 경우에 유용합니다.
정규화
정규화 는 모델의 오차 제곱합을 최소화함과 동시에 모델의 복잡성을 줄이는 방법입니다. 일반 최소 제곱법을 사용하여 오차 제곱합을 줄입니다.
올가미 회귀 와 능선 회귀 는 선형 회귀에서 정규화의 두 가지 유명한 예입니다. 이러한 방법은 독립 변수에 공선성이 있을 때 유용합니다.
아담의 방법
적응 모멘트 추정 ( ADAM )은 다음에서 사용되는 최적화 알고리즘입니다. 딥 러닝. 잡음이 있는 데이터에서 잘 수행되는 반복 알고리즘입니다. 구현이 간단하고 계산 효율적이며 최소한의 메모리 요구 사항이 있습니다.
ADAM은 두 가지 경사하강법 알고리즘인 RMSprop(Root Mean Square Propagation) 과 적응 경사하강 법을 결합합니다. ADAM은 전체 데이터 세트를 사용하여 기울기를 계산하는 대신 무작위로 선택된 하위 집합을 사용하여 확률적 근사치를 만듭니다.
ADAM은 많은 수의 매개변수 또는 데이터와 관련된 문제에 적합합니다. 또한 이 최적화 방법에서 하이퍼파라미터는 일반적으로 최소한의 조정이 필요하고 직관적으로 해석됩니다.
특이값 분해
특이값 분해 ( SVD )는 선형 회귀에서 일반적으로 사용되는 차원 축소 기술입니다. 학습 알고리즘의 차원 수를 줄이는 전처리 단계입니다.
SVD는 행렬을 3개의 다른 행렬의 곱으로 분해하는 것을 포함합니다. 고차원 데이터에 적합하고 작은 데이터 세트에 효율적이고 안정적입니다. 안정성으로 인해 선형 회귀에 대한 선형 방정식을 푸는 데 가장 선호되는 접근 방식 중 하나입니다. 그러나 이상값에 취약하고 거대한 데이터 세트로 인해 불안정해질 수 있습니다.
선형 회귀를 위한 데이터 준비
실제 데이터는 대부분의 경우 불완전합니다.
다른 기계 학습 모델과 마찬가지로 데이터 준비 및 전처리는 선형 회귀에서 중요한 프로세스입니다. 누락된 값, 오류, 이상값, 불일치 및 속성 값 부족이 있습니다.
다음은 불완전한 데이터를 설명하고 보다 안정적인 예측 모델을 만드는 몇 가지 방법입니다.
- 선형 회귀는 예측 변수와 응답 변수가 시끄럽지 않다고 생각합니다. 이 때문에 여러 데이터 지우기 작업으로 노이즈를 제거하는 것이 중요합니다. 가능하면 출력 변수에서 이상값을 제거해야 합니다.
- 입력 및 출력 변수에 가우스 분포 가 있는 경우 선형 회귀가 더 나은 예측을 제공합니다.
- 정규화 또는 표준화를 사용하여 입력 변수의 규모를 재조정 하는 경우 일반적으로 선형 회귀가 더 나은 예측을 제공합니다.
- 속성이 많은 경우 선형 관계 를 갖도록 데이터를 변환해야 합니다.
- 입력 변수의 상관 관계가 높으면 선형 회귀가 데이터에 과적합됩니다. 이러한 경우 공선성을 제거하십시오 .
선형 회귀의 장점과 단점
선형 회귀는 이해하기 가장 간단하고 구현하기 가장 간단한 알고리즘 중 하나입니다. 변수 간의 관계를 분석하는 훌륭한 도구입니다.
다음은 선형 회귀의 몇 가지 주목할만한 이점 입니다.
- 단순하기 때문에 가장 많이 사용되는 알고리즘입니다.
- 과적합에 취약하지만 차원 축소 기술을 사용하면 피할 수 있습니다.
- 해석력이 좋습니다.
- 선형으로 분리 가능한 데이터 세트에서 잘 수행됩니다.
- 공간 복잡성이 낮습니다. 따라서 지연 시간이 긴 알고리즘입니다.
그러나 선형 회귀는 일반적으로 대부분의 실제 응용 프로그램에 권장되지 않습니다. 변수 간의 선형 관계를 가정하여 실제 문제를 지나치게 단순화하기 때문입니다.
다음은 선형 회귀의 몇 가지 단점 입니다.
- 이상치는 회귀에 부정적인 영향을 미칠 수 있습니다.
- 선형 모델에 적합하려면 변수 간에 선형 관계가 있어야 하므로 변수 간에 직선 관계가 있다고 가정합니다.
- 데이터가 정규 분포를 따른다고 인식
- 또한 독립 변수와 종속 변수의 평균 사이의 관계를 살펴봅니다.
- 선형 회귀는 변수 간의 관계에 대한 완전한 설명이 아닙니다.
- 변수 간에 높은 상관 관계가 있으면 선형 모델의 성능에 상당한 영향을 미칠 수 있습니다.
먼저 관찰한 다음 예측
선형 회귀에서는 변수에 선형 관계가 있는지 여부를 평가하는 것이 중요합니다. 어떤 사람들은 추세를 보지 않고 예측하려고 하지만 변수 간에 중간 정도의 강한 상관 관계가 있는지 확인하는 것이 가장 좋습니다.
앞서 언급했듯이 산점도와 상관계수를 살펴보는 것은 훌륭한 방법입니다. 그리고 예, 상관관계가 높더라도 산점도를 보는 것이 좋습니다. 즉, 데이터가 시각적으로 선형이면 선형 회귀 분석이 가능합니다.
선형 회귀를 사용하면 종속 변수의 값을 예측할 수 있지만 새 데이터 요소를 분류하거나 이웃을 보고 값을 예측하는 알고리즘이 있습니다. 그것은 k-최근접 이웃 알고리즘이라고 하며 게으른 학습기입니다.