관리 메뉴

미래기술연구소

Practical Machine Learning 본문

카테고리 없음

Practical Machine Learning

I s a a c 2020. 8. 18. 04:27
728x90
반응형

기계학습과 관련하여 몇 가지 실용적인 이슈들에 대해서 다뤄보려고 합니다.
학습률 (Learning Rate)


출처: https://hunkim.github.io/ml/
경사 하강법에서 경사를 따라 움직이는 정도를 학습률이라고 합니다. 학습률을 작게 잡으면 학습이 너무 오래걸리는 문제가 발생하고, 크게 잡으면 극소점을 지나쳐갈 수 있습니다 (overshooting). 학습률을 적절하게 설정해야 합니다.
Normalization


표준화는 데이터를 전처리 할 때 굉장히 많이 쓰이는 기법입니다. 나중에 배치 정규화 (Batch Normalization)에서 더 자세히 다룰 것입니다.
Bias-Variance Tradeoff and Overfitting


출처: https://hunkim.github.io/ml/
편향-분산 트레이드 오프는 지도학습 알고리즘이 훈련 집합의 범위를 넘어 지나치게 일반화 하는 것을 예방하기 위해 두 종류의 오차 (편향, 분산)을 최소화 할 때 나타나는 문제입니다. 편향/분산에 대한 더 자세한 설명: https://en.wikipedia.org/wiki/Bias%E2%80%93variance_tradeoff 편향이 큰 모델을 세우면 왼쪽 그림처럼 과소적합 (underfit) 문제가 발생할 수 있으며, 너무 큰 모델을 세무면 오른쪽 그림처럼 과적합 (overfit) 문제가 발생할 수 있습니다. 특히 나중에 배울 딥러닝에서는 매우 많은 매개변수들을 사용하기 때문에 과적합 문제가 빈번하게 발생합니다.
Regularization
앞서 언급된 과적화 문제를 해결하기 위해서 많은 방법들이 제시되었는데, 그 중 하나로 정규화가 있습니다. 비용함수에 매개 변수의 크기 값을 포함시켜서 매개변수의 범위를 제한하는 방법입니다. 분산을 줄여서 과적합 문제를 해결할 수 있는 대신에, 비용함수가 조금 더 복잡해진다는 단점이 있습니다.



출처: https://hunkim.github.io/ml/
하이퍼파라미터 (Hyperparameter)
모델을 구성하지만 모델이 학습하면서 직접 최적화해나가는 매개변수가 아닌 미리 설정되는 매개변수들을 구분하여 지칭하기 위해 쓰이는 단어입니다. 예를 들어서, K-NN 알고리즘에서는 K 값과 거리함수 d를 어떻게 정의할지가 하이퍼파라미터입니다. 학습률이나 정규화 매개변수 또한 하이퍼파라미터입니다. 훈련된 모델이 최적의 성능을 내기 위해서는 최적의 하이퍼파라미터 값을 찾는 것이 중요합니다.
훈련/시험/확인 집합 (Training/Test/Validation Sets)
앞서 설명된 최적의 하이퍼파라미터 값을 찾기 위해서는 훈련 및 시험 집합 외에도 확인 집합이 필요합니다. 시험 집합의 데이터를 이용해서 학습을 시킬 수는 없기 때문에 훈련 집합에서 일부 데이터를 나누어, 확인 집합을 만듭니다. 확인 집합을 통해 하이퍼파라미터 값을 조절할 수 있습니다.
확률적 경사 하강법 (Stochastic Gradient Descent)
큰 데이터 집합에 대해서 전체 데이터를 한 번에 사용해서 훈련시키는 것은 불가능합니다. 보통 미니 배치 (mini-batch)라는 작은 데이터 집합 단위들로 쪼개서 경사 하강법 알고리즘을 적용합니다. 이때 미니 배치에 들어갈 데이터들은 랜덤하게 결정됩니다. 이러한 알고리즘을 확률적 경사 하강법이라고 합니다.
MNIST 데이터 집합 기계학습에서 자주 쓰이는 데이터 집합이 몇 개가 있습니다. MNIST는 딥러닝 대가 중 한 명인 Yann LeCun 교수가 만든 데이터 셋입니다. 손으로 쓰여진 0부터 9까지의 숫자 사진들로 이루어져 있습니다. 모든 사진들은 자신의 숫자로 레이블링 되어있습니다. 55,000 장의 훈련 집합, 10,000장의 시험 집합, 그리고 5,000 장의 확인 집합으로 이루어져 있습니다.





728x90
반응형