규제

· 인공지능
교차 검증 전체 데이터 세트의 샘플 개수가 많지 않을 때 검증 세트와 훈련 세트를 분리하여 사용하느라 훈련이 제대로 이루어지지 않을 결루도 있다. 이때, 교차 검증(cross validation)은 이런 경우에 사용하면 좋다. 교차 검증의 원리 교차 검증은 훈련 세트를 작은 덩어리로 나누어 다음과 같이 진행한다. 이때 훈련 세트를 나눈 작은 덩어리를 '폴드'라고 한다. 폴드를 1번씩 검증에 사용하며 훈련한다. 교차 검증 과정 훈련 세트를 k개의 폴드(fold)로 나눈다. 첫 번째 폴드를 검증 세트로 사용하고 나머지 폴드(k-1개)를 훈련 세트로 사용한다. 모델을 훈련한 다음에 검증 세트로 평가한다. 차례대로 다음 폴드를 검증 세트로 사용하여 반복한다. k개의 검증 세트로 k번 성능을 평가한 후 계산된 성..
· 인공지능
규제 적용 로지스틱 회귀에 규제를 적용해보자. 앞에서 만들어 놓은 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
'규제' 태그의 글 목록