일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
- Calibration
- 토끼와 경주
- 코드트리빵
- ros
- BFS
- 순서대로방문하기
- ISER
- 수영대회결승전
- 루돌프의반란
- 나무박멸
- 마법의숲탐색
- 조합
- 3Dreconstruction
- 싸움땅
- 소프티어
- ARM
- DP
- 구현
- 왕실의기사대결
- 포탑부수기
- 삼성기출
- DenseDepth
- ICER
- dfs
- 코드트리
- 시뮬레이션
- 마이크로프로세서
- 이진탐색
- 슈퍼컴퓨터클러스터
- 백준
- Today
- Total
from palette import colorful_colors
[수치해석] Linear Least-Squares Rgression(최소제곱 회귀 분석), 결정계수 본문
[수치해석] Linear Least-Squares Rgression(최소제곱 회귀 분석), 결정계수
colorful-palette 2023. 1. 21. 21:521. Regression(회귀), Interpolation(보간법)
데이터 분포를 직선, 다항함수, ... 등 하나의 대표하는 함수로 표현하는 것을 regression, 회귀라고 한다.
데이터들이 상당한 크기의 오차를 포함하거나, "산재한" 경우 사용한다.
<데이터의 분포를 직선으로 회귀한 모습>
여기서, 또 하나의 개념이 등장한다
Interpolation(보간법): 각 점을 직접 통과하는 직선이나 일련의 곡선을 구하는 것을 말한다.
데이터가 매우 정확하게 알려져 있는 경우 사용한다.
Regression(회귀), interploation(보간법)의 차이:
동일한 데이터에 대해 (a) 최소제곱 회귀분석 (회귀), (b) 선형보간법, (c) 곡선보간법을 적용한 예시다.
셋 다 데이터를 대표하는 방법이지만, 그림을 보면 차이를 쉽게 알 수 있을 것이다.
보간법은 점을 무조건 지나치지만, 회귀는 점을 지나지 않고 모델과 data간의 오차가 최소화되는 방향으로 업데이트되는 개념이다.
n개, 혹은 그보다 많은 데이터 대표화하기:
n개의 데이터가 존재할때, n-1차 다항 함수로 interpolation 할 수 있다.
ex) 3개의 데이터로 이차함수 interpolation -> 이차함수는 상수항까지 포함해서 미지수 3개이므로 데이터가 3개 필요하다
n개보다 더 많은 데이터가 존재할땐, n-1차 다항함수로 interpolation이 불가능하다. (미지수가 n개지만 데이터가 n보다 더 많으므로 함수가 데이터들의 점을 다 지나갈 수 없다.) -> 이럴땐 regression을 사용한다.
2. Standard derivation
주어진 input/ output 데이터(x1, y1), (x2, y2), (x3, y3), ....를 대표할 수 있는 직선 모델을 y라고 할 때, 일차함수인 y는
로 나타낼 수 있고, 여기서 e는 모델 y와 실제 데이터 사이의 차이인 오차, residuals 이라고 한다.
식으로 표현한다면 i번째 데이터의 값 yi - 그에 따른 직선모델 y 값,
e = (yi - (a0+a1xi)) 로 둘 수 있다. (위의 식에서 이항 후 값을 대입한 형태)
그리고 평균과 데이터의 표준편차를 sy라고 표현했다면, 직선모델과 데이터의 표준편차, standard derivaton(sy/x)도 있다.
그림으로 쉽게 이해하기!
3. Coefficient of determination (결정계수)
input과 output의 상관관계를 나타낸다.
직선으로 fitting을 한 모델이 얼마나 의미가 있는지, 없는지 1에서 0 사이의 값으로 알 수 있다.
로 구할 수 있다.(St, Sr이 무엇인지는 바로 위의 그림 참고!)
좀 더 직관적으로는
이 되겠다.(여기서 말하는 타깃은 각 데이터, 예측은 직선모델)
예시:
r이 1이라면 데이터가 전부 직선에 놓여있는 완전접합, r이 0이라면 직선이 데이터와 아무 상관 없는, 의미 없는 fitting임을 뜻한다.
의미만 알고 넘어가도 되는 개념이다!
4. Linear Least-Squares Rgression(최소제곱 회귀 분석)
최소제곱 회귀 분석은 이러한 직선모델 중 최적의 직선을 뽑는 방법 중 하나다.
직선 회귀 모델과 데이터간의 차이(오차)의 제곱의 합을 최소로 만드는 것을 Linear Least-Squares Rgression이라고 한다.
즉, Sr을 최소로 만든다!
머신러닝에서 주로 쓰인다.
5. Least squre solution을 구하는 방법 (행렬로 데이터가 주어졌을때 )
로 a0 , a1 을 구한 다음, y = a0 + a1x 형태로 나타내주면 끝!
Linear regression 뿐만 아니라 다차할 모델인 poly regression도 같은 솔루션으로 구할 수 있다.
'CS 학부과목 > 선형대수,수치해석' 카테고리의 다른 글
[수치해석] 데이터 분석에 필요한 기본 통계 개념(with MATLAB) (2) | 2023.01.21 |
---|---|
[수치해석] Power Method, Inverse Power Method - 원하는 Eigenvalue 찾는 방법 (with MATLAB코드) (0) | 2023.01.21 |