[Machine Learning] Large Scale Machine Learning
Large Scale Data Machine Learning 이 블로그 내용은 개인적으로 재가 이해한 대로 작성한 내용 입니다. 잘못된 부분이 있으시면 댓글이나 메일 달아주시면 감사하겠습니다. 부탁드립니다. Learning with Large DataSets Stochastic Gradient Descent m(모델의 값)이 많아 졌을 경우 사용하는 방식으로 기존의 Batch Gradient Descent가 m이 있을 경우 1~m까지 순차적으로 돌았다고 한다면 Stochastic Gradient Descent는 기존의 방식과는 동일하고 // b_cost : 기존 Batch Gradient Descent 의 cost Function // s_cost : Stochastic Gradient Descent 의 cost Function s_cost = b_cost / 2 Shuffle한 데이터를 돌면서 세타값을 찾고, 기존의 cost Funtion / 2 를 한 함수를 cost Function으로 사용합니다. 이를 통해 데이터의 평준화??가 좀 더 진행 되어 1~10배 정도의 빠름을 가진다고 합니다. Mini-Batch Gradient Descent Stochastic Gradient Descent 의 경우 m을 그대로 두고 데이터의 평준화를 통해 Large Scale Data의 기계학습을 해결했다면 Mini-Batch의 경우 b라는 batch 인자를 두어 m을 그룹화 하여 m을 줄여 기계학습을 좀 더 빠르게 해결할수 있는 방법입니다. 방법은 기존에 100개의 m이 존재하고 b가 10일 경우 m 은 100/10 개가 존재하게 됩니다. 그리고 cost Function 에서 더해지는 값은 1~10 , 11 ~ 20 , 21~ 30 이런 식의 b 단위로 그룹 지어진 m (i)에 대한 cost Function을 사용해서 계산합니다. b의 값은 2 ~ 100 사이가 적당하다고 합니다. Stochastic Gradient Descent ...