[혼자 공부하는 머신러닝 + 딥러닝] p.208~209 확률적 경사 하강법과 관련된 질문입니다

21 views
Skip to first unread message

BWYWB 00

unread,
Feb 5, 2021, 7:39:37 AM2/5/21
to 머신러닝/딥러닝 도서 Q&A
안녕하십니까, 박해선 저자님

덕분에 너무너무 쉽고 재미있게 공부하고 있습니다
감사합니다

4-2에서 가장 흥미로웠던 키워드는 점진적인 학습입니다.
매일 추가되는 새로운 데이터를 활용해 모델을 훈련한다는 것에 흥분했는데요
4-2장 끝까지 새로운 데이터를 활용하는 부분은 없어 조금 아쉬웠습니다

기존의 데이터로 훈련 된 모델에 새로운 데이터를 훈련시키는 방법이 궁금합니다

훈련세트와 테스트 세트의 점수가 어느정도 보장 된 모델에 partial_fit() 메서드를 통해서
새로운 데이터를 넘겨주면 되는것인지, 새로 넘겨주는 데이터의 특성 표준화는 어떤 값을
기준으로 해야하는지와 같은 부분이 궁금합니다!

감사합니다!

Haesun Park

unread,
Feb 5, 2021, 10:44:03 AM2/5/21
to BWYWB 00, 머신러닝/딥러닝 도서 Q&A
안녕하세요. 박해선입니다.
모델이 어느 정도 학습한 여부와 상관없이 partial_fit 메서드는 사용할 수 있습니다.
partial_fit 메서드에 새로운 데이터를 전달하여 훈련할 때 특성 표준화가 사실 까다롭습니다.
전체 데이터가 이미 준비되어 있어서 통곗값을 구할 수 있고 
훈련시에만 잘게 나누어 partial_fit 메서드를 호출할 수 있다면 다행입니다.
하지만 데이터가 너무 많거나 온라인 러닝에서처럼 훈련 데이터가 실시간으로 전달되는 경우도 있습니다.
만약 어떤 특성의 최대/최솟값을 대략 가늠할 수 있다면 MinMaxScaler를 사용할 수 있습니다.
(예를 들어 시험 점수나 온도 등은 특정 범위 안에서 움직일 가능성이 높습니다)
평균이나 분산을 구해야하는 StandardScaler라면 이전에 사용한 훈련 데이터의 통곗값을 기록하고 
나중에 새로 주입되는 훈련 데이터를 사용해 이 통곗값을 사용해 업데이트할 수 있습니다.
대표적으로는 Welford 알고리즘이 있습니다.
하지만 통곗값을 새로운 데이터로 업데이트하고 전처리에 사용할지
이전 통곗값으로 먼저 새로운 전처리한 후에 통곗값을 업데이트하는지는
명확하게 언급된 곳이 없는 것 같습니다. 결국 이리 저리 해 보는 수 밖에.. ㅎ

감사합니다!

2021년 2월 5일 (금) 오후 9:39, BWYWB 00 <bwy...@gmail.com>님이 작성:
--
이 메일은 Google 그룹스 '머신러닝/딥러닝 도서 Q&A' 그룹에 가입한 분들에게 전송되는 메시지입니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 ml-dl-book-qn...@googlegroups.com에 이메일을 보내세요.
웹에서 이 토론을 보려면 https://groups.google.com/d/msgid/ml-dl-book-qna/b68fda8a-705c-4af4-a317-42b7ad8d6e61n%40googlegroups.com을(를) 방문하세요.
Reply all
Reply to author
Forward
0 new messages