더북(TheBook)

경사 하강법으로 아달린 학습 규칙을 구현했기 때문에 학습 알고리즘을 조금만 수정하면 확률적 경사 하강법으로 가중치를 업데이트할 수 있습니다. fit 메서드 안에서 각 훈련 샘플에 대해 가중치를 업데이트할 것입니다. 추가로 partial_fit 메서드도 구현하겠습니다. 이 메서드는 가중치를 다시 초기화하지 않아 온라인 학습에서 사용할 수 있습니다. 훈련 후에는 알고리즘이 수렴하는지 확인하려고 에포크마다 훈련 샘플의 평균 손실을 계산합니다. 손실 함수를 최적화할 때 반복적인 순환이 일어나지 않도록 매 에포크가 일어나기 전에 훈련 샘플을 섞는 옵션을 추가합니다. random_state 매개변수로는 재현 가능하도록 랜덤 시드를 지정할 수 있습니다.

class AdalineSGD:
    """ADAptive LInear NEuron 분류기

    매개변수
    ------------
    eta : float
      학습률 (0.0과 1.0 사이)
    n_iter : int
      훈련 데이터셋 반복 횟수
    shuffle : bool (default: True)
      True로 설정하면 같은 반복이 되지 않도록 에포크마다 훈련 데이터를 섞습니다
    random_state : int
      가중치 무작위 초기화를 위한 난수 생성기 시드
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.