모델선택의 기준
- 선형 : 데이터들의 경향이 일정한 형태
: y=wx+b
- 비선형 다항식 곡선모델의 사용
: 선형모델의 문제를 해결하기 위해 예외 값을 수용한 모델
: 수용된 횟수에 따라 n차 다항식이라함
: 수용횟수가 많을 수록 오차가 적으나, 새로운 데이터가 발생할 경우 오차발생
- 과소적합
: 학습데이터의 일부를 수용하지 못한 상태
- 과대적합
: 학습데이터에 없는 noise데이터까지 수용한 상태
ㆍ두 상태에 속하지 않는 모델이 좋은 모델
ㆍ가장 적절한 모델의 기준 = 편향과 분산
좋은 모델을 고르기 위한 방법
- 좋은 모델을 아는 경우 학습 데이터로 모델을 학습시키고 테스트 데이터로 일반화 능력을 측정
- 반대의 경우 여러 모델을 학습시킨 후 그중에서 일반화 능력(성능)이 가장 높은 모델을 선택
- 주로 검증 데이터셋을 활용하여 모델을 비교
모델선택하는 방법
1. 모델을 선택하고 학습데이터를 통해 학습
2. 검증 데이터셋으로 학습된 모델의 성능을 측정
3. 가장 높은 성능을 보인 모델을 선택
4. 테스트 데이터로 모델의 일반화능력(성능)을 측정
성능
편향과 분산
- 큰 편향 : 매번 큰 오차발생
- 작은 편향 : 매번 작은 오차 발생
- 높은 분산 : 매번 크게 다른 모델을 생성
- 낮은 분산 : 매번 비슷한 모델을 생성
- 용량이 작은 모델 : 큰 편향 낮은 분산 (매번 오차가 큰 모델)
- 복잡한 모델 : 작은 편향 높은 분산 (학습데이터에 대한 성능은 높으나, 테스트 데이터에 대한 성능이 낮은 모델)
일반화능력
- 머신러닝의 성능 척도
- 일반화 능력이 뛰어난 모델
: 작은 편향과 낮은 분산을 가진 모델
: 학습 데이터와 테스트 데이터에 대한 성능이 높은 모델
ㆍ테스트 데이터에 대해 높은 성능을 보이도록 적합을 많이 시키면 학습데이터에 대한 성능은 높게나오지만,
테스터 데이터에 대한 성능이 높지 않음
검증
교차검증
- 머신러닝을 위한 데이터의 종류
: 학습 데이터, 검증 데이터, 테스트 데이터
- k 교차검증 (데이터가 부족할때 검증데이터를 마련하기 위한 방법)
: 여러개의 모델을 서로 교차하면서 비교
규제
- 머신러닝이 높은 일반화 능력을 가지기 위한 방법
- 매끄러움(선형에 가까움)을 추구
- 주로 복잡도가 높은 모델(작은 편향, 높은 분산)에 각종 규제를 적용하여 일반화 성능 향상
(복잡도가 높은 모델은 크기가 큰 모델이기 때문에 규제를 통한 성능향상이 가능)
- 티호노프의 규제기법
: 매끄럽지 못할 경우(가중치가 커지는 경우 = 활성도가 높은 경우) 벌칙을 부여해 모델의 용량을 조절
규제의 종류
- 명시적 규제
: 가중치 벌칙 (가중치 감쇠, 규제항을 이용하여 가중치를 강제로 축소)
ㆍ규제항의 종류
ⓞ norm (두 벡터 사이의 거리를 측정하는 방법으로, 차수에 따라 L1 norm과 L2 norm으로 나뉨)
ⓞ L2 norm (가장 많이 사용되는 규제항)
(비용함수에 가중치의 제곱을 더하는 방법)
ⓞ L1 norm (비용함수의 기울기를 미분하여 가중치를 감쇠)
: 드롭아웃 (일정 비율의 노드를 제거)
ㆍ신경망에서 사용하는 기법
ㆍ입력층과 은닉층 노드중 일정 비율을 임의로 선택하여 제거하여 남아있는 부분 신경망으로만 학습을 진행
ㆍ많은 부분 신경망을 만드는 효과 + 1개의 신경망으로 테스트시에 앙상블 결합 효과
ㆍ장점
ⓞ voting (여러 부분 신경망들의 평균 값을 얻는 효과)
ⓞ co-adaptation (특정 데이터나 뉴런의 영향을 최소화)
- 암시적 규제
: 조기멈춤 (검증데이터의 오류가 최저인 지점을 만나면 멈춤)
: 데이터확대 (충분히 큰 데이터셋을 사용하기 위해 데이터를 인위적으로 변형하여 확대)
ㆍaffine (이동, 회전, 크기 변환) => 데이터 변형
ㆍmorphing (일련의 변황 영상을 생성) => ex) 구미호에서 사람으로 변할때 점진적인 이미지들을 생성
ㆍ자르기, 반전
ㆍPCA (색상변환)
ㆍnoise추가
: 앙상블 (여러개의 모델이 예측한 결과를 조합)
ㆍ서로 다른 여러개의 모델들을 결합하여 일반화 오류를 줄이는 기법
ㆍ여러개의 다른 구조의 신경망을 학습시켜 결합하거나
같은 구조인 신경망에 다른 초기값과 매개변수를 설정하고 학습시킨뒤 결합
ㆍBagging (학습데이터를 여러번 샘플링하여 k개의 서로 다른 집합을 구성하고 k개의 신경망 학습 후 voting)
ㆍboosting (i번째 예측기가 틀린 샘플을 i+1번째 예측기가 잘 인식하도록 연계성을 고려)
ⓞ adaboost알고리즘
ㆍvoting 방식을 통해 학습된 결과를 결합
'Computer Science > DeepLearning' 카테고리의 다른 글
인공지능 기초 8 - 머신러닝과 수학 2 (0) | 2020.12.10 |
---|---|
인공지능 기초 7 - 머신러닝과 수학 1 (0) | 2020.12.10 |
인공지능 기초 5 - 특징공간 (0) | 2020.12.10 |
인공지능 기초 4 - 신경망 (0) | 2020.12.10 |
인공지능 기초 3 - 퍼셉트론과 다층 퍼셉트론 (0) | 2020.12.10 |