Mitchell이 정의한 기계학습
(데이터를 이용한) 경험을 통해서 작업의 수행 능력을 향상 시키는 것
= 학습 데이터를 통해서 학습을 시키고 성능을 높여가는 방식
(학습 데이터: 학습에 사용되는 데이터)
지식기반 방식에서 기계학습으로 전환
지식기반 방식: 패턴(Rule)을 통해서 결과를 얻음
/ ‘숫자 8은 구멍이 2개다’ 라는 rule을 if문으로 알려줌 -> 애매한 8은 해석할 수 없음
-> rule을 정하기 너무 애매하므로 기계학습으로 전환된 것 (지식 기반의 한계로 인한 전환)
기계학습: 컴퓨터에게 데이터를 넘겨서 특징을 스스로 파악하게 해서 결과를 얻음
/ (8이라고 하는 이미지, 8과 헷갈리는 이미지) 데이터를 다 줘서 8을 구분함
데이터를 가지고 학습을 하는 방법론에 대해 배움 (스스로 학습을 어떻게 시킬까?)
기계학습의 종류
지도학습: 학습 데이터가 목표 값을 가지고 있을 때 학습시키기 (함수에서 x와 y(정답)가 주어짐)
비지도학습: 학습 데이터에 목표 값이 없을 때 학습시키기 (y값이 주어지지 않음)
강화학습: 목표값이 주어지는데 게임 학습에 쓰임
준지도학습: 일부는 x와 y값을 가지고 있지만, 일부는 x는 있지만 y값이 주어지지 않음
기계학습의 궁극적 목표
새로운 데이터를 학습 결과(학습 모델)에 적용했을 때 오류 최소화
(기존에 공부한 것만 잘 아는게 아니라, 비슷한 형태의 새로운 것도 잘 알아야 돼!)
(교과서에 나온 예제로 공부했으면 비슷한 유형인 시험 문제도 풀 수 있어야지!)
기계학습 방법론
1단계) 모델 선택 (ex)선형 회귀 모델(y=wx+b)로 학습시키겠다.)
2단계) 목적 함수 정의 (적합한 w와 b를 알려주는 함수)
3단계) 최적화 (정답과 예측치의 오차를 가장 적게 하는 기법)