과대적합

· 인공지능
규제 적용 로지스틱 회귀에 규제를 적용해보자. 앞에서 만들어 놓은 SingleLayer 클래스에 L1 규제와 L2 규제를 적용하자. def __init__(self): self.w = None self.b = None self.losses = [] self.val_losses = [] self.w_history =[] self.lr = learning_rate self.l1 = l1 self.l2 = l2 l1, l2 변수를 만들었다. def fit(self, x, y, epochs=100, x_val=None, y_val=None): self.w = np.ones(x.shape[1])#가중치 초기화 self.b = 0#절편 초기화 self.w_history.append(self.w.copy())#가중치..
· 인공지능
규제 과대 적합을 해결하는 대표적인 방법 중 하나가 가중치 규제(regularization)이다. 가중치 규제란 말 그대로 가중치의 값이 커지지 않도록 제한하는 기법이다. 가중치를 규제하면 모델의 일반화 성능이 올라간다. 두 그래프 모두 점들을 잘 표현하고 있다. 그러면 둘 중 어떤 그래프의 성능이 더 좋을까?? 이 경우에서는 기울기가 완만한 그래프가 성능이 좋다. 박스 표시된 점까지 잘 표현하였기 때문이다. 몇 개의 데이터에 집착하면 새로운 데이터에 적응하지 못하므로 성능이 좋지 않다. 이럴 때 규제를 사용한다. 대표적인 규제 L1 규제와 L2 규제를 알아보자. L1 규제 손실 함수에 가중치의 절댓값인 L1 노름(norm)을 추가한다. w는 벡터를 의미한다. 로지스틱 손실 함수에 L1 규제를 적용해보자..
· 인공지능
학습 곡선 훈련 세트와 검증 세트의 정확도를 그래프로 표현한 것이다. 과대적합 과대적합이란 모델이 훈련 세트에서는 좋은 성능을 내지만 검증 세트에서는 낮은 성능을 내는 경우를 말한다. 첫 번째 그래프가 이에 해당한다. 이러한 모델을 '분산이 크다'라고도 말한다. 과대적합의 주요 원인 중 하나는 훈련 세트에 충분히 다양한 패턴의 샘플이 포함되지 않은 경우이다. 이런 경우네는 더 많은 훈련 샘플을 모아 검증 세트의 성능을 향상할 수 있다. 하지만, 불가능할 경우 모델이 훈련 세트에 집착하지 않도록 가중치를 제한하는 것이다. 이를 모델의 복잡도를 낮춘다고 표현한다. 과소적합 과소적합이란 모델이 훈련 세트와 검증 세트에서 측정한 성능이 가까워지지만 성능 자체가 낮은 경우를 말한다. 두 번째 그래프가 이에 해당한..
hvv_an
'과대적합' 태그의 글 목록