- 컴퓨터 프로그램은 input과 program을 넣어서 output을 출력하지만, Machine Learning은 input과 output을 집어넣어 프로그램을 추측하는 것
- 머신러닝이 잘푸는 문제의 분류는 다음과 같다.
- 지도학습 (Supervised Learning)
- 정답이 있어서 머신이 따라가는 것
- Data Labelling Cost가 크다
- 지도학습의 종류
- 분류 : 동물 사진 분류, 숫자 이미지 분류
- 회귀 : data를 가지고 수치를 예측하는것 ex ) 설탕 섭취량에 따른 혈당 수치
- 예측 : 회귀를 통해 함수가 구해지면 앞으로 어떤일이 일어날지 예측하는 것 ex ) 내년의 혈당 수치 예측
- 비지도학습 (Un-Supervised Learning)
- 정답이 없기때문에 데이터의 특징을 잡는 것이 중요
- Training 시간이 오래걸림
- 비지도학습의 종류
- 그룹화 : 상품추천, Netflix 컨텐츠 추천 등
- 이상값 감지 : 주가조작 감지, 암세포 감지 등
- 강화학습 ( Reinforce Learning)
- Agent 와 Environment간의 인과관계로 동작하는 학습
- Agent의 Action이 가면 Environment의 변화된 state가 reaction으로 감
- 이에따른 reward를 바탕으로 학습을 수행하게됨
- 게임, 로봇, 자율주행 자동차 등에서 사용
- shallow Learning과 Deep learning
- [x1x2x3] 의 입력이 있고 [y1y2]의 출력이 있을때 3*2의 가운데 행렬을 만드는 것
- 임의값을 대입하고 벡터 미분을 통해서 적합한 값을 찾아감
- 하나만있으면 shallow, 여러개면 deep learning
- SVM(Support Vector Machine)
- Vector를 분류하는 머신
- Generalize Performance(새로운 데이터가 들어왔을때 얼마나 분류를 잘하는지에 대한 정도) 를 구함
- 두 그룹을 가장 잘 나누는 기준을 찾는 것이 SVM의 역할
- 기준은 HyperPlane이라고 하는데 $W^t + b = 0$ 이다.
- 2차원 Hyperplane의 경우 $ax+by =c $ 라고 쓸 수 있는데 이때 $W^t =\begin{bmatrix} a&b\end{bmatrix}$ , $ X = \begin{bmatrix} x\\y \end{bmatrix}$ , $ b = c $ 라고 할 수 있다.
- Two class classification 문제는 두개의 class를 나누는 가장 좋은 hyperplane을 찾는 문제이다.
- 이때 hyperplane은 margin이 가장 큰 plane이다.
- margin이란 plane에서 가장 가까운 두 클래스의 벡터간 차이 합이 margin이다.