728x90
1. Categories of Machine Learning
- Supervised Learning = 지도학습
- Labeled Data를 기반으로 future input이 주어졌을 때 output을 예측
- Output
- Discrete Variable: Classification
- Continuous Variable: Regression
- Regression, Classification(Binary, Multiclass), Time Series Prediction
- Unsupervised Learning = 비지도 학습 = 자율학습
- Unlabeled Data를 기반으로 비지도 학습을 통해 hidden features, structures 등을 찾기
- Unlabeled Data: only inputs, No desired outputs (No Training Data, 정답이 없다)
- Clustering, Outlier Detection
- Semi-supervised Learning = 준지도 학습
- 비지도학습에 지도학습 기반 Data를 사용
- Reinforcement Learning = 강화학습
- 시행착오를 반복함으로써 보상의 기댓값을 극대화시키려면 어떠한 순서로 행동해야 하는지 선택
- Labeled Data $D(x,y)$
- x: inputs, feature (문제, 입력값)
- y: desired outputs, label, target (정답)
- $(x, y)$ = (문제, 정답)으로 이루어진 Data Set
2. Types of Machine Learning Algorithms
- Regression : 데이터를 통해 변수를 예측하는 사용기법
- Classification : 관찰값 (입력값)을 사전에 정의된 Predefined Group(정답) 중 하나에 할당
- Binary Classification, Multi-Class Classification
- Clustering : 유사도를 기준으로 관측값들을 Group 별로 나눈 것 (No desired outputs, 정답X)
- Association : 연관규칙 (어떤 것이 발생 -> 다른 어떤 것이 같이 발생)
3. Learning Pipeline
- Phase 1: Training (Labeled Data)
- Data set의 label로부터 ML model이 출력을 정확하게 맞추고 있는지 확인
- ML Model은 정답을 더 정확하게 맞추게끔 Model의 parameter 값을 변경해 나감
- Model Output과 Desired Output과의 차이인 error를 줄여가면서 학습이 진행됨
- Phase 2: Testing (Future Inputs)
- Model이 실제 환경에 적용됨
- Train Data가 아니라 Test Data를 사용
- 이 단계에서의 Model 정확도가 진정한 정확도가 된다
- 입력 Feature의 경우 어느정도의 domain knowledge가 필요함
- 물론 최근의 Deep Learning Model의 경우 feature 또한 스스로 학습하기 때문에 domain knowledge로부터 비교적 자유로움
- 일반적으로는 D차원의 공간에 입력 Feature Vector가 있다고 할 수 있음
- Feature Vector : 하나의 Feature에 속하는 data들을 element로 하는 vector (Row Vector)
4. Target Function $f$
- 입력 X를 출력 Y로 mapping하는 정답함수 (이상적인 함수 : 모든 입력 sample에 대해서 성공적인 결과)
- Target Function $f$에 근사하는 Function $g$를 만드는 것이 목적
- Machine Learning Model의 역할 : hypothesis H 함수 $g$
- 목적 : Target Function F를 모사하는 것
- 방법적인 수단 : Real World에서 나타나는 sample 들의 realization으로서의 data set을 활용
Machine Learning은 그 자체로 Data의 결핍으로 인한 불확실성을 포함하고 있다
학습과정에서 우리가 모든 Data Sample을 관찰할 수 없기 때문 ->Model Generalization 이 중요하다
- Model의 학습 과정
- Feature Selection : 문제에 가장 적합한 Feature 를 선택하는 과정
- Model Selection : 풀고자 하는 문제에 가장 적합한 model을 선택하는 과정
- Optimization : 모델의 parameter를 최적화하여 model이 가장 우수한 성능을 제공하도록 하는 것
5. Errors
- $y$ : True target
- $\hat {y}$ : Predicted output
- $h(x)$ : model의 출력
- $y$ : 정답
- Squared Error : model 출력과 정답과의 차이를 제곱하여 출력
- Binary Error : model의 출력과 정답이 다르면 1을 출력
- Data sample에서 발생하는 모든 sample들의 pointwise error들을 모두 합하면 : overall error를 계산 = Loss function
- $E_{train}$ : 모델을 주어진 data set에 맞추어 학습하는데 사용하는 error
- 주어진 sample에서 model parameter를 최적화 하도록 사용
- $E_{general}$ 을 approximation 하는데 적합하지 않음
- $E_{test}$ : training data와 overlap이 되지 않도록, 전체 Data Set에서 일부 sample을 따로 빼서 Test Sample을 정의 & 해당 Test Sample에서 나타나는 error
- 이 error가 real world에서 적용할 때 나타나는 $E_{general}$를 표현
- GOAL: $E_{test}$ 가 0으로 근사하도록 하여 $E_{general}$ 또한 0으로 근사할 수 있다는 기대를 갖게 하는 것이 목적
- $E_{test} \approx E_{train}$
- 우리가 학습한 Model이 일반적인 성능을 제공할 수 있도록 하는 것 : Variance가 작도록 설계
- Failure: Overfitting이 발생 (High Variance)
- Solution: regularization, more data
- $E_{train} \approx 0$
- Model의 학습이 잘 되고 있다 (정확도가 올라가고 있다)
- 편차, Bias가 줄어들고 있다
- Failure: Underfitting이 발생 (High Bias)
- Solution: optimization, more complex model
- $E_{test} \approx E_{train}$
- Model Generality: Variance를 낮춰야 함 (overfitting)
- Model Accuarcy: Bias를 낮춰야 함 (underfitting)
- Bias, Variance는 서로 Trade - off 관계
- Complex Model: Overfitting occurs, Variance 증가, Bias 감소
- Simple Model: Underfitting occurs, Variance 감소, Bias 증가
- Generalization Error를 줄이는 것이 목적
6. Solution
- Curse of Dimension
- 입력 Data 또는 입력 Feature의 차원이 증가한다면 지수적으로 sample의 숫자가 늘어나야 함
- Model의 복잡도 증가 속도 > Data Set sample 수 : Overfitting이 발생하기 쉽다
- Solution (Data Augmentation (증가))
- Regularization
- Ensemble
- Cross-validation (CV)
- k-fold cross-validation : model을 generalize 하는데 도움이 된다
- Training Set을 k개의 Group으로 구분
- k-1개의 Group을 training, 1개의 Group을 validation에 사용
- Training : model parameter를 fitting하는데 사용
- Validation : model optimization하는데 사용
728x90