선형 회귀: Difference between revisions
From IT위키
No edit summary |
|||
(2 intermediate revisions by the same user not shown) | |||
Line 10: | Line 10: | ||
* 이 그래프는 파란색 선과 같은 선형 관계를 가진다. | * 이 그래프는 파란색 선과 같은 선형 관계를 가진다. | ||
* 저 그래프를 그리는 수식 y = mx+b 을 알아낸다면 어떤 온도에서 귀뚜라미가 얼마나 우는지, 또는 귀뚜라미가 얼마나 울면 어느 정도의 온도인지 알 수 있다. | * 저 그래프를 그리는 수식 y = mx+b 을 알아낸다면 어떤 온도에서 귀뚜라미가 얼마나 우는지, 또는 귀뚜라미가 얼마나 울면 어느 정도의 온도인지 알 수 있다. | ||
== 기계 학습 과정 == | |||
*위 예시는 단순한 2차원 직선 그래프를 그리지만, 실제 일상 속의 현상은 저렇게 단순하지 않은 경우가 많다. | |||
* 요소가 2개를 넘어서서 3차원, 4차원, 심지어 10차원 이상일 수도 있고, 직선이 아니라 곡선을 그릴 수도 있다.<ref>특성이 많아 10차원 이상으로 넘어가는 경우는 다반사지만 직선이 아닌 곡선으로 학습되도록 하려면 먼저 선형 모델을 그려 본 후 곡선으로 학습을 하도록 따로 설정을 해줘야 한다. 기본적인 선형 회귀 모델은 독립 변수와 종속 변수간의 관계가 선형적(직선)이라고 가정하기 때문에 알아서 곡선을 만들어내진 못한다.</ref> | |||
* 이렇게 여러 특성을 반영한 선형적 관계를 컴퓨팅 파워를 이용해 반복 계산하는 과정이 기계 학습과정이다. | |||
[[파일:선형 회귀.png]] | |||
아래와 같은 반복 과정을 거친다. | |||
* 선형 회귀 알고리즘은 '''오차를 최소화하는 직선'''을 찾는 방식으로 작동한다. 보통 '''평균 제곱 오차(Mean Squared Error, MSE)'''를 최소화하는 직선을 계산하며, 학습 과정에서 다음을 자동으로 수행한다. | |||
*# '''초기 직선 설정''': 처음에는 무작위 기울기와 절편으로 시작한다. | |||
*# '''오차 계산''': 데이터의 실제 y 값과 예측 y 값 사이의 오차(잔차)를 계산한다. | |||
*# '''오차 최소화''': 기울기와 절편을 조정하면서 오차가 최소화되는 방향으로 업데이트한다. | |||
*# '''최적화 종료''': 오차가 최소가 되면 최종적으로 구해진 직선의 기울기와 절편을 반환한다. 이 과정은 '''[[경사 하강법|경사 하강법(Gradient Descent)]]''' 등의 최적화 알고리즘을 통해 이루어지며, 학습 데이터의 패턴에 맞춰 가장 적합한 직선이 자동으로 학습된다. | |||
== [[선형 회귀의 기본가정|선형 회귀의 4가지 기본가정]] == | == [[선형 회귀의 기본가정|선형 회귀의 4가지 기본가정]] == | ||
* 선형성( | 줄여서 LINE이라고 외우기도 하지만 한국의 기술사 학원 등에서 만들어낸 것으로 보인다. 전 세계적으론 [[CRUD]], [[트랜잭션 특성|ACID]], [[보안의 3요소|CIA]], [[객체지향 설계 원칙|SOLID]] 처럼 통용되진 않는다. | ||
* 독립성( | * 선형성('''L'''inearity): 독립변수(X)과 종속변수(Y)가 선형 관계에 있음 | ||
* 정규성( | * 독립성('''I'''ndependence): 종속변수는 다른 종속변수의 값에 의해 영향을 받지 않음 | ||
* 등분산성( | * 정규성('''N'''ormality): 오차항은 다변량 정규분포를 띔 | ||
* 등분산성(Homoscedasticity): 오차항의 분산은 모든 종속변수에 대해 동일함 | |||
** '''E'''qual Variance 라고도 불리지만 주로 한국에서 외우기 쉽게 번역한 것이고, 학술적으로 정확하진 않다. | |||
== | == 해석 가능성(interpretability) == | ||
* 선형 회귀는 단순한 수학적 모델로, 각 특성에 대해 선형 계수를 할당하기 때문에 각 특성이 타겟 변수에 미치는 영향을 쉽게 해석할 수 있다. | |||
* | ** 예를 들어 연봉을 예측하는 선형 회귀 모델은 아래와 같은 식으로 표현될 수 있고, 곱해지는 값을 통해 특성의 영향도를 파악할 수 있다. | ||
** ex) 연간 소득 = 2500+(4000×교육 수준)+(200×근무 연수)+(10000×직위)+(300×평가 점수)+(50×주당 근무 시간) | |||
* 양수 계수는 양의 영향을, 음수 계수는 음의 영향을 나타낸다. | |||
== 각주 == |
Latest revision as of 05:59, 2 November 2024
- Linear Regression
- 종속변수 y와 독립변수 x와의 선형 상관 관계를 모델링하는 회귀 분석 기법
예시[edit | edit source]
- 귀뚜라미는 날씨가 더운 날 더 자주 우는 것으로 추정이 된다.
- 그래서 온도에 따른 우는 횟수를 측정 해 보니 위 그래프와 같이 나왔다.
- 이 그래프는 파란색 선과 같은 선형 관계를 가진다.
- 저 그래프를 그리는 수식 y = mx+b 을 알아낸다면 어떤 온도에서 귀뚜라미가 얼마나 우는지, 또는 귀뚜라미가 얼마나 울면 어느 정도의 온도인지 알 수 있다.
기계 학습 과정[edit | edit source]
- 위 예시는 단순한 2차원 직선 그래프를 그리지만, 실제 일상 속의 현상은 저렇게 단순하지 않은 경우가 많다.
- 요소가 2개를 넘어서서 3차원, 4차원, 심지어 10차원 이상일 수도 있고, 직선이 아니라 곡선을 그릴 수도 있다.[1]
- 이렇게 여러 특성을 반영한 선형적 관계를 컴퓨팅 파워를 이용해 반복 계산하는 과정이 기계 학습과정이다.
아래와 같은 반복 과정을 거친다.
- 선형 회귀 알고리즘은 오차를 최소화하는 직선을 찾는 방식으로 작동한다. 보통 평균 제곱 오차(Mean Squared Error, MSE)를 최소화하는 직선을 계산하며, 학습 과정에서 다음을 자동으로 수행한다.
- 초기 직선 설정: 처음에는 무작위 기울기와 절편으로 시작한다.
- 오차 계산: 데이터의 실제 y 값과 예측 y 값 사이의 오차(잔차)를 계산한다.
- 오차 최소화: 기울기와 절편을 조정하면서 오차가 최소화되는 방향으로 업데이트한다.
- 최적화 종료: 오차가 최소가 되면 최종적으로 구해진 직선의 기울기와 절편을 반환한다. 이 과정은 경사 하강법(Gradient Descent) 등의 최적화 알고리즘을 통해 이루어지며, 학습 데이터의 패턴에 맞춰 가장 적합한 직선이 자동으로 학습된다.
선형 회귀의 4가지 기본가정[edit | edit source]
줄여서 LINE이라고 외우기도 하지만 한국의 기술사 학원 등에서 만들어낸 것으로 보인다. 전 세계적으론 CRUD, ACID, CIA, SOLID 처럼 통용되진 않는다.
- 선형성(Linearity): 독립변수(X)과 종속변수(Y)가 선형 관계에 있음
- 독립성(Independence): 종속변수는 다른 종속변수의 값에 의해 영향을 받지 않음
- 정규성(Normality): 오차항은 다변량 정규분포를 띔
- 등분산성(Homoscedasticity): 오차항의 분산은 모든 종속변수에 대해 동일함
- Equal Variance 라고도 불리지만 주로 한국에서 외우기 쉽게 번역한 것이고, 학술적으로 정확하진 않다.
해석 가능성(interpretability)[edit | edit source]
- 선형 회귀는 단순한 수학적 모델로, 각 특성에 대해 선형 계수를 할당하기 때문에 각 특성이 타겟 변수에 미치는 영향을 쉽게 해석할 수 있다.
- 예를 들어 연봉을 예측하는 선형 회귀 모델은 아래와 같은 식으로 표현될 수 있고, 곱해지는 값을 통해 특성의 영향도를 파악할 수 있다.
- ex) 연간 소득 = 2500+(4000×교육 수준)+(200×근무 연수)+(10000×직위)+(300×평가 점수)+(50×주당 근무 시간)
- 양수 계수는 양의 영향을, 음수 계수는 음의 영향을 나타낸다.
각주[edit | edit source]
- ↑ 특성이 많아 10차원 이상으로 넘어가는 경우는 다반사지만 직선이 아닌 곡선으로 학습되도록 하려면 먼저 선형 모델을 그려 본 후 곡선으로 학습을 하도록 따로 설정을 해줘야 한다. 기본적인 선형 회귀 모델은 독립 변수와 종속 변수간의 관계가 선형적(직선)이라고 가정하기 때문에 알아서 곡선을 만들어내진 못한다.