Please enable JavaScript.
Coggle requires JavaScript to display documents.
수학여행 14~16일차 다시 만나는 선형회귀: 모두모아 - Coggle Diagram
수학여행 14~16일차 다시 만나는 선형회귀: 모두모아
데이터
데이터의 표현
선형회귀를 위해 (N, D) 형태의 행 벡터로 표현
훈련과 테스트 데이터 분리
모델의 선택
입력과 출력의 관계를 잘 설명할 수 있는 함수를 찾아야 합니다.
간단한 선형회귀모델 사용 : \(y = w_1x_0 + w_2x_1 \)
데이터를 가장 잘 적합(fitting)되는 가중치 \(w\)들을 찾아야합니다.
기저함수 이용하기
선형의 의미
동차성
x와 상수 \(\alpha\) 에 대해 \( f(\alpha x) = \alpha f(x) \)가 만족
가산성
임의의 수 x,y에 대해 \(f(x+y) = f(x) + f(y)\) 가 만족
특징부여
최소제곱법
기저함수는 어떤 함수를 만들어내기 위해서 조합하는 재료함수 입니다.
\( y(x,w) = w^T\phi(x) \)
\(J(w) = \frac{1}{2}\sum^{N}_{n=1} {y_n - \hat{y}(x_n, w)}^2 \)
인공신경망 이용하기
경사하강법 적용
학습데이터 선정
오차 함수
최적화
optimize.minimize()
결과
모델의 평가
선형회귀의 평가
RMSE
모델의 상태 평가
과대적합
학습데이터에서는 RMSE가 작지만 테스트 데이터에서는 큰 경우
해결방법
학습 데이터의 개수를 늘리기
regularization (규제)법 사용하기
L! norm
L2 norm
초매개변수(hyper parameter) \(\lambda\)
모델이 복잡도, 표현력이 높은 상태로 새로운 데이터에 대한 일반화가 부족한 상황
과소적합
학습데이터에서도 RMSE가 큰 경우
모델이 데이터의 특성에 비하여 너무 단순한 경우
모델 학습 과정
한번에 학습시키는 데이터의 양에 따라서 다르게 부릅니다.
노멀 방정식 풀기
미분하기
필요조건
노멀 방정식 = \(w^{T}(\phi^T\phi)=y^{T}\phi\)
설계 행렬
데이터 1개 씩
확률적 경사 하강법
볼록 계획 문제
에폭을 수행하면서 무작위로 미니배치를 뽑는 과정을 반복하여 확률적으로 만족할 만한 최적해로 수렴하는 과정
p349 식
고정된 학습률
\( w_t := w_{t-1} - \eta c \)
1 more item...
점진적으로 해가 개선
모든 데이터
배치 학습(경사하강법)
일부 데이터
미니 배치 학습(경사하강법)
입력이 여러 개인 경우
가져야할 생각의 관점
이미 데이터가 벡터 형태이면 행으로 적층시키면 설계행렬이 완성됩니다.
설계행렬에서 데이터는 기저함수의 개수를 벡터차원으로 가지는 행벡터입니다.
입력되는 데이터를 벡터처럼 생각하라!
예시 데이터
https://college.cengage.com/mathematics/brase/understandable_statistics/7e/students/datasets/mlr/frames/mlr02.html
만약 데이터들이 어떤 곡면 처럼 분포되어 있으면 다항식 기저를 사용하여 데이터에 다항 특성을 부여하면 회귀를 하면 되기 때문에 입력이 여러개인 다중회귀도 하나인 단순회귀와 개념이 동일합니다.
인공신경망 모델
인공신경망 구성
절차
관련모듈 import
최적화 알고리즘
인공신경망이 가지는 레이어 수와 각 레이어 별 노드 수 결정
입력 input을 입력하고 결과 output을 입력
파이토치 텐서형으로 변환
가중치 x 입력 = 편향
목적함수 정의
criterion을 호출
loss를 계산
loss를 자동미분
경사도 벡터 계산
경사도벡터를 이용하여 학습률만큼 이동
시각화
detach() 써서 그래프에서 분리 후 작업
인공신경망의 비선형성
로지스틱 시그모이드 활성화 함수 제거
일차 다항식을 이용한 회귀 결과와 동일
입력과 출력 사이의 '선형' 관계
곡선으로 데이터를 피팅하는 경우도 선형회귀다
https://metamath1.github.io/noviceml/linearity.html