패턴 인식 개요
패턴 인식이란?
- 패턴 인식은 데이터에서 규칙적인 패턴을 찾아내고 학습하는 과정
- 핵심 질문: 패턴을 어떻게 학습할까?
- 목표 응용 분야에 따라 학습 방법이 다름
학습 방법의 분류
-
지도 학습
- 회귀 (Regression): 원하는 출력이 하나 이상의 연속형 변수
- 분류 (Classification): 원하는 출력이 유한 개의 이산적인 카테고리
-
비지도 학습
- 군집화 (Clustering): 유사한 입력들을 그룹으로 발견
- 밀도 추정 (Density estimation): 입력 분포를 파악
다항식 곡선 피팅
문제 정의와 목적
- 문제: 이 데이터를 잘 표현할 수 있는 함수를 어떻게 설계할 것인가?
- 목적: 데이터를 가장 잘 표현할 수 있는 w (벡터 또는 기울기), M (차수)를 찾는 것.
- 방법: 에러 총합 (에러 제곱합) 을 최소화하는 w 값 선택
다항식 곡선 차수 찾기
모델 평가
모델 평가 지표
RMSE=MSE=n∑(y^−y)2
MSE=N1∑i=1NLossθ(yi,y^i)=∑n=1N{y(xn,w)−tn}2
- 제곱
- 제곱근
- 오차의 단위를 데이터와 맞추기 위함, 데이터와 같은 단위이기 때문에 오차 크기를 직관적으로 비교할 수 있음
- 데이터 양이 증가함에 따라 계산 속도가 느려지는 것을 방지
- 샘플 크기
- 데이터 개수가 다르더라도 일관성 있게 평가하도록 오차 평균을 사용
과적합 문제와 해결 방법
과적합 원인과 현상
- 훈련 데이터의 MSE 는 0 에 가까워짐 하지만 테스트 데이터의 MSE 는 급격하게 증가
- 이는 모델이 훈련 데이터의 노이즈까지 학습하여 모델이 훈련 데이터에 과접합된 것을 나타냄
파라미터 관점에서 본 과적합
- 오버피팅이 발생하면 파라미터 값들의 분산이 커짐
- 각각의 파라미터들이 매우 크거나 작아짐
데이터 개수 관점에서 본 과적합
- 훈련 데이터 개수가 많아질수록 과적합이 줄어듬
- 훈련 데이터 개수가 많아질수록 모델은 노이즈를 무시하고 기저 함수와 유사해짐
과적합 문제 해결 방법
- 방법: 손실 함수에 파라미터에 대한 패널티 항을 추가해 과적합을 방지하고 일반화 성능을 향상시키기
- 수식: E~(w)=21∑n=1N{y(xn,w)−tn}2+2λ∣∣w∣∣2
- λ 가 적당히 작은 경우: 모델의 과적합을 효과적으로 방지
- λ 가 큰 경우: 모델의 과소적합을 유발
패턴인식 실제 적용 예시
목표
- 데이터가 주어졌을때, 컴퓨터는 데이터를 설명하는 방정식 f(x) 를 어떻게 추론할 수 있는가?
과정
- 가설 함수 정의: H(w,b)=wx+b
- 비용 함수 정의: MSE=m1∑i=1m(H(xi,w,b)−yi)2=m1∑i=1m(wxi+b−yi)2
- 비용 함수가 최소가 되는 w, b 찾기
- ∂w∂cost(w,b)=m2∑i=1m(wxi+b−yi)xi
- ∂b∂cost(w,b)=m2∑i=1m(wxi+b−yi)
풀이1: 비용 함수를 최소화하도록 w와 b를 반복적으로 업데이트
- w:=w−α∗∂cost(w,b)/∂w
- b:=b−α∗∂cost(w,b)/∂b
풀이2: 연립 방정식 계산
-
주어진 식을 다음과 같이 정리하기
{∑xi2w+∑xib=∑xiyi∑xiw+mb=∑yi
-
행렬 형태로 표현하기
(∑xi2∑xi∑xim)(wb)=(∑xiyi∑yi)
-
크래머스 룰 적용하기
-
계수행렬의 행렬식
D=∣∣∣∣∣∑xi2∑xi∑xim∣∣∣∣∣=(∑xi2)m−(∑xi)2
-
w에 대한 변형 행렬식
Dw=∣∣∣∣∣∑xiyi∑yi∑xim∣∣∣∣∣=(∑xiyi)m−(∑xi)(∑yi)
-
b에 대한 변형 행렬식
Db=∣∣∣∣∣∑xi2∑xi∑xiyi∑yi∣∣∣∣∣=(∑xi2)(∑yi)−(∑xi)(∑xiyi)
- 최종 해 공식
w=DDw=(∑xi2)m−(∑xi)2(∑xiyi)m−(∑xi)(∑yi)
b=DDb=(∑xi2)m−(∑xi)2(∑xi2)(∑yi)−(∑xi)(∑xiyi)