일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 파이썬기초
- swift문법
- 스위스기준금리
- MBTI성격유형
- 파이썬온라인수업
- 파이썬수업
- 미국디리스킹
- 파이썬독학
- 파이썬강의후기
- 패스트캠퍼스후기
- 비트코인
- 파이썬 인강
- 암호화폐
- 파이썬클래스
- 파이썬문법
- 파이썬강의
- 순천여행
- 광교카페
- 파이썬인강
- 셀레니움
- 스크래핑
- 비전공자파이썬
- MBTI성격검사
- 파이썬배우기
- 중국수출통제
- 노르웨이기준금리
- MBTI
- 파이썬독학하기
- SQL
- 패스트캠퍼스수강후기
- Today
- Total
이제 데이터 공부 안하는 블로그
[파이썬 라이브러리를 활용한 머신러닝] 선형회귀(Linear Regression) 본문
제가 '파이썬 라이브러리를 활용한 머신러닝' 읽고 정리한 내용입니다.
선형회귀(Linear Regression)
집 가격을 예측하는 머신러닝 알고리즘을 만든다고 가정해보자. 우리에게는 집의 크기와 가격정보가 있다. 이 정보를 가지고 모델을 학습시켜서 이후에 모델이 집 크기만 보고도 가격을 예측할 수 있게 만들려고 한다. 어떻게 이것을 할 수 있을까? 여러가지 방법이 있는데 그 중 가장 단순하고 대표적인 알고리즘으로는 선형회귀(Linear Regression) 가 있다. 선형회귀는 데이터에서 가장 잘 맞는 하나의 선을 찾아내는 것이다. 아래 그림에서 동그라미 점들은 데이터이고, 그 점들을 가장 잘 대변해주는 하나의 선을 찾아서 그리는 것이 선형회귀 모델의 목표인 것이다.
최적선을 찾아내기 위해 다양한 함수를 시도해볼 수 있을텐데 이렇게 다양한 시도를 해보면서 만든 함수 하나 하나를 가설함수(hypothesis funtion)라고 부른다.
선형회귀의 가설함수는 식으로 나타내면 y = ax + b (혹은 hθ(x)=θ0+θ1x)로 나타낼 수 있다. 결국 선형회귀의 목표는 계수 a랑 상수 b를 찾아내는 것이라고 볼 수 있다.
그런데 집의 가격을 정하는 요소는 집의 크기 말고도 많은 것들이 있을텐데, 그것들을 다 입력변수로 받는다면 아래와 같은 식으로 표현할 수 있을 것이다. 여기서 가장 적절한 θ 값을 찾아내는 것이 선형회귀의 목표다.
평균 제곱 오차(Mean Squared Error)
그러면 어떻게 데이터에 최적화된 선을 그릴 수 있을까? 평균제곱오차(MSE)를 사용해볼 수 있다.
평균 제곱 오차는 가설함수와 데이터들 간의 오차를 모두 구해서 제곱한 후 더한값을 평균낸 것을 말한다. 오차가 클 수록 최적화된 선을 잘 그리지 못한 것이라고 볼 수 있다. 오차에 제곱을 하는 이유는 1. 오차값이 양수일 수도 있고, 음수일 수도 있는데 이러면 계산하기가 힘드니까 모든 오차를 양수로 통일하기 위해서이다. 그리고 2. 오차값을 부각시키기 위해서도 있다. 아래는 평균제곱오차를 표현한 수식이다.
'머신러닝' 카테고리의 다른 글
[파이썬 라이브러리를 활용한 머신러닝] K -Nearest Neighbors (0) | 2021.09.16 |
---|---|
[파이썬 라이브러리를 활용한 머신러닝] 일반화, 과대적합, 과소적합 (0) | 2021.09.16 |