본문

핸즈온 머신러닝 5일차 "머신러닝의 주요 도전 과제"


1.4 머신러닝의 주요 도전 과제


1) 나쁜 데이터

1.4.1 충분하지 않은 양의 훈련 데이터

간단한 문제에서도 수천 개의 데이터가 필요(훈련 데이터를 추가로 모으는 것이 항상 쉽거나 저렴하지 않음)


1.4.2 대표성 없는 훈련 데이터

추가적인 데이터 샘플링 편향이 발생


1.4.3 낮은 품질의 데이터

특성이 빠져 있기도 함. 아예 무시할지, 빠진 값만 채울지 고려


1.4.4 관련 없는 특성

GIGO로 훈련에 사용할 좋은 특성을 찾는 것. 특성 공학

유용한 특성을 선택하고, 특성을 결합하여 더 유용한 특성, 새로운 데이터로 새 특성

2) 나쁜 알고리즘

1.4.5 훈련 데이터 과대적합

일반화 주의! 훈련 데이터에 더 잘 맞더라도 실제로 예측을 믿기는 어려움. 특성을 줄이거나, 모델에 제약, 파라미터 수가 적은 모델 적용 등

하이퍼파라미터는 학습 알고리즘의 파라미터로 훈련간 상수로 남아 영향을 줍니다.


1.4.6 훈련 데이터 과소적합

모델이 단순하여 내재된 구조를 학습하지 못할 때 발생.


1.5 테스트와 검증

훈련 세트와 테스트 세트로 나눕니다. (8:2)

새 샘플에 대한 오류 비율을 일반화 오차라고 하며, 테스트 세트에서 모델을 평가함으로써 이 오차에 대한 추정값을 얻습니다.

훈련 오차가 낮지만, 일반화 오차가 높으면 모델이 과대적합되었다는 뜻을 의미합니다.

실제 서비스에 적용하여도 예상만큼 좋지 않을 수 있습니다.

하이퍼파라미터를 테스트 세트에 최적화된 모델을 만들었기 때문입니다.

이러한 문제에 대해서는 검증세트라고 부르는 두번째 홀드아웃 세트를 만드는 것입니다.

(훈련 세트-> 검증 세트-> 테스트 세트 // 모델설정)

이 때 데이터를 효율적으로 사용하기 위해서 교차 검증 기법을 사용합니다.

w) 교차 검증 

(출처)https://datascienceschool.net/view-notebook

일반적으로 테스트 데이터가 별도로 존재하는 경우가 많지 않기 때문에 보통은 원래 트레이닝용으로 확보한 데이터 중 일부를 떼어내어 테스트 데이터로 사용하는 경우가 많다. 그런데 트레이닝이나 테스트 데이터를 어떻게 골라내느냐에 따라 모형의 성능이 조금씩 달라질 수 있으므로 한 세트의 트레이닝/테스트 데이터만 사용하는 것이 아니라 여러가지 서로 다른 트레니인/테스트 데이터를 사용하여 복수의 테스트를 실시한 후 이 성능 자료로 부터 평균 성능(mean performance)과 성능 분산(performance variance)를 모두 구하는 것이 좋다.

이러한 테스트 방법을 교차 검증(cross validation)이라고 한다.

스터디 중 필기한 내용으로 모든 참고자료는 핸즈온 머신러닝입니다.

아래 책을 클릭하시면 구매페이지로 이동합니다.


핸즈온 머신러닝


공감과 댓글은 글쓴이에게 큰 힘이 됩니다. 

마음에 드셨으면 공감과 댓글부탁드립니다.





댓글