- 패턴인식은 컴퓨터를 이용하여 데이터에 내재하는 패턴을 자동으로 추출하는 것을 의미한다.
- 이렇게 발견된 패턴들을 이용해 분류(classification), 회귀(regression) 등의 구체적인 작업을 수행할 수 있다.
- 간단히 생각해보자면 휴리스틱한 방법론이나 룰(rule) 기반 방식들이 더 잘 동작할 것이라 생각하지만,
- 사실은 예외 사항만 끊임없이 만들어낼 뿐 보통 결과는 더 좋지 않다.
- 학습 데이터를 이용하여 선택한 모델의 파라미터를 튜닝하는 기계학습 방식이 더 좋은 효과를 낸다.
- 아래 그림은 필기체 학습을 위한 테스트 데이터 예제.
- 이후에 여러가지 알고리즘을 통해 위의 그림을 분류해내는 기법들을 살펴보게 될 것이다.
일반화(Generalization)의 문제
- 우리가 관찰한 데이터는 출현 가능한 데이터의 일부일 뿐이다.
- 우리에게 주어진 일부 데이터로부터 전체 데이터를 아우르는 패턴을 발견해야 한다.
- 따라서 이러한 패턴은 아직 발현되지 않은 데이터에 대해서도 잘 설명할 수 있어야 한다.
- 결국 이것이 패턴 인식의 목표.
- 문제 범위를 축소하기 위해 입력 데이터를 사전에 정제하는 작업을 진행하기도 한다.
- 이러한 작업을 pre-process 또는 feature extraction 이라고 한다.
기계 학습의 종류
- Supervised Learning
- 분류(Classification), 회귀(Regression)
- Unsupervised Learning
- 클러스터링(Clustering), 비쥬얼라이제이션(Visualization)
- Reinforcement Learning
- 주어진 상황에서 보상(reward)을 최대로 만드는 액션을 찾는 문제
- Supervised Learning 과 다르게 타겟 값이 주어지지 않는다.
- Exploration과 Exploitation 의 trade-off 문제
- 이 교재에서는 다루지 않는다.