1. 데이터 분석
2. 모델의 선택
3. 훈련데이터로 모델을 훈련, 비용함수를 최소화하는 모델 파라미터를 찾음
4. 새로운 데이터에 모델을 적용하고 추론
알고리즘 선택 전에 고민해야할 사항
데이터의 효과
https://dl.acm.org/doi/10.3115/1073012.1073017
충분한 데이터가 주어진다면 복잡한 자연어 중의성 해소 문제를 비슷하게 잘 처리함.
훈련이 잘된다는 것은
일반화를 잘해서 새로운 사례를 잘 예측하는 것.
즉 데이터는 예측하고자 하는 문제의 본질을 대표할 수 있어야함
예시로서 1인당 GDP와 국민의 행복도를 조사할 경우 대표성 없는 훈련 데이터를 사용한다면
매우 가난하거나, 부유한 나라에서 잘못 예측하는 모델을 훈련시키게 됨
샘플이 작으면 샘플링 잡음(우연에 의한 대표성 없는 데이터)가 생기고
샘플이 크더라도 표본 추출 방법이 잘못되면(샘플링 편향) 대표성을 띄기 어려움
유명한 샘플링 편향 사례
랜던과 루즈벨트가 경쟁했던 1936년 대통령 선거 여론조사.
1. 여론조사용 주소 샘플링을 할 때 공화당(랜던)에 투표할 가능성이 높은 부유 계층에 편중 되어있었음
2. 우편물 수신자 중 25% 미만의 사람이 응답. 이는 정치에 관심없거나 싫어하는 사람등의 주요 그룹을 제외
(비응답편향)
현실에서 낮은 품질의 데이터
데이터의 에러, 이상치, 잡음으로 가득하면 모델이 그 패턴을 찾기가 어려움
- 샘플의 이상치 여부가 명확하면 무시, 수정이 필요
- 데이터가 빠진 부분을 무시할지, 값을 채울지에 대한 요소 결정
쓰레기를 넣으면 쓰레기가 나온다
특성공학 -> 훈련에 사용할 좋은 특성을 찾는 것
- 특성 선택 : 가지고 있는 특성 중에서 훈련에 가장 유용한 특성을 선택
- 특성 추출 : 특성을 결합하여 더 유용한 특성을 만듦 ex) 차원축소 알고리즘
- 새로운 데이터 수집, 새 특성 만듦
과대 적합과 과소 적합
과대적합은 훈련 데이터에 있는 잡음의 양에 비해 모델이 너무 복잡할 때 일어남
- 파라미터 수가 적은 모델을 선택하거나(고차원 다항 모델 말고, 선형 모델) 훈련 데이터에 있는 특성 수를 줄이거나, 모델에 제약을 가해서 단순화
- 훈련 데이터를 더 많이 모음
- 훈련 데이터의 잡음을 줄임(오류 데이터 수정, 이상치 제거)
과소적합은 모델이 너무 단순해서 데이터의 내재된 구조를 학습하지 못할 때 일어남
- 모델 파라미터가 더 많은 강력한 모델을 선택
- 학습 알고리즘에 더 좋은 특성을 제공(특성 공학)
- 모델의 제약을 줄임(규제 하이퍼파라미터 감소)
테스트와 검증
실제 서비스에 앞서 테스트하기 위해 훈련 세트와 테스트 세트로 데이터를 나눔
보통 80%를 훈련, 20%를 테스트용으로 본리하지만 데이터의 크기에 따라 다를 수 있음
여기에서도 주의해야 할 점이, 테스트 데이터를 통해 지속적으로 테스트 할 경우 테스트 세트에
과적합 되는 현상이 발생할 수 있음
이를 해결하기 위해 훈련 세트에서 검증 세트를 구성하여 가장 높은 성능을 내는 모델을 통해
다시 전체 훈련 세트에서 훈련하여 최종 모델을 만듦
데이터 불일치
훈련 세트와 테스트 세트를 분리할 때에도 데이터가 현실의 데이터를 가장 잘 대표하는
형태로 분리가 된 상태에서 잘 섞여서 분리되어야 함
제대로 분리되지 않으면 모델의 문제인지, 데이터의 문제인지 알기가 어려움
공짜 점심 없음
어떤 데이터를 버리고 남길지에 대해 가정이 필요함
선형 모델은 데이터가 근본적으로 선형이고, 샘플과 직선 사이의 거리는 무시할 잡음이라 가정
데이터 셋에 따라 어떤 모델이 잘 맞을지 알 수 없기 때문에 어떤 모델이 최선인지 확실히 아는 유일한
방법은 모든 모델을 평가해야함
그러나 불가능하기 때문에 데이터로부터 타당한 가설을 설정하고 적절한 모델 몇가지에 대해 평가해야함
'23년 이전 글 > 머신러닝' 카테고리의 다른 글
지도 학습 알고리즘과 비지도 학습 알고리즘 (0) | 2022.01.05 |
---|