선형회귀? 암튼.
검색하면 공부할 내용은 많을테고, 내가 깨달은 점 위주로 기록
최소화
- 데이터의 분포를 "선"으로 표현하려고함
- 데이터 차원이 많아지면 선 -> 면 -> 고차원의 면 이런 식일 것임
- 대충 모델링한 식과 진짜 값의 차이들이 있을 것임
- 차이를 절대값 씌우고 더하고 하기보다 (차이)^2을 시켜버림
- (차이)^2을 최소화 시키는 문제임 => 여기에서 미분이 들어감. 미분해서 0인 곳이 최소값일 것임
식, 선형대수학
- f = w0 + w1x1 + w2x2 + ... 식으로 표현하던데
- 선형의 세계에서는 "컬럼 위주로 표현하는 것을 좋아함". 컬럼은 가로가 아니라 세로
- w들은 (w0, w1, w2, ..)가 세로로 된 형태 즉 (n행, 1열) 행렬
- x들은 (1, x1, x2, ...)가 세로로 된 형태 즉 (n행, 1열) 행렬. 맨 앞에 1은 w0을 표현하려고 임의로 붙인것. bias라고들 한다
- 둘을 곱한 것을 표현하려니 WTX 같은 표현식을 씀. T는 전치행렬(행/열을 바꿔버림)
- x들의 무리가 여러개 있을 것임
- (1, 2, 3, ..) => 30
- (17, 0, -1, ...) => 19
- 이런게 m개 있을 것임
- 행렬식으로 표현하니 ${W^T (X1, X2, ...)} 표현이 어색한데, 앞에 데이터들이 n 행씩 m열 있을 것임
⎝⎜⎜⎜⎛123...170−1...⎠⎟⎟⎟⎞
미분
- 저런 식에 대해서 y-f(x)의 제곱에 관한 식이 만들어질테고
- 이것 들의 합을 표현하는 식이 또 있을텐데
- 그 합을 최소화 시키는 "w"들을 구하는게 목표이고
- 이를 위해 w로 미분을 해서 0인 곳을 찾는데, w가 차원이 많으니 편미분 진행
- 이렇게 해서 또 무슨 식이 나올텐데, 여기에 선형방정식 역행렬을 해서 값이 한번에 나올 수도 있겠고
- 어려운 경우 경사하강법으로 진행