다른 Perceptron 구현을 약간 실험 해보고 "반복"을 올바르게 이해하고 있는지 확인하고 싶습니다.
로젠 블랏의 원래 퍼셉트론 규칙
내가 아는 한 Rosenblatt의 고전적인 퍼셉트론 알고리즘에서 가중치는 모든 훈련 예제를 통해 동시에 업데이트됩니다.
여기서 는 학습 규칙입니다. 목표와 실제는 모두 임계 값입니다 (-1 또는 1). 훈련 샘플을 1 반복 = 1 패스로 구현했지만 가중치 벡터는 각 훈련 샘플 후에 업데이트됩니다.
그리고 "실제"값을 다음과 같이 계산합니다.
확률 적 경사 하강
퍼셉트론 규칙과 동일하지만, target
및 actual
임계 된하지만 실제 값되지 않습니다. 또한 "반복"을 교육 샘플의 경로로 계산합니다.
SGD와 고전적인 퍼셉트론 규칙은이 선형 적으로 분리 가능한 경우에 수렴되지만, 기울기 하강 구현에 문제가 있습니다.
그라데이션 하강
여기서 나는 훈련 샘플을 살펴보고 훈련 샘플에 대한 1 패스의 무게 변화를 요약하고 그 후에 무게를 업데이트했습니다.
각 훈련 샘플에 대해 :
...
훈련 세트를 1 회 통과 한 후 :
이 가정이 올바른지 또는 뭔가 빠졌는지 궁금합니다. 나는 다양한 (최대 무한히) 학습 속도를 시도했지만 결코 수렴의 흔적을 보일 수 없었습니다. 그래서, 내가 sth를 오해했는지 궁금합니다. 여기.
감사합니다, 세바스찬