화이트 모드로 보시길 권장합니다
이 글은 [핸즈온 머신러닝 2판] 시리즈로
Hands on Machine Learning with Scikit-Learn, Keras & TensorFlow을 통해 공부하는
머신러닝, 딥러닝에 대한 내용을 정리한 글이다.
머신러닝에 악영향을 끼치는 데이터
What is Main Task of Machine Learning?
머신러닝의 주요 작업은 ' 어떠한 데이터를 어떠한 학습 알고리즘에 훈련시킬 것인가? '이다.
나쁜 알고리즘과 나쁜 데이터가 머신러닝의 학습에 문제가 될 수 있다.
적은 양의 훈련 데이터
대부분의 머신러닝 알고리즘이 잘 작동하기 위해선 데이터가 많아야 한다.
데이터의 효과 :
Microsoft 연구자인 Michele Banko;미셸 반코, Eric Brill;에릭 브릴은 2001년 발표된 유명한 논문 ( https://homl.info/6 )에서 아주 간단한 모델을 포함한 여러 머신러닝 알고리즘에 충분한 데이터가 주어지면 복잡한 자연어 중의성 해소 문제를 거의 비슷하게 잘 처리한다는 것을 보였다.
위 결과는 시간과 돈을 알고리즘 개발에 쓰는것과 데이터셋 개발에 쓰는 것 사이의 trade-off 를 생각해 봐야 한다는 것을 알려준다.
2009년 Peter Norvig;피터 노르빅 등이 쓴 ' The Unreasonable Effectiveness if Data '를 통해 복잡한 문제에서 알고리즘보다 데이터가 더 중요하다는 생각이 더 유명해 졌지만, 작거나 중간 규모의 데이터셋이 매우 흔하고, 훈련 데이터를 추가로 모으는 것이 쉽거나 값싼 일은 아니기에 알고리즘을 무시하지는 말아야 한다.
( ' The Unreasonable Effectiveness if Data;데이터의 불합리한 효과성 '이란 논문에서는 복잡한 문제를 해결하기 위해선 좋은 알고리즘보다 더 많은 데이터가 중요하다는 것을 말하고 있다. )
대표성 없는 훈련 데이터
일반화가 잘 되기 위해선 일반화 하기를 원하는 사례를 훈련 데이터가 잘 대표하는 것이 중요하다.
( 사례기반, 모델 기반 학습에서도 마찬가지 이다. )
( ' 사례를 훈련 데이터가 잘 대표하는 것 '은 특정 상황, 집단, 문제의 특성 등을 전체적으로 잘 나타내는 것을 의미한다. )
샘플이 작을 경우 샘플링 잡음(Sampling Noise)가 생길 수 있고, 데이터가 크더라도 표본 추출 방식이 잘못될 경우 대표성이 없을 수 있는 샘플링 편향(Sampling Bias)이 생길 수 있다.
( 데이터셋은 데이터의 전체 집합, 즉 모집단을 뜻하며 샘플은 모집단에서 샘플링 과정을 통해 선택된 표본을 뜻한다. )
( 샘플링 잡음 : 선택된 특성이 모집단의 전체적인 특성을 반영하지 못하는 것. )
( 샘플링 편향 : 선택된 특성이 모집단의 특정 특성만 과도하게 선택되거나 소외되어 모집단의 실제 분포를 정확히 반영하지 못하는 것. )
낮은 품질의 데이터
훈련 데이터에 에러, 이상치, 잡음 등이 많아 머신러닝 시스템이 데이터셋의 패턴을 파악하기 힘들어 잘 작동하지 못하게 된다.
대부분의 Data Scientist는 데이터 정제에 많은 시간을 쓴다.
훈련 데이터의 정제가 필요한 경우 :
일부 샘플에 이상치가 명확하게 보이는 경우, 무시하거나 수동으로 고치는 것이 좋다.
일부 샘플에 특성에 대한 정보가 누락되어 있을 경우, 해당 특성을 모두 무시할지, 누락된 값을 채울지 결정해야 한다.
관련 없는 특성
훈련 데이터에 관련 없는 특성이 적고, 관련 있는 특성이 많아야 시스템이 학습할 수 있다.
머신러닝의 핵심 요소는 훈련에 사용할 좋은 모델을 찾는 것으로 이 과정을 특성 공학(Feature Engineering)이라 한다.
특성 공학 :
특성 선택(Feature Selection) : 가지고 있는 특성 중, 훈련에 가장 유용한 특성을 선택
특성 추출(Feature Extraction) : 특성을 결합해 더욱 유용한 특성을 만듦.
새로운 데이터 수집을 통해 새로운 특성 만듦
머신러닝에 악영향을 끼치는 알고리즘
훈련 데이터 과대적합
과대적합(Overfitting)이란 모델이 훈련 데이터에만 최적화 되어 일반성이 떨어진다는 뜻이다.
과대적합은 훈련 데이터에 있는 잡음의 양의 비해 모델이 복잡할 경우 일어난다.
심층 신경망과 같은 복잡한 모델은 데이터에서 미묘한 패턴을 찾을 수 있으나, 훈련세트가 낮은 품질의 데이터일 경우 잡음이 섞은 패턴을 감지하게 되며, 이러한 패턴은 새로운 샘플에 일반화 되지 못한다.
데이터에 완벽히 맞추는 것과 일반화를 위해 단순한 모델을 유지하는 것 사이의 올바른 균형을 찾는 것이 좋다.
과대적합 해결 방법 :
파라미터 수가 적은 모델 선택하거나 훈련 데이터에 있는 특성 수를 줄이거나, 모델에 제약을 가해 단순화 시킨다.
훈련 데이터를 더욱 모은다.
훈련 데이터의 잡음을 줄인다.
규제(패널티) :
모델을 단순하게 하고 과대적합이 일어나지 않도록 하기 위해 모델에 제약을 가하는 것.
학습을 하며 적용할 규제의 양은 하이퍼파라미터(Hyperparameter)가 결정한다.
하이퍼파이미터는 학습 알고리즘의 파라미터로, 학습 알고리즘으로부터 영향을 받지 않으며 훈련 전 미리 지정된다.
간단한 선형 모델 y = θ_{1}𝓍 + θ_{0}은 두 개의 파라미터 y절편 θ_{0}, 기울기 θ_{1}를 가지고 있으며, 각 파라미터는 학습 알고리즘을 통해 값이 변경되며 모델이 훈련 데이터에 맞춰지게 조정된다.
θ_{1}=0으로 규제를 가하게 될 경우 학습 알고리즘에는 θ_{0}만을 조정하는 자유도만 남게 되어, 훈련 데이터에 맞춰지도록 직선을 올리거나 내리기만 하는 간단한 모델(자유도 1 모델)이 된다.
θ_{1}의 수정을 허락하되 작은 값을 갖도록 규제를 가할 경우 학습 알고리즘이 θ_{1}, θ_{0} 두 개의 값을 조정하며 '자유도 1 모델' 보다는 복잡한 모델을 만들게 된다.
훈련 데이터 과소적합
과소적합(Underfitting)이란 모델이 너무 단순해 데이터의 패턴을 학습하지 못할 때 일어난다.
과소적합 해결 방법 :
모델 파라미터가 더 많은 복잡한 모델을 선택한다.
학습 알고리즘에 더 좋은 특성을 제공한다(특성 공학).
모델의 규제를 줄인다.
'핸즈온 머신러닝 > Machine Learning' 카테고리의 다른 글
[핸즈온 머신러닝] 머신러닝 테스트&검증 (2) | 2024.02.10 |
---|---|
[핸즈온 머신러닝] 머신러닝의 개념&종류 (0) | 2023.08.15 |