Skip to content

Linear Regression for Machine Learning #
Find similar titles

Structured data

Category
Statistics

기계학습을 위한 선형회귀분석 #

Image

선형회귀분석의 세부적인 면들을 보기에 앞서, 우리는 왜 이 알고리즘을 봐야하는지 궁금할 것이다.

기계학습, 더 자세히 말하자면 예측 모델링의 영역, 이는 설명가능성의 비용에서 주로 모델의 오차를 최소화하는 것 또는 가장 정확한 예측들을 가능하게 만드는 것에 주로 관련이 있다. 응용기계학습에서 우리는 통계학을 포함한 많은 다른 영역들로부터 알고리즘들을 빌려오고 재사용하며 가져올 것이다. 그리고 이 글 마지막에 그것들을 사용할 것이다.

그렇게 선형회귀는 통계학의 영역에서 발전되었고 입력과 출력 수치형 변수들 사이에 있는 관계들을 이해하기 위한 모델로서 연구되었지만 기계학습에 의해 차용되어 왔다. 이는 통계학의 알고리즘과 기계학습의 알고리즘 둘 다 해당된다.

다음으로 선형 회귀 모델에서 나타나기 위해 사용되는 몇 가지 공통 용어들을 살펴보자.

선형회귀의 다른 이름들 #

당신이 선형회귀를 알아보기 시작할 때, 많은 것들이 혼란스러울 수 있다.

왜냐하면 선형 회귀는 꽤 오랫동안 존재해왔기 때문이다 (200년 이상). 선형 회귀는 모든 가능한 시각으로부터 연구되어 왔고 각각의 면들은 종종 새롭고 다른 이름을 가진다.

선형회귀는 입력 변수 (x)와 단일 출력 변수 (y) 사이에 있는 선형 관계를 가정하는 선형모델이다. 더 자세히 말하자면, y는 입력 변수 (x)의 선형 조합으로부터 계산될 수 있다.

단일 입력 변수 (x)가 있을 때, 그 방법은 단순 선형 회귀로서 참조한다. 다중 입력 변수들이 있을 때, 통계학 문헌들은 다중 선형 회귀로서 방법을 참조한다.

다른 기술들은 정규최소제곱법(Ordinary Least Squares, OLS)으로 불리는 데이터로 부터 선형 회귀 방정식을 설명하기위해 또는 준비하기 위해 사용된다. 그래서 정규최소제곱법으로서 또는 최소제곱법 회귀로서 준비된 한 모델과 관련이 있는 것은 흔하다.

이제 우리는 선형 회귀를 묘사하기 위해 사용되는 몇 가지 용어들을 알았다. 사용되는 표현을 가까이서 살펴보자.

선형 회귀 방정식 #

선형 회귀는 두 변수들 사이에 있는 관계를 모델화하는 방법이다. 독자들은 경사 공식으로서 방정식을 인식할 지도 모르겠다. 방정식은 Y = a + bx의 형태(Y가 종속변수, x가 독립 변수, b는 선의 기울기, a는 y절편)를 가진다.

Image

선형 회귀 방정식을 찾는 첫 단계는 두 변수들 사이에 관계가 있는 지 아닌지를 결정하는 것이다. 이는 연구자에게 종종 일어나는 자체 판단거리이다. 당신은 또한 x-y 포맷에 있는 당신의 데이터의 한 목록이 필요할 것이다. (즉, 데이터 독립적인 두 세로열과 종속 변수들)

자 이제부터 선형 회귀 방정식을 찾아보자.

1단계: 당신 데이터의 차트를 만들어라.

당신이 피어슨의 상관관계 계수를 찾을 때와 같은 방식으로 세로열들을 채워라.

S X Y XY X2 Y2
1 43 99 4257 1849 9801
2 21 65 1365 441 4225
3 25 79 1975 625 6241
4 42 75 3150 1764 5625
5 57 87 4959 3249 7569
6 59 81 4779 3481 6561
Σ 247 486 20485 11409 40022

(S=Subject, X=Age, Y=Glucose level)

위 테이블로 부터, From the above table, Σx = 247, Σy = 486, Σxy = 20485, Σx2 = 11409, Σy2 = 40022. n은 샘플 크기이다. (예시에서는 6을 가리킴)

2단계: a와 b를 찾기 위해 아래와 같은 방정식을 사용하라.

Image

a = 65.1416 b = 0.385225

a를 찾기 위해서는

((486 × 11,409) – ((247 × 20,485)) / 6 (11,409) – 2472) 484979 / 7445 =65.14

b를 찾기 위해서는

(6(20,485) – (247 × 486)) / (6 (11409) – 2472) (122,910 – 120,042) / 68,454 – 2472 2,868 / 7,445 = .385225

3단계: 이 값들을 방정식에 대입하여라.

y’ = a + bx y’ = 65.14 + .385225x

