기계학습(머신러닝)이란?
입력과 출력의 관계를 모방하여 새로운 입력이 주어졌을때, 해당 task를 잘 수행하는 알고리즘
머신러닝을 하는 이유 : 일반화(Generalization)
머신러닝 모델은 답이 존재하지 않는다 (Task, Data에 따라 최적의 알고리즘을 찾아야 한다)
(Task가 쉬우면 Layer가 단순한 모델을 써야하고 Task가 어려우면 많은 Layer를 필요로 한다)
기계학습의 종류
1. Supervised learning (지도학습)
2. Unsupervised learning (비지도학습)
3. Semi-supervised learning
1) LU learning (Labeled-Unlabeled) : 모든 클래스에 대해 일부 데이터에만 Label 제공
2) PU learning (Positive-Unlabeled) : 특정 클래스(Positive)에 대한 Label만 주어짐
Semi-supervised 사용하는 이유가 뭘까?
학습 데이터가 없는 영역에 대해 Unlabeled Data 를 고려함으로써 확률, 거리를 고려하여 Soft Labeling을 통해 Decision Boundary 를 더 정확하게 예측, Classification 성능 향상을 높일 수 있다
4. Reinforcement learning (강화학습)
Environment와 Agent 간의 Interaction (Agent는 State를 보고 Action을 취하고 그에 따른 Reward를 얻게 된다)
강화학습이 어려운 이유
Action에 대한 Reward 가 즉시 주어지지 않는 경우가 있어 앞선 수많은 Action을 평가하기 어렵다
(ex. 바둑에서 어떤 실수를 하더라도 승패가 바로 결정나지 않음)
오컴의 면도날 법칙
현상을 설명할 수 있는 Model 중 가장 단순한 Model이 정답일 확률이 높다