기계학습의 정의
1. 경험을 통해서 시스템의 구조나 파라미터를 바꿀 수 있다.
ex) ax + b 혹은 ax^2 + bx + c 의구조로 와 파라미터로 표현할 수 있다
2. 지식을 자동으로 추출
얼굴 인식, 글 인식 같은거는 예전에는 모두 사람이 직접 손수했지만 요즘에는 알고리즘 돌리면 바로 나온다
- 일반 프로그래밍 vs 기계학습
일반 프로그래밍은 사람이 직접 알고리즘을 짜야하지만 기계학습은 스스로 알고리즘을 찾아가는 것
play Tennis 예제
정형 데이터 -> 형식이 정해진 데이터
각 속성당 경우의 수를 생각하면 단순히 계산해봐도 48 case가 나온다
위와 같은 데이터가 주어진다고 할때 다음의 질문에 답을 해보자
- 흐리고 적당한 온도에 습도는 높고 바람이 센날 테니스를 칠까? (주어진 데이터에 없는 경우를 가정해보았다)
해결방법 : tree를 만들어서 예측을 해본다!
이 tree를 컴퓨터가 스스로 만들 수 있도록 프로그래밍 하는 과정을 기계학습이라고 한다!
필기문자 인식 문제
비정형 데이터 -> 데이터 형식이 정해지지 않은 경우 (이미지, 비디오..등등)
사람이 프로그래밍 하기에는 복잡하고 성능이 불충분하다. 때문에 기계학습을 이용해 자동으로 분류
연역적 학습 vs 귀납적 학습
연역적 학습 : 일반화된 사실을 이용해 추론 ex)인간은 사람이다 -> 사람은 죽는다 -> 인간은 죽는다
귀납적 학습 : 사례들을 모아 분석해 일반화 또는 패턴를 찾는 학습과정
귀납적 학습을 통해 데이터를 잘 설명할 수 있는 패턴을 찾는 것이 기계학습이다!
오컴의 면도날(Occam’s razor): 학습결과를 최대한 간단히 나타내는게 좋다.