이것이 손으로 직접 한 선형 회귀 방정식을 구하는 방식이다!!!

선형 회귀 대표 모델 #

Image

선형 회귀는 묘사가 아주 간단한 덕분에 매력적인 모델이 되었다.

대표 모델은 입력값 (y)의 그 세트에 대한 예측된 출력인 정답 입력값의 한 특정한 세트를 조합하는 하나의 선형 방정식이다. 그렇게, 입력값 (x)와 출력값 둘 다 수치형이다.

선형 방정식은 한 계수로 불리는 각 입력값 또는 세로열에 하나의 크기 인자를 배정한다. 그리스 알파벳 대문자 베타 (B)로 표현된다. 줄에 부가적인 자유도 (2차원 도표에서 위 아래로 이동하는 것)를 주면서 하나의 부가적인 계수도 추가된다. 이는 주로 인터셉트 또는 바이어스 계수로 불린다.

예를 들면, 단순 회귀 문제(단일 x와 단일 y)에서 모델의 형태는:

y = B0 + B1*x

더 높은 차원에서 우리가 한 입력 (x) 이상을 가질 때, 그 줄은 플레인 또는 하이퍼-플레인이라 불린다. 그러므로 표현은 방정식의 형태이고 계수들(e.g. 위 예시에서 B0과 B1)을 위해 사용된 특정 값들이다.

선형 회귀와 같이 회귀 모델의 복잡성에 대해 논하는 것은 흔한 일이다. 이것은 모델에서 사용된 계수들의 수에 참조한다.

한 계수가 0이 될 때, 그것은 모델에서 입력 변수의 영향을 효율적으로 제거한다. 그래서 모델로부터 만들어진 예측으로부터 (0 * x = 0). 당신이 몇몇에서 0으로 이끌면서 계수들의 절대 크기에 압력을 가함으로써 회귀 모델들의 복잡성을 감소하는 학습 알고리즘을 변화시키는 정규화 방법들을 본다면 이것은 유의미하게 해준다.

즉, 핵심 아이디어는 데이터와 가장 잘 맞는 하나의 선을 얻는 것이다. 그리고 그 최적의 선은 전체 예측 오차가 가능한 한 가장 작은 것이다. 오차는 회귀선에서 점 사이의 거리이다.

이제 우리는 선형 회귀 모델에 대해 사용된 표현을 이해했다. 우리가 데이터로부터 이 표현을 배울 수 있는 몇 가지 방법들을 검토해보자.

선형 회귀 학습 모델 #

선형 회귀 모델을 배우는 것은 우리의 가용 데이터들과 함께 표현에서 계수들의 값을 측정하는 것을 의미한다.

여기에서 우리는 선형 회귀 모델에 대비하여 간단히 4개의 기술에 대해 알아 볼 것이다. 이는 스크래치로부터 그것들을 실행할 충분한 정보가 아니다. 하지만, 그것이 속한 계산과 균형의 맛보기를 경험할 수 있을 것이다.

이 모델은 꽤 연구가 잘 되어있기 때문에 더 많은 기술들이 있다. 최소제곱법 (Ordinary Least Squares)에 주목하자. 이는 일반적으로 가장 자주 쓰이는 방법이다. 경도 하강법(Gradient Descent) 또한 기계 학습에서 자주 쓰이는 기술이니 참고하자.

1. 단순 선형 회귀 (Simple Linear Regression) #

우리가 단일 입력을 가질 때, 우리는 이 계수들을 추정하기 위해 이 통계를 사용할 수 있다.

이 통계법에서 우리는 직접 통계적 특성들(평균, 표준편차, 상관관계, 공분산)을 계산해야 한다.

엑셀에서의 한 과제처럼 재밌지만, 실전에서 많이 유용하진 않다.

2. 정규 최소 제곱법 (Ordinary Least Squares) #

우리가 하나의 입력 이상을 가질 때, 우리는 계수값들을 추정하기 위해 정규 최소 제곱법을 사용한다.

3. 경도 하강법 (Gradient Descent) #

하나 또는 그 이상의 입력들이 있을 때, 우리는 반복적으로 당신이 다루는 모델의 오차들을 최소화함으로써 계수값들을 최적화하는 과정을 이용할 수 있다.

4. 정규화법 (Regularization) #

선형 모델의 트레이닝 중에서 정규화 모델이라 불리는 확장자들이 있다. 이들은 모델의 복잡성을 줄이는 것과 제곱합 오차를 최소화하는 데 주력한다. (모델에서 모든 계수들의 합의 절대 크기 또는 숫자와 같이)

참고 자료 #

출처: [https://machinelearningmastery.com/linear-regression-for-machine-learning/
https://www.statisticshowto.datasciencecentral.com/probability-and-statistics/regression-analysis/find-a-linear-regression-equation/]

0.0.1_20140628_0