1부 딥러닝의 기초
4장 머신 러닝의 기본 요소
4.3 데이터 전처리, 특성 공학, 특성 학습
신경망을 위한 데이터 전처리
[목적]
주어진 원본 데이터를 신경망에 적용하기 쉽도록 만드는 것
[종류]
벡터화 / 정규화 / 누락된 값 다루기 / 특성 추출 등
벡터화
신경망에서 모든 입력과 타깃은 부동 소수 데이터로 이루어진 텐서여야 함.
사운드, 이미지, 텍스트 등 처리해야 할 것이 무엇이든지 먼저 텐서로 변환해야 함.
값 정규화
권장하는 정규화 방법
- 각 특성별로 평균이 0이 되도록 정규화
- 각 특성별로 표준 편차가 1이 되도록 정규화
일반적으로 비교적 큰 값이나 균일하지 않은 데이터를 신경망에 주입하는 것은 위험함.
이렇게 하면 업데이트할 그래디언트가 커져 네트워크가 수렴하는 것을 방해
네트워크를 쉽게 학습시키려면 데이터가 다음 특징을 따라야 함.
- 작은 값을 취하기
일반적으로 대부분의 값이 0~1 사이여야 함. - 균일한 데이터
모든 특성이 대체로 비슷한 범위를 가져야 함.
누락된 값 다루기
누락된 데이터가 0을 의미한다고 정의하고 학습하면 네트워크가 이 값을 무시할 것임.
하지만, 네트워크에 누락 데이터가 없는데 테스트 데이터에 있으면 누락된 값이 있는 훈련 샘플을 고의적으로 만들어야 함.
훈련 샘플의 일부를 여러 벌 복사해서 테스트 데이터에서 빠질 것 같은 특성을 제거함.
특성 공학
데이터와 머신 러닝 알고리즘(신경망)에 관한 지식을 사용하는 단계
특성을 더 간단한 방식으로 표현하여 문제를 쉽게 만들어 줌.
모델에 데이터를 주입하기 전에 (학습이 아닌) 하드코딩된 변환을 적용하여 알고리즘이 더 잘 수행되도록 만들어 줌.
최근 딥러닝은 대부분 특성 공학이 필요하지 않음.
신경망이 자동으로 원본 데이터에서 유용한 특성을 추출할 수 있기 때문
그래도 심층 신경망을 사용할 때 신경을 쓰는 것이 좋음.
- 좋은 특성은 적은 자원을 사용하여 문제를 더 멋지게 풀 수 있음.
- 좋은 특성은 더 적은 데이터로 문제를 풀 수 있음.
'MLOps 프로젝트 > 도서 '케라스 창시자에게 배우는 딥러닝'' 카테고리의 다른 글
1부 4.5 보편적인 머신 러닝 작업 흐름 (0) | 2021.09.01 |
---|---|
1부 4.4 과대적합과 과소적합 (0) | 2021.08.31 |
1부 4.2 머신 러닝 모델 평가 (0) | 2021.08.30 |
1부 4.1 머신 러닝의 네 가지 분류 (0) | 2021.08.30 |
1부 3.6 주택 가격 분류: 회귀 문제 (0) | 2021.08.29 |