[ML 04-2] 확률적 경사 하강법
·
AI/혼공파 머신러닝+딥러닝
경사 하강법은 경사를 따라 내려가는 방법을 말한다. 그럼 확률적이란 말은 무슨 뜻일까? 훈련 셋을 사용해 모델을 훈련하기 때문에 경사 하강법도 당연히 훈련 세트를 사용하여 가장 가파른 길을 찾을 것이다. 그런데 전체 샘플을 사용하지 않고 딱 하나의 샘플을 훈련 세트에서 랜덤하게 골라 가장 가파른 길을 찾는 것이다. 그다음 훈련 세트에서 랜덤하게 또 다른 샘플을 하나 선택하여 경사를 조금 내려가고 이런 식으로 전체 샘플을 모두 사용할 때까지 반복한다. 이처럼 훈련 세트에서 랜덤하게 하나의 샘플을 고르는 것이 확률적 경사 하강법이다. 모든 샘플을 다 사용했는데도 다 못내려왔다면 어떻게 할까? 훈련 세트에 모든 샘플을 다시 채워 넣는다. 그다음 다시 랜덤하게 하나의 샘플을 선택해 이어서 경사를 내려간다. 이렇..
[ML] 미니 배치와 데이터 로드(Mini Batch and Data Load)
·
AI/ML
1. 미니 배치와 배치 크기(Mini Batch and Batch Size) 다중 선형 회귀에서 사용했던 데이터를 상기해봅시다. x_train = torch.FloatTensor([[73, 80, 75], [93, 88, 93], [89, 91, 90], [96, 98, 100], [73, 66, 70]]) y_train = torch.FloatTensor([[152], [185], [180], [196], [142]]) 위 데이터의 샘플의 개수는 5개입니다. 전체 데이터를 하나의 행렬로 선언하여 전체 데이터에 대해서 경사 하강법을 수행하여 학습할 수 있습니다. 그런데 위 데이터는 현업에서 다루게 되는 방대한 양의 데이터에 비하면 굉장히 적은 양입니다. 만약, 데이터가 수십만개 이상이라면 전체 데이터에 ..
doocong22
'minibatch' 태그의 글 목록